Abstract
This paper presents a formalized loop parallelization algorithm for effectively extracting parallelism from data to be allocated to processors with array decomposition directives, in languages such as High Performance Fortran (HPF). We define a communication dependence vector that shows data dependence among processors, and use it in our algorithm to formalize and unify the detection of vector prefetch communication and vector pipeline communication for loop parallelization. The paper also presents a method, based on our algorithm for generating vector communications. We implemented the algorithm in our HPF compiler and carried out experiments with two applications on an IBM RS/6000 Scalable POWERparallel System.
Preview
Unable to display preview. Download preview PDF.
References
High Performance Fortran Forum, High Performance Fortran Language Specification, Version 1.0, Technical Report, Rice University, CRPC-TR92225, 1992
Darema F., George D., Norton V., and Pfister G.: A Single Program Multiple Data Computational Model for EPEX/FORTRAN, Parallel Computing, Vol. 7, pp. 11–24, 1988
C. W. Tseng: An Optimizing Fortran D Compiler for MIMD Distributed-Memory Machines, PhD thesis, Rice University, CRPC-TR93291, 1993
Stanford SUIF Compiler Group: SUIF: A Parallelizing and Optimizing Research Compiler, Technical Report, Stanford University, CSL-TR-94-620, 1994
H. P. Zima, H. J. Bast, and M. Gerndt: SUPERB: A Tool for Semiautomatic MIMD/SIMD Parallelization, Parallel Computing, Vol. 6, pp. 1–18, 1988
Z. Bozkus, A. Choudhary, G. Fox, T. Haupt, S. Ranka: Fortran90D/HPF Compiler for Distributed Memory MIMD Computers: Design, Implementation, and Performance Results, Proceedings of Supercomputing '93, pp. 351–360, 1993
P. Banerjee, J. A. Chandy, M. Gupta, J. G. Holm, A. Lain, D. J. Palermo, S. Ramaswamy: The PARADIGM Compiler for Distributed-Memory Message Passing Multicomputers, In Proceedings of the First International Workshop on Parallel Processing, pp. 322–330, 1994
S. Hiranandani, K. Kennedy, and C. W. Tseng: Compiling Fortran D for MIMD Distributed-Memory Machines, Communications of the ACM, Vol. 35, pp. 66–80, 1992
V. Balasundaram, G. Fox, K. Kennedy, and U. Kremer: An Interactive Environment for Data Partitioning and Distribution, In Proceedings of the 5th Distributed Memory Computing Conference, pp. 1160–1170, 1990
M. Gerndt: Updating Distributed Variables in Local Computations, Concurrency: Practice & Experience, Vol. 2, No. 3, pp. 171–193, 1990
A. Rogers and K. Pingali: Process Decomposition through Locality of Reference, Conference on Programming Language Design and Implementation, pp. 69–80, 1989
M. E. Wolfe and M. S. Lam: A Loop Transformation Theory and an Algorithm to Maximize Parallelism, IEEE Transactions on Parallel and Distributed Systems, Vol. 2, No. 4, pp. 452–471, 1991
G. Goff, K. Kennedy, and C. W. Tseng: Practical Dependence Testing, Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, pp. 15–29, 1991
M. J. Wolfe: Optimizing Supercompilers for Supercomputers, The MIT Press, 1989
D. Callahan and K. Kennedy: Compiling Programs for Distributed-Memory Multiprocessors, Journal of Supercomputing, Vol. 2, pp. 151–169, 1988
S. Hiranandani, K. Kennedy, and C. W. Tseng: Evaluating Compiler Optimizations for Fortran D, Journal of Parallel and Distributed Computing, Vol. 21, pp. 27–45, 1994
D. J. Palermo, E. Su, J. A. Chandy, P. Banerjee: Communication Optimizations used in the PARADIGM Compiler for Distributed-Memory Multicomputers, In Proceedings of the 23rd International Conference on Parallel Processing, pp. II:1–10, 1994
IBM AIX Parallel Environment — Parallel Programming Subroutine Reference Release 2.0, SH26-7228-01, IBM Corporation, 1994
IBM AIX Parallel Environment — Operation and Use Release 2.0, SH26-7230-01, IBM Corporation, 1994
R. K. Sato and P. N. Swarztrauber: BenchMarking the Connection Machine 2, Proceedings of Supercomputing '88, 1988
J. Li and M. Chen: Compiling Communication Efficient Programs for Massively Parallel Machines, IEEE Transactions on Parallel and Distributed Systems, Vol. 2, No. 3, pp. 361–376, 1991
Applied Parallel Research: xHPF: User's Guide (Version 2.0), 1995
T. Brandes: ADAPTOR Language Reference Manual Version 2.0, German National Research Center for Computer Science, 1994
S. P. Amarasinghe, J. M. Anderson, M. S. Lam, and A.W. Lim: An Overview of a Compiler for Scalable Parallel Machines, Proceedings of the 6th Workshop on Languages and Compilers for Parallel Computing, 1993
J. M. Anderson and M. S. Lam: Global Optimizations for Parallelism and Locality on Scalable Parallel Machines, Conference on Programming Language Design and Implementation, 1993
A. W. Lim and M. S. Lam: Communication-Free Parallelization via Affine Transformation, Proceedings of the 7th Workshop on Languages and Compilers for Parallel Computing, 1994
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ishizaki, K., Komatsu, H. (1996). A loop parallelization algorithm for HPF compilers. In: Huang, CH., Sadayappan, P., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1995. Lecture Notes in Computer Science, vol 1033. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0014199
Download citation
DOI: https://doi.org/10.1007/BFb0014199
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60765-6
Online ISBN: 978-3-540-49446-1
eBook Packages: Springer Book Archive