Skip to main content
QUICK REVIEW

[论文解读] Parallelizing the QUDA Library for Multi-GPU Calculations in Lattice Quantum Chromodynamics

Ronald Babich, Michael Clark, Balint Joo|arXiv (Cornell University)|Oct 29, 2010
Quantum Chromodynamics and Particle Interactions被引用 59
一句话总结

本论文首次实现了使用MPI在多个GPU上对QUDA库进行并行化,用于格点量子色动力学(LQCD)计算,实现了超越单GPU内存限制的大规模问题的可扩展性能。通过利用异步内存传输重叠通信与计算,并针对InfiniBand互连进行优化,作者在32块GPU上实现了超过3 TFlops的强缩放性能,弱缩放性能达到4.75 TFlops,相较于非GPU集群实现了10倍的性能提升。

ABSTRACT

Graphics Processing Units (GPUs) are having a transformational effect on numerical lattice quantum chromodynamics (LQCD) calculations of importance in nuclear and particle physics. The QUDA library provides a package of mixed precision sparse matrix linear solvers for LQCD applications, supporting single GPUs based on NVIDIA's Compute Unified Device Architecture (CUDA). This library, interfaced to the QDP++/Chroma framework for LQCD calculations, is currently in production use on the "9g" cluster at the Jefferson Laboratory, enabling unprecedented price/performance for a range of problems in LQCD. Nevertheless, memory constraints on current GPU devices limit the problem sizes that can be tackled. In this contribution we describe the parallelization of the QUDA library onto multiple GPUs using MPI, including strategies for the overlapping of communication and computation. We report on both weak and strong scaling for up to 32 GPUs interconnected by InfiniBand, on which we sustain in excess of 4 Tflops.

研究动机与目标

  • 通过实现多GPU并行化,解决单GPU LQCD计算中的内存限制问题。
  • 通过在多个GPU上扩展求解器,克服大规模LQCD模拟中的性能瓶颈。
  • 为需要处理大量右端项的复杂强子谱计算,实现高性能且成本效益高的计算。
  • 优化通信与计算的重叠,以最小化延迟并最大化InfiniBand连接的GPU集群的带宽。
  • 使大规模格点上无法在单GPU上实现的生产规模LQCD分析成为可能,此前受限于内存约束。

提出的方法

  • 采用基于MPI的域分解方法,将夸克相互作用矩阵分布到多个GPU上。
  • 使用异步CUDA内存传输(cudaMemcpyAsync)实现通信与计算的重叠。
  • 通过OpenMPI的处理器亲和性绑定,将MPI进程与正确的CPU插槽对齐,以优化内存带宽。
  • 应用偶奇(红黑)预条件技术,以改善非对称Krylov求解器(如BiCGstab)的收敛性。
  • 优化数据布局和内存访问模式,以最小化NVIDIA GTX 285 GPU上的延迟并最大化吞吐量。
  • 进行微基准测试,以表征cudaMemcpy和cudaMemcpyAsync的延迟和带宽,识别出早期Intel 5520芯片组上的硬件特定瓶颈。

实验结果

研究问题

  • RQ1能否通过MPI有效实现QUDA库在多个GPU上的并行化,以在LQCD中突破单GPU的内存限制?
  • RQ2如何在多GPU集群上有效重叠通信与计算,以最小化延迟并最大化性能?
  • RQ3在32块GPU的InfiniBand连接系统上,对实际的LQCD问题规模,可实现何种性能缩放(强缩放与弱缩放)?
  • RQ4系统级因素(如NUMA拓扑和PCIe带宽)如何影响LQCD求解器在多GPU上的性能?
  • RQ5与单GPU或非GPU工作负载相比,多GPU并行化在多大程度上提升了GPU集群节点的成本效益和利用率?

主要发现

  • 作者在32块GPU上实现了超过3 TFlops的强缩放性能,针对一个物理上相关的计算规模,相较于具有相同处理器数量的非GPU集群,性能提升了10倍。
  • 弱缩放性能达到4.75 TFlops,表明系统中负载分布有效。
  • 异步内存传输(cudaMemcpyAsync)引入了约50微秒的延迟,显著高于同步cudaMemcpy的约11微秒,凸显了特定硬件的限制。
  • 当MPI进程被绑定到错误的CPU插槽时,性能严重下降,强调了为实现最佳带宽,必须进行NUMA感知的进程绑定。
  • 多GPU方法使原本因内存限制在单GPU上无法实现的大规模LQCD问题(如243×128格点)得以求解。
  • 优化后的多GPU求解器现已投入生产,用于使用扩散技术的强子谱计算,每个配置需调用32,768次求解器,显著受益于GPU加速。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

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