paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Locality Transformations for Nested Recursive Iteration Spaces

嵌套递归迭代空间的局部性变换
ASPLOS Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems2017匹配度 2/10 · 该论文属于编译器调度变换与局部性优化,研究对象是嵌套递归程序,与用户核心关注的 PL 与 LLM/Agent 交叉、静态分析、浮点程序分析、贝叶斯程序分析均无直接关联,仅同属编程语言/编译领域。引用 10 inbox
Kirshanthan Sundararajah, Laith Sakka, Milind Kulkarni
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出首个面向嵌套递归的调度变换 recursion twisting,自动提升多级存储层次局部性并显著加速。

现有循环调度变换(如循环分块、循环融合)通过重排循环嵌套的动态实例来改善访存局部性,但面向递归程序的类似变换只能处理简单情形,例如融合多个递归,或仅处理简单循环中嵌套单个递归,无法应对嵌套递归。本文针对嵌套递归——即递归方法调用其他递归方法,作为嵌套循环的递归类比——提出第一组调度变换,核心变换称为 recursion twisting,可自动在存储层次各层级改善局部性。作者在多个呈现嵌套递归的基准程序上进行评估,结果表明该变换能带来显著的性能提升。

问题
如何为嵌套递归程序设计类似循环分块/融合的调度变换,以改善访存局部性;此前递归调度变换仅支持简单递归融合或循环内单递归等简单场景。
方法
提出面向嵌套递归的第一组调度变换,核心为 recursion twisting,自动重排递归执行以在存储层次各层级提升局部性。
评估
在多个具有嵌套递归的基准程序上评估 recursion twisting,显示其能带来显著的性能提升。
原文摘要(Abstract)

There has been a significant amount of effort invested in designing scheduling transformations such as loop tiling and loop fusion that rearrange the execution of dynamic instances of loop nests to place operations that access the same data close together temporally. In recent years, there has been interest in designing similar transformations that operate on recursive programs, but until now these transformations have only considered simple scenarios: multiple recursions to be fused, or a recursion nested inside a simple loop. This paper develops the first set of scheduling transformations for nested recursions: recursive methods that call other recursive methods. These are the recursive analog to nested loops. We present a transformation called recursion twisting that automatically improves locality at all levels of the memory hierarchy, and show that this transformation can yield substantial performance improvements across several benchmarks that exhibit nested recursion.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{SundararajahSK17,
  title = {Locality Transformations for Nested Recursive Iteration Spaces},
  author = {Kirshanthan Sundararajah and Laith Sakka and Milind Kulkarni},
  booktitle = {ASPLOS},
  year = {2017},
  doi = {10.1145/3037697.3037720}
}