We present a simple and novel framework for generating blocked codes for high-performance machines with a memory hierarchy. Unlike traditional compiler techniques like tiling, which are based on reasoning about the control flow of programs, our techniques are based on reasoning directly about the flow of data through the memory hierarchy. Our data-centric transformations permit a more direct solution to the problem of enhancing data locality than current control-centric techniques do, and generalize easily to multiple levels of memory hierarchy. We buttress these claims with performance numbers for standard benchmarks from the problem domain of dense numerical linear algebra. The simplicity and intuitive appeal of our approach should make it attractive to compiler writers as well as to library writers.
CITATION STYLE
Kodukula, I., Ahmed, N., & Pingali, K. (1997). Data-centric Multi-level Blocking. SIGPLAN Notices (ACM Special Interest Group on Programming Languages), 32(5), 346–357. https://doi.org/10.1145/258916.258946
Mendeley helps you to discover research relevant for your work.