42digest首页
实用 HPC 应用优化的电感循环分析

Inductive Loop Analysis for Practical HPC Application Optimization

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

arXiv
2025年11月8日

科学计算应用严重依赖在多维阵列上运行的多级循环巢。 这提供了多种优化机会,从利用并行性到通过预选和改进寄存器使用来减少数据移动。 HPC框架通常将细粒度的数据移动优化委托给编译器,但它们的低级表示阻碍了对常见模式的分析,例如步步数据访问和循环依赖关系。 在本文中,我们介绍了符号、感应循环优化(SILO),这是一种将数据访问和依赖关系建模为循环巢步大的策略的新技术。 这种抽象实现了顺序依赖循环的自动并行化,以及数据移动优化,包括软件预取和指针增量,以减少寄存器溢出。 我们在科学应用中的基本内核上展示了SILO,重点是大气模型和数值求解器,在最先进的状态下实现了高达12倍的加速。

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 i...