@inproceedings{25c731444317429ea5bfca638d9d0b6c,
title = "On fusing recursive traversals of K-d trees",
abstract = "Loop fusion is a key program transformation for data locality optimization that is implemented in production compilers. But optimizing compilers for imperative languages currently cannot exploit fusion opportunities across a set of recursive tree traversal computations with producer-consumer relationships. In this paper, we develop a compile-time approach to dependence characterization and program transformation to enable fusion across recursively specified traversals over k-d trees. We present the FuseT source-tosource code transformation framework to automatically generate fused composite recursive operators from an input program containing a sequence of primitive recursive operators. We use our framework to implement fused operators for MADNESS, Multiresolution Adaptive Numerical Environment for Scientific Simulation. We show that locality optimization through fusion can offer significant performance improvement.",
keywords = "Data locality, Fusion, Tree traversal",
author = "Samyam Rajbhandari and Jinsung Kim and Sriram Krishnamoorthy and Pouchet, \{Louis No{\"e}l\} and Fabrice Rastello and Harrison, \{Robert J.\} and P. Sadayappan",
note = "Publisher Copyright: {\textcopyright} 2016 ACM.; 25th International Conference on Compiler Construction, CC 2016 ; Conference date: 17-03-2016 Through 18-03-2016",
year = "2016",
month = mar,
day = "17",
doi = "10.1145/2892208.2892228",
language = "English",
series = "Proceedings of CC 2016: The 25th International Conference on Compiler Construction",
publisher = "Association for Computing Machinery, Inc",
pages = "152--162",
booktitle = "Proceedings of CC 2016",
}