Skip to main content

Runtime and Compiler Support for Irregular Computations

  • Chapter
  • First Online:
  • 480 Accesses

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

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools. Addison-Wesley, 1986.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Article  Google Scholar 

  4. 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.

    Article  Google Scholar 

  5. B. R. Brooks and M. Hodoscek. Parallelization of CHARMM for MIMD machines. Chemical Design Automation News, 7:16, 1992.

    Google Scholar 

  6. B. Chapman, P. Mehrotra, and H. Zima. Programming in Vienna Fortran. Scientific Programming, 1(1):31–50, Fall 1992.

    Google Scholar 

  7. 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.

    Article  Google Scholar 

  8. 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.

    Article  MATH  Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Article  Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. Paul Havlak. Interprocedural Symbolic Analysis. PhD thesis, Rice University, Houston, TX, May 1994.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. 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.

    Article  Google Scholar 

  20. 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.

    Article  Google Scholar 

  21. C. Koelbel, D. Loveman, R. Schreiber, G. Steele, Jr., and M. Zosel. The High Performance Fortran Handbook. MIT Press, 1994.

    Google Scholar 

  22. 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.

    Article  MATH  Google Scholar 

  23. D. J. Mavriplis. Three dimensional multigrid for the Euler equations. AIAA paper 91-1549CP, pages 824–831, June 1991.

    Google Scholar 

  24. 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.

    Google Scholar 

  25. 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.

    Google Scholar 

  26. 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.

    Article  Google Scholar 

  27. A. Rogers and K. Pingali. Compiling for distributed memory architectures. IEEE Transactions on Parallel and Distributed Systems, 5(3):281–298, March 1994.

    Article  Google Scholar 

  28. 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.

    Google Scholar 

  29. 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.

    Google Scholar 

  30. M. Weiser. Program slicing. IEEE Transactions on Software Engineering, SE-10(4):352–357, July 1984.

    Article  Google Scholar 

  31. 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.

    Article  MATH  Google Scholar 

  32. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics