Abstract
Compiler optimizations aimed at improving cache locality are critical in realizing the performance potential of memory subsystem. For scientific programs, loop and data transformations are two important compiler optimization methods to improve cache locality. In this paper, we combine loop and data transformations and present a 0-1 integer linear programming (0-1 ILP) based approach that attempts to solve global locality optimization problems. We use the treelike memory layout graph (TMLG) to describe a program’s locality characteristics, formulate the locality optimization problems as the problems of finding the optimal path sets in TMLGs, and then use 0-1 ILP to find the optimal path sets. Our approach is applicable not only to perfectly nested loops but also to non-perfectly nested loops. Moreover, the approach is suitable for handling the circumstances that arrays are accessed not only along dimensions but also along diagonal-like directions. The experimental results show the effectiveness of our approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Wolf, M., Lam, M.: A data locality optimizing algorithm. In: Proc. SIGPLAN Conf. Prog. Lang. Des. & Impl., Toronto, Canada, pp. 30–44 (1991)
Li, W.: Compiling for NUMA parallel machines. PhD dissertation, Cornell University, Ithaca, NY (1993)
McKinley, K., Carr, S., Tseng, C.W.: Improving data locality with loop transformation. ACM Transactions on Programming Languages and Systems 18(4), 424–453 (1996)
Clauss, P., Meister, B.: Automatic memory layout transformations to optimize spatial locality in parameterized loop nests. ACM SIGARCH Computer Architecture News 28(1), 11–19 (2000)
Kandemir, M., Choudhary, A., Shenoy, N., Banerjee, P., Ramanujam, J.: A hyperplane based approach for optimizing spatial locality in loop nests. In: The Proceeding of 1998 ACM International Conference on Supercomputing, Melbourne, Australia, pp. 69–76 (1998)
Leung, S.: Array restructuring for cache locality. Dept. Computer Science and Engineering, University of Washington, Technical Report UW-CSE-96-08-01 (1996)
Xia, J., Yang, X., Zeng, L., Zhou, H.: A projection-delamination based approach for optimizing spatial locality in loop nests. Chinese Journal of Computers 26(5), 539–551 (2003)
Cierniak, M., Li, W.: Unifying data and control transformations for distributed shared memory machines. In: Proc. SIGPLAN Conf. Prog. Lang. Des. & Impl., La Jolla, CA, pp. 205–217 (1995)
Kandemir, M., Choudhary, A., Ramanujam, J., Banerjee, P.: A matrix-based approach to global locality optimization. Journal of Parallel and Distributed Computing 58, 190–235 (1999)
Kandemir, M., Banerjee, P., Choudhary, A., Ramanujam, J., Ayguade, E.: Static and dynamic locality optimizations using integer linear programming. IEEE Transactions on Parallel and Distributed Systems 12(9), 922–940 (2001)
High Performance Computational Chemistry Group. NWChem: A computational chemistry package for parallel computers, version 1.1. Pacific Northwest Laboratory, Richland, Wash (1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Xia, J., Luo, L., Yang, X. (2006). A 0-1 Integer Linear Programming Based Approach for Global Locality Optimizations. In: Jesshope, C., Egan, C. (eds) Advances in Computer Systems Architecture. ACSAC 2006. Lecture Notes in Computer Science, vol 4186. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11859802_23
Download citation
DOI: https://doi.org/10.1007/11859802_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40056-1
Online ISBN: 978-3-540-40058-5
eBook Packages: Computer ScienceComputer Science (R0)