Abstract
Many large-scale computational applications contain irregular data access patterns related to unstructured problem domains. Examples include finite element methods, computational fluid dynamics, and molecular dynamics codes. Such codes are difficult to parallelize efficiently with current HPF compilers. However, most of these problems exhibit spatial locality. This property is exploited by our approach.
In the sequential program, unstructured domains are accessed via indirection arrays. We introduce a new directive that serves to identify indirection arrays and the boundaries of the associated domains. The data domains are distributed using Multiple Recursive Decomposition (MRD), a pseudo-regular distribution, which combines efficient implementation with good load balancing and communication behavior. Indirection arrays are aligned with the data arrays. Using the information provided in the directive, the compiler can produce a target program with significantly better performance than an approach based on indirect distributions and the inspector/executor paradigm.
This work was supported by the Ministry of Education and Science (CICYT) of Spain under project TIC95-0942-C03 and by the Human Capital and Mobility program of the European Union (ERB4050P1921660)
Preview
Unable to display preview. Download preview PDF.
References
Gerndt, M.: Automatic Parallelization for Distributed-Memory Multiprocessing Systems PhD thesis, University of Bonn. (1981)
Zima, H., Bast, H., Gerndt, M.: Superb: A tool for semi-automatic mimd/simd parallelization. Parallel Computing. (June 1986) 1–18
Fox, G., Lyzenga, G., et al.: Solving Problems on Concurrent Processors, Prentice-Hall, Volume 1. (1988)
Mirchandaney, R., Saltz, J., Smith, R.M., Nicol, D.M., Crowley, K.: Principles of run-time support for parallel processors. Proceedings of the 1988 ACM International Conference on Supercomputing. (1988) 140–152
Fox, G., Hiranandani, S., Kennedy, et al.: Fortran D language specification. Technical report, Dept. of Computer Science, Rice University. (1990)
Koelbel, C., Mehrotra, P.: Programming data parallel algorithms on distributed memory machines using Kali. Proceedings of the 1991 ACM International Conference on Supercomputing. (1991)
Chapman, B., Mehrotra, P., Zima, H.: Vienna fortran — a fortran language extension for distributed memor multiprocessors. Languages, Compilers, and Run-Time Environments for Distributed Memory Machines. North-Holland, The Netherlands. (1992)
Choudhary, A., Ponnusamy, R., Saltz, J., Fox, G.: Design and specification of PARTI runtime data mapping primitives. Technical report, Institute for Advanced Computer Studies, Computer Science Department, University of Maryland, MD. (1992)
Hanxleden, R., Kennedy, K., Saltz, J.: Value-based distributions in Fortran D — A preliminary report. Technical report, Center for Research on Parallel Computation, Rice University. (1993)
Das, R., Uysal, M., Saltz, J., Hwang, Y.: Communications optimizations for irregular scientific computations on distributed memory architectures. Journal of parallel and distributed computing, 22(3) (September 1994) 462–479
Asenjo, R., Romero, L.F., Ujald6n, M., Zapata, E.L.: Sparse block and cyclic data distributions for matrix computations. Advanced Workshop in High Performance Computing: Technology, Methods and Application. Elsevier Science. (1995) 359–377
Romero, L.F., Zapata, E.L.: Data distributions for sparse matrix vector multiplication. Parallel Computing, 21(4) (April 1995) 583–605
High Performance Fortran Forum. High performance fortran language specification. Version 2.0. Technical report, High Performance Fortran Forum, (October 1996)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Trabado, G.P., Zapata, E.L. (1998). Data parallel language extensions for exploiting locality in irregular problems. In: Li, Z., Yew, PC., Chatterjee, S., Huang, CH., Sadayappan, P., Sehr, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1997. Lecture Notes in Computer Science, vol 1366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0032694
Download citation
DOI: https://doi.org/10.1007/BFb0032694
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64472-9
Online ISBN: 978-3-540-69788-6
eBook Packages: Springer Book Archive