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.
Preview
Unable to display preview. Download preview PDF.
8. References
A.V. Aho, R. Sethi, and J.D. Ullman, Compilers: Principles, Techniques, and Tools, Addison-Wesley, Reading, Massachusetts, 1986.
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.
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.
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.
Alliant Computer Systems Corp., “FX/Series Architecture Manual,” Acton, Massachusetts, 1985
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.
U. Banerjee, “Speedup of Ordinary Programs,” Ph.D. Thesis, University of Illinois at Urbana-Champaign, DCS Report No. UIUCDCS-R-79-989, October 1979.
B. Brode, “Precompilation of Fortran Programs to Facilitate Array Processing,” Computer 14, 9, September 1981, pp. 46–51.
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.
“Multitasking User Guide,” Cray Computer Systems Technical Note, SN-0222, January, 1985.
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.
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.
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.
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.
K. Kennedy, “Automatic Vectorization of Fortran Programs to Vector Form,” Technical Report, Rice University, Houston, TX, October, 1980.
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.
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.
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.
D.J. Kuck, The Structure of Computers and Computations, Volume 1, John Wiley and Sons, New York, 1978.
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.
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.
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.
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.
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.
D.A. Padua, and M. Wolfe, “Advanced Compiler Optimizations for Supercomputers,” Communications of the ACM, Vol. 29, No. 12, pp. 1184–1201, December 1986.
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.
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.
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.
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.
M. J. Wolfe, “Optimizing Supercompilers for Supercomputers,” Ph.D. Thesis, University of Illinois at Urbana-Champaign, DCS Report No. UIUCCDCS-R-82-1105, 1982.
Author information
Authors and Affiliations
Editor information
Rights 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