Abstract
There have been major efforts in developing programming language and compiler support for distributed memory parallel machines. On these machines, large data arrays are typically partitioned among the local memories of individual processors. Languages supporting such distributed arrays include Fortran D [11, 19], Vienna Fortran [6, 32], and High Performance Fortran (HPF) [21]. Many compilers for these HPF-like languages produce Single Program Multiple Data (SPMD) code, combining sequential code for operating on each processor’s data with calls to message-passing or runtime communication primitives for sharing data with other processors.
An extended version of this paper has been submitted to IEEE Transactions on Computers.
This research was supported by ARPA under contract No. NAG-1-1485 and NSF under contract Nos. ASC 9213821 and ASC-9624987. Springer-Verlag Berlin Heidelberg 2001
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986.
B. Alpern, M. N. Wegman, and F. K. Zadeck. Detecting equality of variables in programs. In Proceedings of the Fifteenth Annual ACM Symposium on the Principles of Programming Languages, pages 1–11, San Diego, CA, January 1988.
M.J. Berger and S. H. Bokhari. A partitioning strategy for nonuniform problems on multiprocessors. IEEE Transactions on Computers, C-36(5):570–580, May 1987.
B. R. Brooks, R. E. Bruccoleri, B. D. Olafson, D. J. States, S. Swaminathan, and M. Karplus. CHARMM: A program for macromolecular energy, minimization, and dynamics calculations. Journal of Computational Chemistry, 4:187, 1983.
B. R. Brooks and M. Hodoscek. Parallelization of CHARMM for MIMD machines. Chemical Design Automation News, 7:16, 1992.
B. Chapman, P. Mehrotra, and H. Zima. Programming in Vienna Fortran. Scientific Programming, 1(1):31–50, Fall 1992.
Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman, and F. Kenneth Zadeck. Efficiently computing static single assignment form and the control dependence graph. ACM Transactions on Programming Languages and Systems, 13(4):451–490, October 1991.
R. Das, D. J. Mavriplis, J. Saltz, S. Gupta, and R. Ponnusamy. The design and implementation of a parallel unstructured Euler solver using software primitives. AIAA Journal, 32(3):489–496, March 1994.
R. Das and J. Saltz. Parallelizing molecular dynamics codes using the Parti software primitives. In Proceedings of the Sixth SIAM Conference on Parallel Processing for Scientific Computing, pages 187–192. SIAM, March 1993.
Raja Das, Mustafa Uysal, Joel Saltz, and Yuan-Shin Hwang. Communication optimizations for irregular scientific computations on distributed memory architectures. Journal of Parallel and Distributed Computing, 22(3):462–479, September 1994.
Geoffrey Fox, Seema Hiranandani, Ken Kennedy, Charles Koelbel, Uli Kremer, Chau-Wen Tseng, and Min-You Wu. Fortran D language specification. Technical Report CRPC-TR90079, Center for Research on Parallel Computation, Rice University, December 1990.
Reinhard v. Hanxleden. Handling irregular problems with Fortran D-a preliminary report. In Proceedings of the Fourth Workshop on Compilers for Parallel Computers, Delft, The Netherlands, December 1993. Also available as CRPC Technical Report CRPC-TR93339-S.
Reinhard von Hanxleden, Ken Kennedy, Charles Koelbel, Raja Das, and Joel Saltz. Compiler analysis for irregular problems in Fortran D. Technical Report 92-22, ICASE, NASA Langley Research Center, June 1992.
R.V. Hanxleden, K. Kennedy, and J. Saltz. Value-based distributions and alignments in Fortran D. Journal of Programming Languages, 2(3):259–282, September 1994.
Paul Havlak. Interprocedural Symbolic Analysis. PhD thesis, Rice University, Houston, TX, May 1994.
S. Hiranandani, K. Kennedy, and C. Tseng. Evaluation of compiler optimizations for Fortran D on MIMD distributed-memory machines. In Proceedings of the 1992 International Conference on Supercomputing. ACM Press, July 1992.
S. Hiranandani, K. Kennedy, and C. W. Tseng. Compiler optimizations for Fortran D on MIMD distributed memory machines. In Supercomputing’ 91, Albuquerque, NM, November 1991.
Seema Hiranandani, Ken Kennedy, and Chau-Wen Tseng. Compiler optimizations for Fortran D on MIMD distributed-memory machines. In Proceedings Supercomputing’ 91, pages 86–100. IEEE Computer Society Press, November 1991.
Seema Hiranandani, Ken Kennedy, and Chau-Wen Tseng. Compiling Fortran D for MIMD distributed-memory machines. Communications of the ACM, 35(8):66–80, August 1992.
Yuan-Shin Hwang, Bongki Moon, Shamik D. Sharma, Ravi Ponnusamy, Raja Das, and Joel H. Saltz. Runtime and language support for compiling adaptive irregular programs. Software-Practice and Experience, 25(6):597–621, June 1995.
C. Koelbel, D. Loveman, R. Schreiber, G. Steele, Jr., and M. Zosel. The High Performance Fortran Handbook. MIT Press, 1994.
T. Lengauer and R. E. Tarjan. A fast algorithm for finding dominators in a flowgraph. ACM Transactions on Programming Languages and Systems, 1:121–141, 1979.
D. J. Mavriplis. Three dimensional multigrid for the Euler equations. AIAA paper 91-1549CP, pages 824–831, June 1991.
R. Mirchandaney, J. H. Saltz, R. M. Smith, D. M. Nicol, and Kay Crowley. Principles of runtime support for parallel processors. In Proceedings of the 1988 ACM International Conference on Supercomputing, pages 140–152, July 1988.
B. Nour-Omid, A. Raefsky, and G. Lyzenga. Solving finite element equations on concurrent computers. In Proc. of Symposium on Parallel Computations and theis Impact on Mechanics, Boston, December 1987.
R. Ponnusamy, J. Saltz, A. Choudhary, Y.-S. Hwang, and G. Fox. Runtime support and compilation methods for user-specified irregular data distributions. IEEE Transactions on Parallel and Distributed Systems, 6(8):815–831, August 1995.
A. Rogers and K. Pingali. Compiling for distributed memory architectures. IEEE Transactions on Parallel and Distributed Systems, 5(3):281–298, March 1994.
Shamik D. Sharma, Ravi Ponnusamy, Bongki Moon, Yuan-Shin Hwang, Raja Das, and Joel Saltz. Run-time and compile-time support for adaptive irregular problems. In Proceedings Supercomputing’ 94, pages 97–106. IEEE Computer Society Press, November 1994.
G. A. Venkatesh. The semantic approach to program slicing. In Proceedings of the SIGPLAN’ 91 Conference on Programming Language Design and Implementation, pages 107–119, June 1991.
M. Weiser. Program slicing. IEEE Transactions on Software Engineering, SE-10(4):352–357, July 1984.
Janet Wu, Raja Das, Joel Saltz, Harry Berryman, and Seema Hiranandani. Distributed memory compiler design for sparse problems. IEEE Transactions on Computers, 44(6):737–753, June 1995.
H. Zima, P. Brezany, B. Chapman, P. Mehrotra, and A. Schwald. Vienna Fortran — a language specification, version 1.1. Interim Report 21, ICASE, NASA Langley Research Center, March 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Das, R., Hwang, YS., Saltz, J., Sussman, A. (2001). Runtime and Compiler Support for Irregular Computations. In: Pande, S., Agrawal, D.P. (eds) Compiler Optimizations for Scalable Parallel Systems. Lecture Notes in Computer Science, vol 1808. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45403-9_21
Download citation
DOI: https://doi.org/10.1007/3-540-45403-9_21
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41945-7
Online ISBN: 978-3-540-45403-8
eBook Packages: Springer Book Archive