Inductive Loop Analysis for Practical HPC Application Optimization

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 kernels from scientific applications with a focus on atmospheric models and numerical solvers, achieving up to 12 speedup over the state of the art.

Authors

Publication Details

Journal
Repository for Publications and Research Data (ETH Zurich)
Published
2025-11-08
DOI
https://doi.org/10.3929/ethz-c-000792575
Primary Topic
Parallel Computing and Optimization Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Inductive Loop Analysis for Practical HPC Application Optimization

Philipp Schaad, Tal Ben-Nun, Patrick Iff, Torsten Hoefler
Repository for Publications and Research Data (ETH Zurich)
Parallel Computing and Optimization Techniques
article

Inductive Loop Analysis for Practical HPC Application Optimization

Philipp Schaad, Tal Ben-Nun, Patrick Iff, Torsten Hoefler
article en

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 kernels from scientific applications with a focus on atmospheric models and numerical solvers, achieving up to 12 speedup over the state of the art.

Repository for Publications and Research Data (ETH Zurich)
Openalex Percentile: Top 28%
Parallel Computing and Optimization Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Inductive Loop Analysis for Practical HPC Application Optimization — Philipp Schaad, Tal Ben-Nun, et al. · Repository for Publications and Research Data (ETH Zurich) (2025) | TGRS Research Map | TGRS