Obtaining Affine Transformations to Improve Locality of Loop Nests
- 26 Downloads
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.
KeywordsOperating System Artificial Intelligence Software Engineer Localize Data Affine Transformation
Unable to display preview. Download preview PDF.
- 1.Banerjii, U., Unimodular Transformations of Double Loops, Proc. of the Third Workshop on Languages and Compilers for Parallel Computing, 1990, pp. 192–219.Google Scholar
- 2.Li, W. and Pingali, K., Access Normalization: Loop Restructuring for NUMA Compilers, ACM Trans. Comput. Systems, 1993.Google Scholar
- 3.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.Google Scholar
- 4.Wolf, M.E. and Lam, M.S., High-Performance Compilers for Parallel Computers, Addison-Wesley, 1995.Google Scholar
- 5.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.Google Scholar
- 6.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.Google Scholar
- 7.Pugh, W. and Rosser, E., Iteration Space Slicing for Locality, Proc. Twelfth Workshop on Languages and Compilers for Parallel Computing, 1999, pp. 192–219.Google Scholar
- 8.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.Google Scholar
- 9.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.Google Scholar
- 10.Lim, A.W. and Lam, M.S., Cache Optimizations with Affine Partitioning, Proc. Tenth SIAM Conference on Parallel Processing for Scientific Computing, Portsmouth, 2001.Google Scholar
- 12.Voevodin, V.V. and Voevodin, Vl.V., Parallel'nye vychisleniya (Parallel Computing), St. Petersburg: BHV, 2002.Google Scholar