Programming and Computer Software

, Volume 31, Issue 5, pp 270–281 | Cite as

Obtaining Affine Transformations to Improve Locality of Loop Nests

  • N. A. Likhoded
  • S. V. Bakhanovich
  • A. V. Zherelo


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.


Operating System Artificial Intelligence Software Engineer Localize Data Affine Transformation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 2.
    Li, W. and Pingali, K., Access Normalization: Loop Restructuring for NUMA Compilers, ACM Trans. Comput. Systems, 1993.Google Scholar
  3. 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. 4.
    Wolf, M.E. and Lam, M.S., High-Performance Compilers for Parallel Computers, Addison-Wesley, 1995.Google Scholar
  5. 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. 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. 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. 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. 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. 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
  11. 11.
    Loechner, V., Meister, B., and Clauss, P., Precise Data Locality Optimization of Nested Loops, J. Supercomputing, 2002, vol. 21, pp. 37–76.CrossRefGoogle Scholar
  12. 12.
    Voevodin, V.V. and Voevodin, Vl.V., Parallel'nye vychisleniya (Parallel Computing), St. Petersburg: BHV, 2002.Google Scholar

Copyright information

© MAIK "Nauka/Interperiodica" 2005

Authors and Affiliations

  • N. A. Likhoded
    • 1
  • S. V. Bakhanovich
    • 1
  • A. V. Zherelo
    • 1
  1. 1.Institute of MathematicsBelarussian Academy of SciencesMinskBelarus

Personalised recommendations