Skip to main content
Log in

Obtaining Affine Transformations to Improve Locality of Loop Nests

  • Published:
Programming and Computer Software Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

REFERENCES

  1. Banerjii, U., Unimodular Transformations of Double Loops, Proc. of the Third Workshop on Languages and Compilers for Parallel Computing, 1990, pp. 192–219.

  2. Li, W. and Pingali, K., Access Normalization: Loop Restructuring for NUMA Compilers, ACM Trans. Comput. Systems, 1993.

  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.

  4. Wolf, M.E. and Lam, M.S., High-Performance Compilers for Parallel Computers, Addison-Wesley, 1995.

  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.

  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.

  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.

  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.

  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.

  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.

  11. Loechner, V., Meister, B., and Clauss, P., Precise Data Locality Optimization of Nested Loops, J. Supercomputing, 2002, vol. 21, pp. 37–76.

    Article  Google Scholar 

  12. Voevodin, V.V. and Voevodin, Vl.V., Parallel'nye vychisleniya (Parallel Computing), St. Petersburg: BHV, 2002.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

__________

Translated from Programmirovanie, Vol. 31, No. 5, 2005.

Original Russian Text Copyright © 2005 by Likhoded, Bakhanovich, Zherelo.

Rights and permissions

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11086-005-0036-2

Keywords

Navigation