Skip to main content

Automatic restructuring of Fortran programs for parallel execution

  • Part III - Software And Languages
  • Conference paper
  • First Online:
Parallel Computing in Science and Engineering (DFVLR-Seminar 1987)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 295))

Included in the following conference series:

Abstract

With the widespread of high performance parallel processor computers, the need for powerful restructuring compilers and software environments for program development has become more pressing than ever before. In this paper we discuss the usefulness of automatic program restructuring, and present some well-known and some new program transformations that can be used to extract parallelism out of serial Fortran programs. Additional functions that could be carried out by a compiler are also discussed.

This work was supported in part by the National Science Foundation under Grant No. NSF DCR84-10110 and NSF DCR84-06916, the U.S. Department of Energy under Grant No. DOE DE-FG02-85ER25001, and the IBM Donation.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

8. References

  1. A.V. Aho, R. Sethi, and J.D. Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, Reading, Massachusetts, 1986.

    Google Scholar 

  2. F.E. Allen and J. Cocke, “A Catalogue of Optimizing Transformations,” Design and Optimization of Compilers, R. Rustin, Ed. Prentice-Hall, Englewood Cliffs, N.J., 1972, pp. 1–30.

    Google Scholar 

  3. F.E. Allen, J.L. Carter, J. Fabri, J. Ferrante, W.H. Harrison, P.G. Loewner, and L.H. Trevillyan, “The Experimental Compiling System,” IBM J. Res. Dev. 24, 6, November 1980, pp. 695–715.

    Google Scholar 

  4. J.R. Allen and K. Kennedy, “PFC: A Program to Convert Fortran to Parallel Form,” Techn. Rept. MASC-TR82-6, Rice University, Houston, Texas, March 1982.

    Google Scholar 

  5. Alliant Computer Systems Corp., “FX/Series Architecture Manual,” Acton, Massachusetts, 1985

    Google Scholar 

  6. American National Standards Institute, American National Standard for Information Systems. Programming Language Fortran S8 (X3.9-198x). Revision of X3.9-1978, Draft S8, Version 99, ANSI, New York, April 1986.

    Google Scholar 

  7. U. Banerjee, “Speedup of Ordinary Programs,” Ph.D. Thesis, University of Illinois at Urbana-Champaign, DCS Report No. UIUCDCS-R-79-989, October 1979.

    Google Scholar 

  8. B. Brode, “Precompilation of Fortran Programs to Facilitate Array Processing,” Computer 14, 9, September 1981, pp. 46–51.

    Google Scholar 

  9. S. Chen, “Large-scale and High-speed Multiprocessor System for Scientific Applications — Cray-X-MP-2 Series,” Proc. of NATO Advanced Research Workshop on High Speed Computing, Kawalik (Editor), pp. 59–67, June 1983.

    Google Scholar 

  10. “Multitasking User Guide,” Cray Computer Systems Technical Note, SN-0222, January, 1985.

    Google Scholar 

  11. R.G. Cytron, “Doacross: Beyond Vectorization for Multiprocessors (Extended Abstract),” Proceedings of the 1986 International Conference on Parallel Processing, St. Charles, IL, pp. 836–844, August, 1986.

    Google Scholar 

  12. J. Davies, C. Huson, T. Macke, B. Leasure, and M. Wolfe, “The KAP/205: An Advanced Source-to-Source Vectorizer for the Cyber 205 Supercomputer,” Proceedings of the 1986 International Conference on Parallel Processing, St. Charles, Illinois, August, 1986.

    Google Scholar 

  13. J. R. Beckman Davies, “Parallel Loop Constructs for Multiprocessors,” M.S. Thesis, University of Illinois at Urbana-Champaign, DCS Report No. UIUCDCS-R-81-1070, May, 1981.

    Google Scholar 

  14. J. J. Dongarra, “Comparison of the CRAY X-MP-4, Fujitsu VP-200, and Hitachi S-810/20: An Argonne Perspective,” Argonne National Laboratory, ANL-85-19, October, 1985.

    Google Scholar 

  15. K. Kennedy, “Automatic Vectorization of Fortran Programs to Vector Form,” Technical Report, Rice University, Houston, TX, October, 1980.

    Google Scholar 

  16. D.J. Kuck, R.H. Kuhn, B. Leasure, and M. Wolfe, “The Structure of an Advanced Vectorizer for Pipelined Processors,” Fourth International Computer Software and Applications Conference, October, 1980.

    Google Scholar 

  17. D.J. Kuck, R. Kuhn, D. Padua, B. Leasure, and M. Wolfe, “Dependence Graphs and Compiler Optimizations,” Proceedings of the 8-th ACM Symposium on Principles of Programming Languages, pp. 207–218, January 1981.

    Google Scholar 

  18. D. J. Kuck, E. S. Davidson, D. H. Lawrie, and A.H. Sameh, “Parallel Supercomputing Today and the Cedar Approach,” Science 231, 4740 February 28, 1986, pp. 967–974.

    Google Scholar 

  19. D.J. Kuck, The Structure of Computers and Computations, Volume 1, John Wiley and Sons, New York, 1978.

    Google Scholar 

  20. D.J. Kuck et. al., “The Effects of Program Restructuring, Algorithm Change and Architecture Choice on Program Performance,” International Conference on Parallel Processing, August, 1984.

    Google Scholar 

  21. P. Mehrotra and J. Van Rosendale, “The Blaze Language: A Parallel Language for Scientific Programming,” Rep. 85-29, Institute for Computer Applications in Science and Engineering, NASA Langley Research Center, Hampton, Va., May 1985.

    Google Scholar 

  22. K. Miura and K. Uchida, “Facom Vector Processor VP-100/VP-200,” High Speed Computation, NATO ASI Series, Vol. F7, J.S. Kowalik Ed., Springer-Verlag, New York, 1984.

    Google Scholar 

  23. S. Nagashima, Y. Inagami, T. Odaka, and S. Kawabe, “Design Consideration for a High-Speed Vector Processor: The Hitachi S-810,” Proceedings of the IEEE International Conference on Computer Design: VLSI in Computers, ICCD 84, IEEE Press, New York, 1984.

    Google Scholar 

  24. D.A. Padua Haiek, “Multiprocessors: Discussions of Some Theoretical and Practical Problems,” Ph.D. Thesis, University of Illinois at Urbana-Champaign, DCS Report No. UIUCDCS-R-79-990, November 1979.

    Google Scholar 

  25. D.A. Padua, and M. Wolfe, “Advanced Compiler Optimizations for Supercomputers,” Communications of the ACM, Vol. 29, No. 12, pp. 1184–1201, December 1986.

    Google Scholar 

  26. C. D. Polychronopoulos and U. Banerjee, “Processor Allocation for Horizontal and Vertical Parallelism and Related Speedup Bounds,” IEEE Transactions on Computers, Special Issue on Parallel and Distributed Computing, Vol. C-36, No. 4 April, 1987.

    Google Scholar 

  27. C. D. Polychronopoulos and D. J. Kuck, “Guided Self-Scheduling: A Practical Scheduling Scheme for Parallel Supercomputers,” to appear IEEE Transactions on Computers, Special Issue on Supercomputing, December, 1987.

    Google Scholar 

  28. C. D. Polychronopoulos, “On Advanced Compiler Optimizations for Parallel Computers,” Proceedings of the International Conference on Supercomputing, (Athens, Greece, June 8–12, 1987), E. Houstis, T. Papatheodorou, and C.D. Polychronopoulos Ed., Springer-Verlag, New York, 1987.

    Google Scholar 

  29. C. D. Polychronopoulos, “Loop Coalescing: A Compiler Transformation for Parallel Machines,” Proceedings of the 1987 International Conference on Parallel Processing, St. Charles, Illinois, August, 1987.

    Google Scholar 

  30. M. J. Wolfe, “Optimizing Supercompilers for Supercomputers,” Ph.D. Thesis, University of Illinois at Urbana-Champaign, DCS Report No. UIUCCDCS-R-82-1105, 1982.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Rüdiger Dierstein Dieter Müller-Wichards Hans-Martin Wacker

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Polychronopoulos, C.D. (1988). Automatic restructuring of Fortran programs for parallel execution. In: Dierstein, R., Müller-Wichards, D., Wacker, HM. (eds) Parallel Computing in Science and Engineering. DFVLR-Seminar 1987. Lecture Notes in Computer Science, vol 295. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18923-8_17

Download citation

  • DOI: https://doi.org/10.1007/3-540-18923-8_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-18923-7

  • Online ISBN: 978-3-540-38848-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics