[论文解读] Porting of the DBCSR library for Sparse Matrix-Matrix Multiplications to Intel Xeon Phi systems
本文评估了 DBCSR 库在英特尔至强融核(Knights Landing, KNL)系统上的移植与性能表现,该库专为稀疏矩阵-矩阵乘法(SpGEMM)而优化。研究对比了基于 KNL 的 Cray XC40 系统与采用 Xeon CPU 和 GPU 加速的 Cray XC50 系统,发现 KNL 系统在规模上比 GPU 系统慢 11–14%,但比纯 CPU 系统快最多 24%,在全缓存(full CACHE)和四分体(QUADRANT)聚类模式下性能最优。
Multiplication of two sparse matrices is a key operation in the simulation of the electronic structure of systems containing thousands of atoms and electrons. The highly optimized sparse linear algebra library DBCSR (Distributed Block Compressed Sparse Row) has been specifically designed to efficiently perform such sparse matrix-matrix multiplications. This library is the basic building block for linear scaling electronic structure theory and low scaling correlated methods in CP2K. It is parallelized using MPI and OpenMP, and can exploit GPU accelerators by means of CUDA. We describe a performance comparison of DBCSR on systems with Intel Xeon Phi Knights Landing (KNL) processors, with respect to systems with Intel Xeon CPUs (including systems with GPUs). We find that the DBCSR on Cray XC40 KNL-based systems is 11%-14% slower than on a hybrid Cray XC50 with Nvidia P100 cards, at the same number of nodes. When compared to a Cray XC40 system equipped with dual-socket Intel Xeon CPUs, the KNL is up to 24% faster.
研究动机与目标
- 评估 DBCSR 库在英特尔至强融核(Knights Landing, KNL)处理器上进行大规模稀疏矩阵-矩阵乘法的性能表现。
- 从执行时间和可扩展性角度,对比基于 KNL 的系统与传统的至强 CPU 和 GPU 加速系统的性能表现。
- 识别 KNL 最佳配置设置(如内存模式、聚类方式)以最大化 DBCSR 性能。
- 评估在分布式内存环境中通信、内存带宽和线程负载均衡对性能的影响。
- 确定 KNL 系统是否可作为线性缩放电子结构模拟中 GPU 加速或纯 CPU 系统的可行替代方案。
提出的方法
- 使用相同的源代码和标准编译器优化,将原本针对 MPI+OpenMP 和 CUDA 优化的 DBCSR 库移植至英特尔至强融核 KNL 系统运行。
- 在分布式稀疏矩阵乘法中采用 2.5D 通信减少算法,以最小化 MPI 进程间的通信开销。
- 在 Funneled 模式下使用异步 MPI 调用,以在 KNL 及其他架构上实现通信与计算的重叠,提升效率。
- 应用缓存无关的矩阵遍历策略,以增强本地块乘法期间的数据局部性。
- 将 KNL 系统配置为全缓存(full CACHE)和四分体(QUADRANT)聚类模式,以利用高带宽 MCDRAM 并改善内存访问模式。
- 在最多 144 个节点上,针对三个基准测试(S-E、H2O-DFT-LS、AMORPH)进行性能测量,比较执行时间及时间分解(通信、计算、初始化)。
实验结果
研究问题
- RQ1在稀疏矩阵-矩阵乘法中,DBCSR 库在基于 KNL 的系统上的性能与 GPU 加速和纯 CPU 系统相比如何?
- RQ2KNL 内存配置(如全缓存模式与 FLAT 模式)对 DBCSR 执行时间与可扩展性有何影响?
- RQ3通信开销与线程级负载不平衡如何影响 KNL 及其他架构的性能?
- RQ4对于不同的 SpGEMM 工作负载和块大小,哪种系统配置(KNL、GPU、CPU)能提供最佳的求解时间?
- RQ52.5D 算法与静态块分解在 KNL 上对性能与可扩展性的影响程度如何?
主要发现
- 在相同节点数下,DBCSR 库在 Cray XC40 KNL 系统上的性能比配备 NVIDIA P100 GPU 的混合式 Cray XC50 系统慢 11–14%。
- 在相同工作负载下,KNL 系统的执行时间比双路至强 CPU 系统快最多 24%。
- 当使用 DRAM 而非 MCDRAM 时,KNL 上的性能显著下降(10–56% 慢),凸显了内存模式配置的重要性。
- 最佳性能在 KNL 全缓存模式与四分体聚类模式下实现,且禁用了超线程。
- 通信时间(通过 mpi_waitall 测量)占总执行时间的 15–57%,在 KNL 和 MC 系统上占比更高。
- AMORPH 基准测试因计算强度高而展现出最佳线程可扩展性,但因静态块分解和运行时过滤,观察到高达 30% 的负载不平衡。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。