面向分布式系统的高阶有限元离散矩阵多向量积的快速硬件感知无矩阵算法
Fast hardware-aware matrix-free algorithm for higher-order finite-element discretized matrix multivector products on distributed systems
AI总结:
本文提出面向分布式CPU和GPU的高阶有限元矩阵-多向量积硬件感知无矩阵算法,通过批量评估、奇偶分解、SIMD向量化及计算与通信/数据移动重叠等策略,在Helmholtz算子和特征值求解中实现最高4.4倍加速。
摘要:
近年来,针对高阶有限元(FE)离散矩阵向量乘法的硬件感知无矩阵算法,相较于传统稀疏矩阵方法,减少了浮点运算次数和数据访问成本。本工作提出了高效的无矩阵算法,用于在多节点CPU和GPU架构上计算有限元离散矩阵-多向量积。我们解决了现有无矩阵实现中的一个关键不足,即这些实现仅适用于有限元离散矩阵对单个向量的作用。我们采用批量评估策略,根据底层硬件架构调整批量大小,从而改善数据局部性并实现进一步的并行化。在CPU上,我们利用奇偶分解、SIMD向量化以及计算与通信重叠的策略。在GPU上,我们采用计算与数据移动重叠的策略,并结合GPU共享内存、常量内存和内核融合来减少数据访问。我们的实现在Helmholtz算子作用方面优于基线,在单个CPU节点上实现了最高1.4倍的加速,在单个GPU节点上实现了最高2.8倍的加速,而在多节点CPU(约3000核)和多节点GPU(约25个GPU)上分别达到了最高4.4倍和1.5倍的加速。我们进一步对所提出的实现进行了基准测试,通过采用Chebyshev滤波子空间迭代法求解一个模型特征值问题,计算1024个最小特征值-特征向量对,在单个CPU节点上实现了最高1.5倍的加速,在单个GPU节点上实现了最高2.2倍的加速,而在多节点CPU(约3000核)和多节点GPU(约25个GPU)上分别达到了最高3.0倍和1.4倍的加速。
英文摘要:
Recent hardware-aware matrix-free algorithms for higher-order finite-element (FE) discretized matrix-vector multiplications reduce floating point operations and data access costs compared to traditional sparse matrix approaches. This work proposes efficient matrix-free algorithms for evaluating FE discretized matrix-multivector products on both multi-node CPU and GPU architectures. We address a critical gap in existing matrix-free implementations, which are well suited only for the action of FE discretized matrices on a single vector. We employ batched evaluation strategies, with the batchsize tailored to underlying hardware architectures, leading to better data locality and enabling further parallelization. On CPUs, we utilize even-odd decomposition, SIMD vectorization, and overlapping computation and communication strategies. On GPUs, we employ strategies to overlap compute and data movement in conjunction with GPU shared memory, constant memory, and kernel fusion to reduce data accesses. Our implementation outperforms the baselines for Helmholtz operator action, achieving up to 1.4x improvement on one CPU node and up to 2.8x on one GPU node, while reaching up to 4.4x and 1.5x improvement on multiple nodes for CPUs ($\sim 3000$ cores) and GPUs ($\sim$ 25 GPUs), respectively. We further benchmark the performance of the proposed implementation for solving a model eigenvalue problem for 1024 smallest eigenvalue-eigenvector pairs by employing the Chebyshev Filtered Subspace Iteration method, achieving up to 1.5x improvement on one CPU node and up to 2.2x on one GPU node while reaching up to 3.0x and 1.4x improvement on multinode CPUs ($\sim 3000$ cores) and GPUs ($\sim$ 25 GPUs), respectively.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。