paperbot · PL 论文追踪

全部论文 待读 收藏

P2 (De/Re)-Composition of Data-Parallel Computations via Multi-Dimensional Homomorphisms

基于多维同态的数据并行计算(解/重)组合
TOPLAS 46(3)2024匹配度 2/10 · 该论文聚焦数据并行计算的多维同态形式化与自动代码生成/自动调优,属于编译与高性能计算方向,虽有形式化+工程实现的特点,但不涉及静态分析、LLM/Agent 程序、浮点程序分析或贝叶斯程序分析等用户的核心问题,与研究方向基本不相交。引用 7 inbox
Ari Rasch
crossref: 2026-09-10

AI 速览

一句话:提出基于多维同态的形式化分解/重组方法,可自动生成并调优数据并行代码。

数据并行计算(如线性代数、模板计算)要在 CPU/GPU 等现代体系结构上高效运行,关键在于针对存储与核心层次进行分解与重组,但现有高层代码生成方法常局限于特定计算类或架构,或依赖复杂且易错的用户引导优化。本文基于多维同态(MDH)的代数形式化,提出系统化的(解/重)组合方法,可覆盖广泛的数据并行计算和多种并行架构;并据此构造正确构造、参数化的 cache blocking 与并行化策略,用同一形式化表达调度式、多面体等现有策略。实验通过自动调优参数,在真实数据集上的线性代数、模板、量子化学、数据挖掘及深度学习相关计算中,性能超过 NVIDIA cuBLAS/cuDNN、Intel oneMKL/oneDNN 等厂商手优化方案。

问题
如何为广泛的数据并行计算在复杂 CPU/GPU 体系结构上自动获得高效的分解与重组(含 cache blocking 和并行化),同时避免现有方法对计算类/架构的局限以及用户引导优化的复杂性。
方法
基于多维同态(MDH)的代数形式化,系统化地表达(解/重)组合,并设计正确构造、参数化的 cache blocking 与并行化策略,统一涵盖调度式、多面体等现有策略。
评估
在真实数据集和多种数据并行计算(线性代数、模板、量子化学、数据挖掘、深度学习相关)上,通过自动调优参数与最先进方法及 NVIDIA/Intel 厂商手优化库比较性能。
原文摘要(Abstract)

Data-parallel computations, such as linear algebra routines and stencil computations, constitute one of the most relevant classes in parallel computing, e.g., due to their importance for deep learning. Efficiently de-composing such computations for the memory and core hierarchies of modern architectures and re-composing the computed intermediate results back to the final result—we say (de/re)-composition for short—is key to achieve high performance for these computations on, e.g., GPU and CPU. Current high-level approaches to generating data-parallel code are often restricted to a particular subclass of data-parallel computations and architectures (e.g., only linear algebra routines on only GPU or only stencil computations), and/or the approaches rely on a user-guided optimization process for a well-performing (de/re)-composition of computations, which is complex and error prone for the user. We formally introduce a systematic (de/re)-composition approach, based on the algebraic formalism of Multi-Dimensional Homomorphisms (MDHs). Our approach is designed as general enough to be applicable to a wide range of data-parallel computations and for various kinds of target parallel architectures. To efficiently target the deep and complex memory and core hierarchies of contemporary architectures, we exploit our introduced (de/re)-composition approach for a correct-by-construction, parametrized cache blocking, and parallelization strategy. We show that our approach is powerful enough to express, in the same formalism, the (de/re)-composition strategies of different classes of state-of-the-art approaches (scheduling-based, polyhedral, etc.), and we demonstrate that the parameters of our strategies enable systematically generating code that can be fully automatically optimized (auto-tuned) for the particular target architecture and characteristics of the input and output data (e.g., their sizes and memory layouts). Particularly, our experiments confirm that via auto-tuning, we achieve higher performance than state-of-the-art approaches, including hand-optimized solutions provided by vendors (such as NVIDIA cuBLAS/cuDNN and Intel oneMKL/oneDNN), on real-world datasets and for a variety of data-parallel computations, including linear algebra routines, stencil and quantum chemistry computations, data mining algorithms, and computations that recently gained high attention due to their relevance for deep learning.

链接与引用

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

BibTeX
@article{paperbot2670,
  title = {(De/Re)-Composition of Data-Parallel Computations via Multi-Dimensional Homomorphisms},
  author = {Ari Rasch},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {46},
  number = {3},
  year = {2024},
  doi = {10.1145/3665643}
}