[论文解读] Acceleration of multiple precision matrix multiplication based on multi-component floating-point arithmetic using AVX2
本文提出了一种高度优化的、基于AVX2指令集的多精度矩阵乘法实现,采用双精度(DD)、三重精度(TD)和四重精度(QD)算术,其基础为误差自由变换(EFT)技术。通过利用SIMD化的EFT函数和AVX2指令进行并行计算与内存访问,作者在现代x86-64 CPU(如Intel Core i9和AMD EPYC)上实现了相较于非加速版本超过三倍的性能提升,且在10–24个线程范围内保持稳定的性能扩展。
In this paper, we report the results obtained from the acceleration of multi-binary64-type multiple precision matrix multiplication with AVX2. We target double-double (DD), triple-double (TD), and quad-double (QD) precision arithmetic designed by certain types of error-free transformation (EFT) arithmetic. Furthermore, we implement SIMDized EFT functions, which simultaneously compute with four binary64 numbers on x86_64 computing environment, and by using help of them, we also develop SIMDized DD, TD, and QD additions and multiplications. In addition, AVX2 load/store functions were adopted to efficiently speed up reading and storing matrix elements from/to memory. Owing to these combined techniques, our implemented multiple precision matrix multiplications have been accelerated more than three times compared with non-accelerated ones. Our accelerated matrix multiplication modifies the performance of parallelization with OpenMP.
研究动机与目标
- 通过AVX2向量指令加速多精度矩阵乘法,超越传统实现方式。
- 在x86-64架构上实现高效的SIMD化误差自由变换(EFT)函数,用于DD、TD和QD算术。
- 使用AVX2加载/存储指令优化多精度浮点(MPF)矩阵的内存访问。
- 在高核心数CPU(如AMD EPYC和Intel Core i9)上,通过OpenMP评估性能扩展性。
- 从并行化效率和加速比角度,对比分块矩阵乘法与Strassen算法的性能表现。
提出的方法
- 使用诸如 _mm256_add_pd 和 _mm256_fmadd_pd 等内在函数,实现AVX2优化的EFT函数(AVX2QuickTwoSum、AVX2TwoSum、AVX2TwoProd)。
- 设计了一种新的多精度浮点(MPF)向量与矩阵数据结构,以支持使用256位寄存器的高效AVX2加载/存储操作。
- 利用AVX2内在函数构建SIMD化的DD、TD和QD加法与乘法例程,实现四个多精度数的并行处理。
- 通过 _mm256_fmadd_pd 指令集成融合乘加(FMA)指令,提升EFT计算中的精度与性能。
- 在多核系统上,使用OpenMP对分块矩阵乘法和Strassen算法进行线程级并行化。
- 在Intel Core i9(10核)和AMD EPYC(24核)系统上,针对不同矩阵尺寸和线程数评估性能表现。
实验结果
研究问题
- RQ1基于AVX2的SIMD并行化能否显著加速使用DD、TD和QD算术的多精度矩阵乘法?
- RQ2在高核心数CPU(如AMD EPYC)上,分块矩阵乘法的性能通过OpenMP扩展如何表现?
- RQ3为何即使使用AVX2,Strassen算法在核心数超过八个的CPU上仍无法实现超过约6倍的加速比?
- RQ4AVX2在多组件浮点类型上,对内存访问和算术内核的优化程度如何?
- RQ5在现代多核系统上,对于大规模病态条件问题,分块矩阵乘法是否比Strassen算法更具可扩展性?
主要发现
- 所提出的AVX2优化实现相较于非加速的多精度浮点(MPF)矩阵乘法,实现了超过三倍的性能提升。
- 在Intel Core i9上,分块矩阵乘法在10个线程内保持稳定加速;在AMD EPYC上,24个线程内均表现稳定,表明其具有良好的并行扩展能力。
- Strassen算法在两种CPU上均受限于约六倍加速比,无论是否使用AVX2,原因在于递归调用中线程调度效率低下。
- 在拥有24个核心的AMD EPYC系统上,分块矩阵乘法在所有测试精度(DD、TD、QD)下均优于Strassen算法,尤其在大矩阵尺寸下优势显著。
- AVX2通过使用256位寄存器优化加载/存储操作,显著提升了内存访问性能,对整体加速有重要贡献。
- 该实现表明,分块矩阵乘法是高核心数系统的首选方案,而Strassen方法受限于固有的并行化瓶颈。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。