A Locality Optimizer for Loop-dominated Applications Based on Reuse Distance Analysis
Article Ecrit par: Lezos, Christakis ; Dimitroulakos, Grigoris ; Latifis, Ioannis ; Masselos, Konstantinos ;
Résumé: Source code optimization can heavily improve software code implementation quality while still being complementary to conventional compilers' optimizations. Source code analysis tools are very useful in supporting source code optimization. This article discusses MemAssist, a source-level optimization environment for semi-automatic locality optimization of loop-dominated code. MemAssist applies reuse distance analysis and a relevant optimization algorithm to explore the design space. It generates a set of suggestions for locality optimizing loop transformations that reduce data cache miss rate and execution time. MemAssist has been used to optimize a number of applications. Experimental results show that MemAssist leads to cache miss rate reduction at all cache layers, memory accesses reduction by up to 42%, and to a speedup of up to three times. Therefore, MemAssist can be used for efficient early-stage software optimization leading to development effort and time reduction.
Langue:
Anglais