Skip to main content

Compiling array statements for efficient execution on distributed-memory machines: Two-level mappings

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1995)

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

Abstract

In languages such as High Performance Fortran (HPF), array statements are used for expressing data parallelism. In compiling array statements for distributed-memory machines, efficient enumeration of local index sets and communication sets is important. The virtual processor approach, among several other methods, has been proposed for efficient enumeration of these index sets. In this paper, using simple mathematical properties of regular sections, we extend the virtual processor approach to address the memory allocation and index set enumeration problems for array statements involving arrays mapped using the two-level mapping supported by HPF. Performance results on the Cray T3D are presented to demonstrate the efficacy of the extensions and identify various tradeoffs associated with the proposed method.

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.

References

  1. B. M. Chapman, P. Mehrotra, and H. P. Zima. Vienna Fortran — a Fortran language extension for distributed memory multiprocessors. In J. Saltz and P. Mehrotra, editors, Language, Compilers and Runtime Environments for Distributed Memory Machines, pages 39–62. 1992.

    Google Scholar 

  2. S. Chatterjee, J. R. Gilbert, F. J. E. Long, R. Schreiber, and S.-H. Teng. Generating local addresses and communication sets for data parallel programs. In Proc. of ACM Symposium on Principles and Practices of Parallel Programming, pages 149–158, May 1993.

    Google Scholar 

  3. High Performance Fortran Forum. High Performance Fortran language specification version 1.0. Technical Report CRPC-TR92225, Rice University, May 1993.

    Google Scholar 

  4. G. Fox, S. Hiranandani, K. Kennedy, C. Koelbel, U. Kremer, C.-W. Tseng, and M. Wu. Fortran-D language specification. Technical Report TR-91-170, Dept. of Computer Science, Rice University, Dec. 1991.

    Google Scholar 

  5. S. K. S. Gupta, S. D. Kaushik, C.-H. Huang, and P. Sadayappan. On compiling array expressions for efficient execution on distributed-memory machines. Journal of Parallel and Distributed Computing, 1995. To appear.

    Google Scholar 

  6. S. Hiranandani, K. Kennedy, J. Mellor-Crummey, and A. Sethi. Advanced compilation techniques for Fortran D. Technical Report CRPC-TR-93-338, Center for Research on Parallel Computation, Rice University, Oct. 1993.

    Google Scholar 

  7. S. D. Kaushik. Compile-Time and Run-Time Strategies for Array Statement Execution on Distributed-Memory Machines. PhD thesis, Department of Computer and Information Science, The Ohio State University, Mar. 1995.

    Google Scholar 

  8. K. Kennedy, N. Nedeljkovic', and A. Sethi. A linear-time algorithm for computing the memory access sequence in data-parallel programs. Technical Report CRPC-TR94485-S, Center for Research on Parallel Computation, Rice University, Oct. 1994.

    Google Scholar 

  9. C. Koelbel. Compile-time generation of communication for scientific programs. In Proc. of Supercomputing '91, pages 101–110, Nov. 1991.

    Google Scholar 

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

    Google Scholar 

  11. J. M. Stichnoth. Efficient compilation of array statements for private memory multicomputers. Technical Report CMU-CS-93-109, School of Computer Science, Carnegie Mellon University, Feb. 1993.

    Google Scholar 

  12. A. Thirumalai and J. Ramanujam. Code generation and optimization for array statments in HPF. Technical Report TR-94-12-02, Dept. of Electrical and Computer Engineering, Louisiana State University, 1994.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Chua-Huang Huang Ponnuswamy Sadayappan Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kaushik, S.D., Huang, C.H., Sadayappan, P. (1996). Compiling array statements for efficient execution on distributed-memory machines: Two-level mappings. 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/BFb0014201

Download citation

  • DOI: https://doi.org/10.1007/BFb0014201

  • 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

Publish with us

Policies and ethics