TY - GEN
T1 - A dynamic locality optimization algorithm for linear algebra codes
AU - Kandemir, Mahmut
N1 - Publisher Copyright:
© 2001 A CM.
PY - 2001/3/1
Y1 - 2001/3/1
N2 - Compiler-directed optimization techniques are effectiv e in reducing the number of cycles spent in off-c hip memory accesses. Recently, methods have been developed that transform memory layouts of data structures at compile-time to improve spatial locality of nested loops beyond current con trol-cen trie (loop nest-based) optimizations. Most of these data-cen trictransformations use a single static (program-wide) memory layout for each array. A disadv antageof these static layout-based localiy. enhancement strategies is that they might fail to optimize codes that manipulate arrays whic hdemand different layouts (from a data locality perspectiv e) in differed parts of the code. In this paper, we presen t a new approafc which extends current static lay out optimization techniques to select dynamically changing memory layouts to further improve the locality of data accesses. We show that the possibilit y of dynamically changing memory layouts during the course of execution adds a new dimension to the data locality optimization problem. Our strategy employs a static layout optimizer module as a building block and by repeatedly invoking it for different parts of the code, it checks whether runtime layout modifications bring additional benefits beyond static optimizer.
AB - Compiler-directed optimization techniques are effectiv e in reducing the number of cycles spent in off-c hip memory accesses. Recently, methods have been developed that transform memory layouts of data structures at compile-time to improve spatial locality of nested loops beyond current con trol-cen trie (loop nest-based) optimizations. Most of these data-cen trictransformations use a single static (program-wide) memory layout for each array. A disadv antageof these static layout-based localiy. enhancement strategies is that they might fail to optimize codes that manipulate arrays whic hdemand different layouts (from a data locality perspectiv e) in differed parts of the code. In this paper, we presen t a new approafc which extends current static lay out optimization techniques to select dynamically changing memory layouts to further improve the locality of data accesses. We show that the possibilit y of dynamically changing memory layouts during the course of execution adds a new dimension to the data locality optimization problem. Our strategy employs a static layout optimizer module as a building block and by repeatedly invoking it for different parts of the code, it checks whether runtime layout modifications bring additional benefits beyond static optimizer.
UR - http://www.scopus.com/inward/record.url?scp=0003677170&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0003677170&partnerID=8YFLogxK
U2 - 10.1145/372202.372788
DO - 10.1145/372202.372788
M3 - Conference contribution
AN - SCOPUS:0003677170
SN - 1581132875
SN - 9781581132878
T3 - Proceedings of the ACM Symposium on Applied Computing
SP - 632
EP - 635
BT - Proceedings of the 2001 ACM Symposium on Applied Computing, SAC 2001
PB - Association for Computing Machinery
T2 - 2001 ACM Symposium on Applied Computing, SAC 2001
Y2 - 11 March 2001 through 14 March 2001
ER -