Abstract
A new method for obtaining affine transformations of loops for the localization (fast reuse) of program data is proposed. A technique of multidimensional scheduling is used with the following strategy of locality improvement: derive affine transformations allowing one to quickly reuse as much data as possible; if the amount of localized data is insufficient, apply a blocking. The method can easily be automated; the dependence on external parameters of the loops is explicitly taken into account.
Similar content being viewed by others
REFERENCES
Banerjii, U., Unimodular Transformations of Double Loops, Proc. of the Third Workshop on Languages and Compilers for Parallel Computing, 1990, pp. 192–219.
Li, W. and Pingali, K., Access Normalization: Loop Restructuring for NUMA Compilers, ACM Trans. Comput. Systems, 1993.
Wolf, M.E. and Lam, M.S., A Data Locality Optimizing Algorithm, Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation, 1991, pp. 30–44.
Wolf, M.E. and Lam, M.S., High-Performance Compilers for Parallel Computers, Addison-Wesley, 1995.
Kodukula, I., Ahmed, N., and Pingali, K., Data-centric Multi-level Blocking, Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation, 1997, pp. 345–357.
Kodukula, I., Pingali, K., Cox, R., and Maydan, D., An Experimental Evaluation of Tiling and Shackling for Memory Hierarchy Management, Proc. Int. Conf. on Supercomputing, 1999, pp. 482–491.
Pugh, W. and Rosser, E., Iteration Space Slicing for Locality, Proc. Twelfth Workshop on Languages and Compilers for Parallel Computing, 1999, pp. 192–219.
Ahmed, N., Mateev, N., and Pingali, K., Synthesizing Transformations for Locality Enhancement of Imperfectly-nested Loop Nests, Proc. Int. Conf. Supercomputing, 2000, pp. 141–152.
Lim, A.W., Liao, S.-W., and Lam, M.S., Blocking and Array Contraction across Arbitrary Nested Loops Using Affine Partitioning, Proc. ACM SIGPLAN Simposium on Principles and Practice of Programming Languages, 2001.
Lim, A.W. and Lam, M.S., Cache Optimizations with Affine Partitioning, Proc. Tenth SIAM Conference on Parallel Processing for Scientific Computing, Portsmouth, 2001.
Loechner, V., Meister, B., and Clauss, P., Precise Data Locality Optimization of Nested Loops, J. Supercomputing, 2002, vol. 21, pp. 37–76.
Voevodin, V.V. and Voevodin, Vl.V., Parallel'nye vychisleniya (Parallel Computing), St. Petersburg: BHV, 2002.
Author information
Authors and Affiliations
Additional information
__________
Translated from Programmirovanie, Vol. 31, No. 5, 2005.
Original Russian Text Copyright © 2005 by Likhoded, Bakhanovich, Zherelo.
Rights and permissions
About this article
Cite this article
Likhoded, N.A., Bakhanovich, S.V. & Zherelo, A.V. Obtaining Affine Transformations to Improve Locality of Loop Nests. Program Comput Soft 31, 270–281 (2005). https://doi.org/10.1007/s11086-005-0036-2
Issue Date:
DOI: https://doi.org/10.1007/s11086-005-0036-2