Inductive Loop Analysis for Practical HPC Application Optimization
Philipp Schaad, Tal Ben-Nun, Patrick Iff, Torsten Hoefler

TL;DR
This paper introduces SILO, a symbolic inductive loop optimization technique that models data accesses to enable automatic parallelization and data movement improvements in scientific computing applications, significantly boosting performance.
Contribution
SILO provides a novel symbolic modeling approach for loop nests, enabling automatic optimizations like parallelization and prefetching that were previously difficult due to low-level data access complexities.
Findings
Achieved up to 12× speedup on scientific kernels
Enabled automatic parallelization of dependent loops
Improved data movement through prefetching and pointer optimization
Abstract
Scientific computing applications heavily rely on multi-level loop nests operating on multidimensional arrays. This presents multiple optimization opportunities from exploiting parallelism to reducing data movement through prefetching and improved register usage. HPC frameworks often delegate fine-grained data movement optimization to compilers, but their low-level representations hamper analysis of common patterns, such as strided data accesses and loop-carried dependencies. In this paper, we introduce symbolic, inductive loop optimization (SILO), a novel technique that models data accesses and dependencies as functions of loop nest strides. This abstraction enables the automatic parallelization of sequentially-dependent loops, as well as data movement optimizations including software prefetching and pointer incrementation to reduce register spills. We demonstrate SILO on fundamental…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Data Storage Technologies · Numerical Methods and Algorithms
