Skip to main content

Detecting and using affinity in an automatic data distribution tool

  • Getting Your Ducks in a Row: Alignment and Distribution
  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1994)

Abstract

This paper describes some aspects of the implementation of our Data Distribution Tool (DDT), which accepts programs written in Fortran77 and obtains alignment and distribution HPF directives for the arrays used in the program. In particular, we describe the phases of the tool which analyze reference patterns in loops, record preferences for alignment and obtain the alignment functions. These functions are static in the sense that they do not change within the scope of the code analyzed (routine or loop). We propose the use of a set of well-known techniques to extend the scope of the reference pattern analysis and we evaluate their effectiveness in a set of programs from the Perfect Club and SPEC benchmarks.

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. M. Gupta. Automatic Data Partitioning on Distributed Memory Multicomputers. PhD thesis, Center for Reliable and High-Performance Computing, University of Illinois at Urbana-Champaign, 1992.

    Google Scholar 

  2. M. Gupta, S. Midkiff, E. Schonberg, P. Sweeney, K.Y. Wang, and K. Burke. PTRAN II — a compiler for High Performance Fortran. In 4th Workshop on Compilers for Parallel Computers, December 1993.

    Google Scholar 

  3. P. Crooks and R.H. Perrot. An antomatic data distribution generator for distributed memory MIMD machines. In 4th Workshop on Compilers for Parallel Computers, December 1993.

    Google Scholar 

  4. High Performance Fortran Forum. High Performance Fortran language specification, version 1.0. Scientific Programming, 2(1–2), 1993.

    Google Scholar 

  5. B. Chapman, T. Fahringer, and H. Zima. Automatic support for data distribution on distributed memory multiprocessor systems. In 6th Workshop on Languages and Compilers for Parallel Computing, August 1993.

    Google Scholar 

  6. S. Hiranandani, K. Kennedy, and C. Tseng. Compiling Fortran-D for MIMD distributed-memory machines. Communications of the ACM, 35(8), August 1992.

    Google Scholar 

  7. J. Li and M. Chen. Index domain alignment: Minimizing cost of cross-referencing between distributed arrays. In Frontiers90: 3rd Symposium on the Frontiers of Massively Parallel Computation, October 1990.

    Google Scholar 

  8. J. Li and M. Chen. Compiling communication-efficient programs for massively parallel machines. IEEE Trans. on Parallel and Distributed Systems, 2(3), July 1991.

    Google Scholar 

  9. K. Kennedy, K. McKinley, and C-W. Tseng. Interactive parallel programming using the ParaScope editor. Technical Report CRPC-TR90096, Center for Research on Parallel Computation, Rice University, October 1990.

    Google Scholar 

  10. Applied Parallel Research Inc. xHPF version 1.0, user's guide. December 1993.

    Google Scholar 

  11. A. Gueist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, and V. Sunderam. PVM3 user's guide and reference manual. Technical Report ORNL/TM-12187, Oak Ridge National Laboratory, May 1993.

    Google Scholar 

  12. L. Pointer (editor). PERFormance Evaluation for Cost-effective Transformations report: 1. Technical Report 896, CSRD University of Illinois at Urbana-Champaign, July 1989.

    Google Scholar 

  13. K. Dixit. The SPEC benchmarks. Parallel Computing, (17), 1991.

    Google Scholar 

  14. E. Ayguade, J. Labarta, J. Garcia, and M. Girones. Partitioning methods: Implementation report. Technical report, CEPBA European Center for Parallelism of Barcelona, October 1993.

    Google Scholar 

  15. J. Peir. Program Partitioning and Synchronization on Multiprocessor Systems. PhD thesis, University of Illinois at Urbana-Champaign, 1986.

    Google Scholar 

  16. C. Leiserson, F. Rose, and J. Saxe. Optimizing synchronous circuitry by retiming. In 3rd Caltech Conference on VLSI, March 1983.

    Google Scholar 

  17. R. Bixby, K. Kennedy, and U. Kremer. Automatic data layout using 0–1 integer programming. In International Conference on Parallel Architectures and Compilation Techniques, August 1994.

    Google Scholar 

  18. S. Chatterjee, J.R. Gilbert, and R. Schreiber. Mobile and replicated alignment of arrays in data-parallel programs. In Supercomputing'93, November 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

Ayguadé, E., Garcia, J., Gironés, M., Labarta, J., Torres, J., Valero, M. (1995). Detecting and using affinity in an automatic data distribution tool. 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/BFb0025871

Download citation

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

  • 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