Publication | Closed Access
On fusing recursive traversals of K-d trees
21
Citations
27
References
2016
Year
Unknown Venue
EngineeringCompiler TechnologyComputer ArchitectureSoftware EngineeringComputational ComplexitySoftware AnalysisLocality OptimizationData ScienceTree AutomatonDiscrete MathematicsParallel ComputingCombinatorial OptimizationCompilersDynamic CompilationTree LanguageParallelizing CompilerCompiler SupportKnowledge DiscoveryComputer EngineeringComputer ScienceOptimizing CompilerGraph TheoryProgram AnalysisFormal MethodsBusinessRecursive TraversalsParallel ProgrammingLoop FusionData Locality OptimizationRecursive Function
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 ex- ploit 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-to- source 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, Multi-resolution Adaptive Numerical Environment for Scientific Simulation. We show that locality optimization through fusion can offer significant performance improvement.
| Year | Citations | |
|---|---|---|
Page 1
Page 1