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

  • S. D. Kaushik
  • C. -H. Huang
  • P. Sadayappan
How to Communicate Better
Part of the Lecture Notes in Computer Science book series (LNCS, volume 892)


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.


Array statements Distributed-memory machine High Performance Fortran Data distribution Data communication 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 2.
    D. Burton. Elementary Number Theory. Allyn and Bacon, Inc, Boston, revised printing edition, 1984.Google Scholar
  3. 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. 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. 5.
    High Performance Fortran Forum. High Performance Fortran langauge specification version 1.0. Technical Report CRPC-TR92225, Rice University, May 1993.Google Scholar
  6. 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. 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. 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. 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. 10.
    C. Koelbel. Compile-time generation of communication for scientific programs. In Supercomputing '91, pages 101–110, Nov. 1991.Google Scholar
  11. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • S. D. Kaushik
    • 1
  • C. -H. Huang
    • 1
  • P. Sadayappan
    • 1
  1. 1.Department of Computer and Information ScienceThe Ohio State UniversityColumbus

Personalised recommendations