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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
High Performance Fortran Forum. High Performance Fortran language specification, version 1.0. Scientific Programming, 2(1–2), 1993.
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.
S. Hiranandani, K. Kennedy, and C. Tseng. Compiling Fortran-D for MIMD distributed-memory machines. Communications of the ACM, 35(8), August 1992.
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.
J. Li and M. Chen. Compiling communication-efficient programs for massively parallel machines. IEEE Trans. on Parallel and Distributed Systems, 2(3), July 1991.
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.
Applied Parallel Research Inc. xHPF version 1.0, user's guide. December 1993.
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.
L. Pointer (editor). PERFormance Evaluation for Cost-effective Transformations report: 1. Technical Report 896, CSRD University of Illinois at Urbana-Champaign, July 1989.
K. Dixit. The SPEC benchmarks. Parallel Computing, (17), 1991.
E. Ayguade, J. Labarta, J. Garcia, and M. Girones. Partitioning methods: Implementation report. Technical report, CEPBA European Center for Parallelism of Barcelona, October 1993.
J. Peir. Program Partitioning and Synchronization on Multiprocessor Systems. PhD thesis, University of Illinois at Urbana-Champaign, 1986.
C. Leiserson, F. Rose, and J. Saxe. Optimizing synchronous circuitry by retiming. In 3rd Caltech Conference on VLSI, March 1983.
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.
S. Chatterjee, J.R. Gilbert, and R. Schreiber. Mobile and replicated alignment of arrays in data-parallel programs. In Supercomputing'93, November 1993.
Author information
Authors and Affiliations
Editor information
Rights 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