This paper analyzes and quantifies the locality characteristics of numerical loop nests in order to suggest future directions for architecture and software cache optimizations. Since most programs spend the majority of their time in nests, the vast majority of cache optimization techniques target loop nests. In contrast, the locality characteristics that drive these optimizations are usually collected across the entire application rather than the nest level. Indeed, researchers have studied numerical codes for so long that a numberof commonly held assertions have emerged on their locality characteristics. In light of these assertions, we use the Perfect Benchmarksto take a new look at measuring locality on numerical codes based on references, loop nests, and program locality properties. Our results show that severalpopular assertions are at best overstatements. For example, we find that temporal and spatial reuse have balanced roles within a loop nest and most reuse across nests and t...
Kathryn S. McKinley, Olivier Temam