Inductive Loop Analysis for Practical HPC Application Optimization

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Schaad, Philipp, Ben-Nun, Tal, Iff, Patrick, Hoefler, Torsten
Natura: Preprint
Pubblicazione: 2025
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866912695937138688
author Schaad, Philipp
Ben-Nun, Tal
Iff, Patrick
Hoefler, Torsten
author_facet Schaad, Philipp
Ben-Nun, Tal
Iff, Patrick
Hoefler, Torsten
contents 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$\times$ speedup over the state of the art.
format Preprint
id arxiv_https___arxiv_org_abs_2511_06052
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Inductive Loop Analysis for Practical HPC Application Optimization
Schaad, Philipp
Ben-Nun, Tal
Iff, Patrick
Hoefler, Torsten
Distributed, Parallel, and Cluster Computing
Performance
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$\times$ speedup over the state of the art.
title Inductive Loop Analysis for Practical HPC Application Optimization
topic Distributed, Parallel, and Cluster Computing
Performance
url https://arxiv.org/abs/2511.06052