Skip to main content
QUICK REVIEW

[论文解读] MILC Code Performance on High End CPU and GPU Supercomputer Clusters

Ruizi Li, DeTar, Carleton|arXiv (Cornell University)|Dec 1, 2017
Physics of Superconductivity and Magnetism参考文献 3被引用 3
一句话总结

本论文通过使用QPhiX、QOPQDP和QUDA库,在高端CPU和GPU集群上对MILC格点QCD代码进行了性能优化。在Intel Knights Landing上,通过利用高算术强度和向量化内核,实现了规范力计算高达10倍的加速,且在2048节点集群上弱缩放效率超过80%。

ABSTRACT

With recent developments in parallel supercomputing architecture, many core, multi-core, and GPU processors are now commonplace, resulting in more levels of parallelism, memory hierarchy, and programming complexity. It has been necessary to adapt the MILC code to these new processors starting with NVIDIA GPUs, and more recently, the Intel Xeon Phi processors. We report on our efforts to port and optimize our code for the Intel Knights Landing architecture. We consider performance of the MILC code with MPI and OpenMP, and optimizations with QOPQDP and QPhiX. For the latter approach, we concentrate on the staggered conjugate gradient and gauge force. We also consider performance on recent NVIDIA GPUs using the QUDA library.

研究动机与目标

  • 将MILC格点QCD代码适配至现代高性能计算架构,包括Intel Knights Landing(KNL)和NVIDIA GPU。
  • 通过增强并行性和内存层次结构利用率,应对多核、众核和GPU系统带来的日益增加的编程复杂性。
  • 通过专用库提升关键格点QCD例程(共轭梯度求解器、规范力和费米子力)的性能。
  • 通过优化库在KNL集群和GPU节点上的弱缩放效率和性能增益进行评估。
  • 通过库抽象和向量化,实现面向未来新兴架构的可移植性和性能可移植性。

提出的方法

  • 使用支持512位SIMD向量单元和OpenMP线程的QPhiX库,对Intel Knights Landing(KNL)上的MILC代码进行移植和优化。
  • 采用QOPQDP库对共轭梯度和规范力例程进行高层优化,利用数据并行线性代数和I/O例程。
  • 使用QUDA库在NVIDIA P100和K20 GPU上实现GPU加速,支持混合精度计算和高效的规范场压缩。
  • 在QPhiX中采用数组中结构(SOA)数据布局,以提升缓存重用率,与Grid库的内存模型保持一致。
  • 优化规范力例程中的通信模式,以降低延迟并提高弱缩放效率。
  • 在多个超算中心(ALCF、NERSC、TACC)对性能进行基准测试,使用$16^4$和$24^4$格点的su3_rhmd_hisq应用。

实验结果

研究问题

  • RQ1在使用QPhiX和QOPQDP优化的Intel Knights Landing上,MILC代码的阶梯共轭梯度求解器性能如何扩展?
  • RQ2高算术强度和向量化对KNL集群上Symanzik一环规范力的弱缩放效率有何影响?
  • RQ3在KNL和GPU架构上,QPhiX和QUDA在规范力和费米子力例程中的性能特征有何差异?
  • RQ4与基线MILC代码相比,使用优化库(QPhiX、QOPQDP、QUDA)在减少运行时间和提升缩放效率方面有多大改善?
  • RQ5超线程和MPI/OpenMP线程配置在KNL和GPU系统上的性能和缩放表现如何?

主要发现

  • 与基线MILC相比,QPhiX优化的阶梯共轭梯度求解器在单个KNL节点上实现了1.5倍的性能提升,但集群上的性能受限于网络带宽。
  • 使用QPhiX优化的Symanzik一环规范力例程相比基线MILC,运行时间减少了10倍,算术强度从1.1提升至2.0以上。
  • 在Cori II(2048个节点)上,使用QPhiX的规范力弱缩放效率超过80%,远高于基线代码的40%效率。
  • 在单个GPU节点上,P100在规范力性能上比KNL节点高出约2.3倍,且P100相比K20性能最高提升达5倍。
  • 使用QOPQDP优化的HISQ费米子力例程将运行时间减少至基线MILC的约20%,在最多64个KNL节点上弱缩放效率达到50%–80%。
  • 数据重映射的开销目前与规范力例程时间相当,但预计在算法完全集成到QPhiX后将显著降低。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。