[论文解读] Multi-block/multi-core SSOR preconditioner for the QCD quark solver for K computer
本论文针对K计算机上的QCD夸克求解器,提出了一种多块/多核的SSOR预条件子,通过在SPARC64 VIIIfx CPU上使用单精度SIMD内嵌函数,优化了Lüscher的SAP预条件嵌套BiCGStab求解器。该方法在16至4096个节点间实现了理想的弱缩放性能,关键核函数的持续性能效率超过50%,单精度BiCGStab求解器在所有测试的格点尺寸下均达到约26%的效率。
We study the algorithmic optimization and performance tuning of the Lattice QCD clover-fermion solver for the K computer. We implement the Lüscher's SAP preconditioner with sub-blocking in which the lattice block in a node is further divided to several sub-blocks to extract enough parallelism for the 8-core CPU SPARC64$^{\mathrm{TM}}$ VIIIfx of the K computer. To achieve a better convergence property we use the symmetric successive over-relaxation (SSOR) iteration with {\it locally-lexicographical} ordering for the sub-blocks in obtaining the block inverse. The SAP preconditioner is included in the single precision BiCGStab solver of the nested BiCGStab solver. The single precision part of the computational kernel are solely written with the SIMD oriented intrinsics to achieve the best performance of the \SPARC on the K computer. We benchmark the single precision BiCGStab solver on the three lattice sizes: $12^3 imes 24$, $24^3 imes 48$ and $48^3 imes 96$, with fixing the local lattice size in a node at $6^3 imes 12$. We observe an ideal weak-scaling performance from 16 nodes to 4096 nodes. The performance of a computational kernel exceeds 50% efficiency, and the single precision BiCGstab has $\sim26% susutained efficiency.
研究动机与目标
- 针对K计算机的多核、SIMD架构SPARC64 VIIIfx CPU,优化并调校O(a)-改进的威尔逊夸克求解器。
- 通过应用子块划分与字典序排列的对称逐次超松弛(SSOR)方法,提升SAP预条件子的收敛性与并行性。
- 利用低级别SIMD内嵌函数,在内部BiCGStab求解器中实现单精度算术的高性能计算。
- 评估在最多4096个节点、格点尺寸范围为12³×24至48³×96的大型格点上的弱缩放行为与性能效率。
提出的方法
- 在SAP预条件子中实现Lüscher方法的子块划分,将每个节点的本地格点(6³×12)划分为更小的子块(3⁴),以增强多核并行性。
- 在SAP预条件子中使用具有局部字典序排列的对称逐次超松弛(SSOR)方法,以提高收敛性。
- 使用SIMD优化的内嵌函数编写单精度计算核函数,以最大化SPARC64 VIIIfx架构的性能。
- 将SAP预条件子集成到嵌套BiCGStab求解器中,内部求解器使用单精度算术,同时在最终解中保持双精度精度。
- 固定每个节点的本地格点尺寸为6³×12,并对三种格点尺寸进行基准测试:12³×24、24³×48与48³×96。
- 利用K计算机的Tofu网络与富士通编译器分析工具,测量性能、SIMD利用率与弱缩放效率。
实验结果
研究问题
- RQ1在K计算机的8核SPARC64 VIIIfx CPU上,采用子块划分的SSOR预条件子在QCD夸克求解器中如何提升并行性与收敛性?
- RQ2在K计算机上,使用SIMD优化的单精度核函数对BiCGStab求解器能带来多大的性能提升?
- RQ3在本地格点尺寸固定的情况下,求解器在16至4096个节点间是否表现出理想的弱缩放行为?
- RQ4为何A_EE核函数的性能效率低于D_EE核函数?其成因是什么?
- RQ5冗余浮点运算(如SU(3)重构、自旋投影的FMAD)对实测性能有何影响?应如何校正?
主要发现
- 单精度BiCGStab求解器在所有测试的格点尺寸下均达到约26%的持续性能效率,表明K计算机计算资源被有效利用。
- D_EE核函数效率超过50%,使用内嵌函数时SIMD利用率达90%,表明硬件利用率极高。
- A_EE核函数仅达到35%的效率,主要由于线程间负载不均,且其循环体计算密度低于D_EE。
- 从16到4096个节点的弱缩放性能表现理想,核函数性能与效率在整个规模范围内保持稳定。
- D_EE核函数理论峰值与实测性能之间的差距,归因于区分体素与表面格点的条件分支,表明仍有进一步优化空间。
- 在排除冗余操作(如SU(3)重构、FMAD)后,有效性能估计为实测值的约80%,表明仍有进一步调优的余地。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。