Skip to main content

Incremental generation of index sets for array statement execution on distributed-memory machines

  • How to Communicate Better
  • Conference paper
  • First Online:

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

Abstract

In compiling array statements for distributed-memory machines, efficient generation of local index sets and communication sets is important. Several techniques for enumerating these sets for block-cyclically distributed arrays have been presented in the literature. When sufficient compile-time information is not available, generation of the structures which facilitate efficient enumeration of these sets, is performed at run-time. In this paper, we address the incremental generation of local index sets and communication sets to reduce the runtime cost of array statement execution. We develop techniques for performing the incremental generation using the virtual processor approach for execution of array statements involving block-cyclically distributed arrays.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. F. Bodin, P. Beckman, D. Gannon, S. Yang, S. Kesavan, A. Malony, and B. Mohr. Implementing a parallel C++ runtime system for scalable parallel systems. In Supercomputing '93, pages 588–597, 1993.

    Google Scholar 

  2. D. Burton. Elementary Number Theory. Allyn and Bacon, Inc, Boston, revised printing edition, 1984.

    Google Scholar 

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

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

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

    Google Scholar 

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

  7. S. K. S. Gupta, S. D. Kaushik, C.-H. Huang, and P. Sadayappan. On compiling array expressions for efficient execution on distributed-memory machines. Technical Report OSU-CISRC-4/9-TR19, Department of Computer and Information Science, The Ohio State University., April 1994.

    Google Scholar 

  8. S. K. S. Gupta, S. D. Kaushik, S. Mufti, S. Sharma, C.-H. Huang, and P. Sadayappan. On compiling array expressions for efficient execution on distributed-memory machines. In Proc. of Intl. Conf. on Parallel Processing, volume II, pages 301–305, 1993.

    Google Scholar 

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

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

    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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Keshav Pingali Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kaushik, S.D., Huang, C.H., Sadayappan, P. (1995). Incremental generation of index sets for array statement execution on distributed-memory machines. In: Pingali, K., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1994. Lecture Notes in Computer Science, vol 892. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0025883

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58868-9

  • Online ISBN: 978-3-540-49134-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics