Mat2Boundary: Treating User-Defined Boundary Condition as SpMV for Distributed PDE Solvers on Block-Structured Grids
AI总结 在结构化和分块结构化网格上求解偏微分方程时,边界条件处理是复杂性的主要来源,尤其在高阶方法和分布式内存环境中更为显著。本文提出Mat2Boundary,一种用于边界计算的领域特定语言(DSL)和编译器,将多种边界条件抽象为仿射稀疏线性算子,统一了多种边界操作并提供了模块化的子矩阵接口。通过多阶段编程和多面体分析,Mat2Boundary生成高效的矩阵免费内核,支持用户自定义稀疏矩阵,并提升了分布式执行中的通信效率,在实际测试中实现了显著的性能提升和代码简化。