中文

Mat2Stencil:一种用于结构网格上显式与隐式无矩阵PDE求解器的模块化基于矩阵的DSL

分布式、并行与集群计算 2023-09-12 v2

摘要

偏微分方程(PDE)求解器被广泛应用于众多科学与工程领域。然而,实现高性能与可扩展性通常需要复杂且底层的编程,尤其在利用结构网格中确定性稀疏模式时。本文提出一种创新的领域特定语言(DSL)Mat2Stencil及其编译器,用于结构网格上的PDE求解器。Mat2Stencil引入了结构化稀疏矩阵抽象,便于以模块化、灵活且易用的方式表达广泛范围内的求解器,涵盖Jacobi或Gauss-Seidel预条件子、不完全LU或Cholesky分解,以及构建于其上的多重网格方法等组件。我们的DSL编译器随后通过多阶段编程生成由广义模板组成的无矩阵代码。除Jacobi风格模板在空间维度上易并行外,该代码允许以拟仿射循环形式存在的空间循环携带依赖。我们进一步提出一种针对空间依赖循环的新型自动并行化技术,其提供用于线程化的编译时确定性任务划分,自动计算必要的线程间同步,并生成具有细粒度同步的高效多线程实现。通过实现4个基准程序(其中3个为NAS并行基准中的伪应用,代码量为6.3%6.3\%,1个为无矩阵高性能共轭梯度,代码量为16.4%16.4\%),我们相比手工实现取得了最高1.67×1.67\times、平均1.03×1.03\times的性能。

关键词

引用

@article{arxiv.2204.13304,
  title  = {Mat2Stencil: A Modular Matrix-Based DSL for Explicit and Implicit Matrix-Free PDE Solvers on Structured Grid},
  author = {Huanqi Cao and Shizhi Tang and Qianchao Zhu and Bowen Yu and Wenguang Chen},
  journal= {arXiv preprint arXiv:2204.13304},
  year   = {2023}
}