Abstract
Affinity regions ensure that a shared processor schedule, mapping loop iterations to processors, is used in consecutive parallel loop nests. Using affinity regions can improve locality without affecting parallelism.
Unlike loop fusion, affinity regions are always safe. Also, unlike parallel regions, affinity regions do not require explicit code for mapping loop iterations to processors. While affinity regions improve locality, there may be cases where more than one affinity region is possible for the same pair of loop nests. Also, loop transformations such as interchange and alignment can affect the profitability of affinity regions. In this paper we discuss the interaction between loop transformations and affinity regions, and the relationship between affinity regions and global optimization for parallelism and locality. The algorithms in this paper are being implemented in the parallelization tool, PAT, targeted at generating of affinity regions for the KSR-1.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
KSR Fortran Programming. Kendall Square Research, Waltham, Massachusetts, 1991.
KSR Parallel Programming. Kendall Square Research, Waltham, Massachusetts, 1991.
Anderson, J., and Lam, M. S. Global optimzations for parallelism and locality on scalable parallel machines. In SIGPLAN Programming Language Design and Implementation (1993), pp. 112–125.
Appelbe, W. F., and Lakshmanan, B. Optimizing parallel programs using affinity regions. In International Conference on Parallel Processing (August 1993).
Wolfe, M.Optimizing Supercompilers for Supercomputers. The MIT Press, Cambridge, Massachusetts, 1989.
Zima, H., and Chapman, B.Supercompilers for Parallel and Vector Computers. ACM Press, New York, New York, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Appelbe, B., Hardnett, C., Doddapaneni, S. (1994). Program transformation for locality using affinity regions. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1993. Lecture Notes in Computer Science, vol 768. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57659-2_17
Download citation
DOI: https://doi.org/10.1007/3-540-57659-2_17
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57659-4
Online ISBN: 978-3-540-48308-3
eBook Packages: Springer Book Archive