[论文解读] Sparse Tensor Algebra as a Parallel Programming Model
本文提出了一种稀疏张量代数作为高层次的并行编程模型,该模型将密集张量操作推广至支持稀疏数据结构和任意元素级函数。通过在Cyclops张量框架(CTF)中扩展稀疏布局和可自定义操作,该模型实现了迭代求解器、图算法和电子结构计算的高效、通信避免执行,在MP3电子结构计算中实现了最高6倍的加速,并通过稀疏感知的运行时优化提升了弱可扩展性。
Dense and sparse tensors allow the representation of most bulk data structures in computational science applications. We show that sparse tensor algebra can also be used to express many of the transformations on these datasets, especially those which are parallelizable. Tensor computations are a natural generalization of matrix and graph computations. We extend the usual basic operations of tensor summation and contraction to arbitrary functions, and further operations such as reductions and mapping. The expression of these transformations in a high-level sparse linear algebra domain specific language allows our framework to understand their properties at runtime to select the preferred communication-avoiding algorithm. To demonstrate the efficacy of our approach, we show how key graph algorithms as well as common numerical kernels can be succinctly expressed using our interface and provide performance results of a general library implementation.
研究动机与目标
- 将数组、矩阵和图计算统一在单一稀疏张量代数抽象之下,以支持高性能计算。
- 基于张量属性和数据布局,实现在运行时自动选择通信避免算法。
- 扩展CTF框架以支持具有任意元素类型和用户定义函数的稀疏张量。
- 证明稀疏性可显著提升关键科学工作负载中的性能和弱可扩展性。
- 提供一个最小但功能强大的接口,避免显式循环,减少并行代码中的编程错误。
提出的方法
- 将张量操作——求和、收缩、映射和约简——扩展至任意函数和代数结构,以支持灵活的数据转换。
- 引入一种高层C++领域特定语言(DSL),抽象数据布局并支持在分布式内存上自动并行化。
- 利用循环CTF布局随机化非零元素分布,避免昂贵的图划分,同时在随机和任意稀疏模式下保持接近最优的性能。
- 通过运行时分析,基于稀疏性和数据结构特征选择最优的通信避免算法。
- 支持稀疏-稀疏、稀疏-密集和密集-密集的收缩操作,性能通过与MKL集成以及针对整数类型的自定义内核进行调优。
- 采用批量同步并行(BSP)执行模型,确保低深度、高度可并行的程序,避免复杂依赖。
实验结果
研究问题
- RQ1稀疏张量代数能否作为统一的高层次编程模型,适用于包括图和PDE求解器在内的多样化科学工作负载?
- RQ2在分布式内存系统中,张量操作中的稀疏性如何影响通信和计算成本?
- RQ3与手写优化内核相比,具有自动算法选择的高层DSL在性能和可扩展性方面能提升多少?
- RQ4在不牺牲性能的前提下,稀疏张量框架能否高效支持用户定义函数和任意数据类型?
- RQ5在真实科学应用中,稀疏性对弱可扩展性和强可扩展性有何影响?
主要发现
- 与密集执行相比,稀疏张量代数模型在MP3电子结构计算中实现了最高6倍的加速,且在更高并行度下性能增益进一步提升。
- 稀疏性显著改善了弱可扩展性,特别是在基于路径加倍的全源最短路径计算中,由于通信和计算成本降低,稀疏内核在弱可扩展性下优于密集内核。
- 在384个核心上,稀疏路径加倍内核仅用71.4%的时间执行本地内核(而密集版本为86.6%),表明负载均衡更好且通信开销更低。
- 对于密集图全源最短路径基准测试,稀疏内核在384个核心的弱可扩展性下分别用87.8%和90.8%的时间执行本地内核,显示出优于密集替代方案的可扩展性。
- 该模型按非零元素占比成比例地降低了计算和通信成本,即使在极少调优下也观察到了性能增益。
- 该框架能够自动在运行时选择通信避免算法,实现了高效执行,无需手动划分或布局优化。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。