Skip to main content
QUICK REVIEW

[论文解读] Petascale elliptic solvers for anisotropic PDEs on GPU clusters

Eike H. Müller, Robert Scheichl|arXiv (Cornell University)|Feb 14, 2014
Advanced Numerical Methods in Computational Mathematics参考文献 34被引用 3
一句话总结

本论文提出了一种面向大气模型中出现的各向异性椭圆PDE的千兆规模、多GPU实现,包含两种算法最优的迭代求解器——共轭梯度法(CG)与张量积几何多重网格法。该求解器在16,384块GPU上实现了最高0.78 PFLOPs的性能,求解包含0.55万亿未知数的系统,且由于迭代次数更少和GPU集群上高效的内存访问模式,多重网格法在半万亿未知数系统上的收敛时间不足一秒。

ABSTRACT

Memory bound applications such as solvers for large sparse systems of equations remain a challenge for GPUs. Fast solvers should be based on numerically efficient algorithms and implemented such that global memory access is minimised. To solve systems with up to one trillion ($10^{12}$) unknowns the code has to make efficient use of several million individual processor cores on large GPU clusters. We describe the multi-GPU implementation of two algorithmically optimal iterative solvers for anisotropic elliptic PDEs which are encountered in atmospheric modelling. In this application the condition number is large but independent of the grid resolution and both methods are asymptotically optimal, albeit with different absolute performance. We parallelise the solvers and adapt them to the specific features of GPU architectures, paying particular attention to efficient global memory access. We achieve a performance of up to 0.78 PFLOPs when solving an equation with $0.55\cdot 10^{12}$ unknowns on 16384 GPUs; this corresponds to about $3\%$ of the theoretical peak performance of the machine and we use more than $40\%$ of the peak memory bandwidth with a Conjugate Gradient (CG) solver. Although the other solver, a geometric multigrid algorithm, has a slightly worse performance in terms of FLOPs per second, overall it is faster as it needs less iterations to converge; the multigrid algorithm can solve a linear PDE with half a trillion unknowns in about one second.

研究动机与目标

  • 开发一种大规模并行、GPU加速的求解器,用于大气模型中出现的大规模各向异性椭圆PDE问题。
  • 通过优化全局内存访问模式,克服基于GPU的稀疏线性求解器中的内存带宽瓶颈。
  • 在最多包含10^12个未知数的系统上,利用多GPU集群实现千兆规模性能(每秒10^15次浮点运算)。
  • 对比GPU架构上算法最优求解器——预处理共轭梯度法与张量积几何多重网格法的性能表现。
  • 在Titan超算上使用最多16,384块GPU,展示弱缩放与强缩放性能。

提出的方法

  • 为大气模型中垂直方向各向异性的PDE问题,实现一种面向多GPU、分布式内存的张量积几何多重网格求解器。
  • 通过将数据布局与GPU合并访问要求对齐,并最小化全局内存事务,优化内存访问模式。
  • 采用混合CPU-GPU任务分配策略,将细粒度计算任务卸载至GPU,粗粒度层级交由CPU处理,以减少数据移动。
  • 应用异步通信交换(halo exchange)以实现通信与计算的重叠,提升GPU集群的效率。
  • 在粗粒度多重网格层级上使用并行三对角求解器(如循环缩减或子结构法),以提升线程级并行度。
  • 在Kepler GK110 GPU上使用双精度浮点数运算,并与理论峰值性能及基于CPU的实现进行性能基准测试。

实验结果

研究问题

  • RQ1多GPU实现的几何多重网格法与预处理共轭梯度法求解器是否能在最多包含10^12个未知数的系统上实现千兆规模性能?
  • RQ2在GPU集群上,多重网格求解器与CG求解器在收敛速度与每秒浮点运算效率(FLOP/s)方面表现如何比较?
  • RQ3通过算法与架构优化,能否在GPU上显著缓解内存带宽限制?
  • RQ4在Titan超算的16,384块GPU上,求解器的弱缩放与强缩放行为如何?
  • RQ5通过重叠通信与计算,以及在粗粒度层级提升并行度,能否提高GPU利用率与整体性能?

主要发现

  • 在16,384块GPU上求解包含0.55×10^12个未知数的系统时,CG求解器实现了0.78 PFLOPs的性能,达到理论峰值性能的3%。
  • CG求解器利用了超过40%的峰值内存带宽,尽管算术强度较高,仍表现出高效的内存访问性能。
  • 张量积几何多重网格求解器在约一秒内求解了包含0.5×10^12个未知数的线性系统,由于迭代次数更少,性能优于CG。
  • 尽管多重网格法的每秒浮点运算性能(FLOP/s)略低于CG,但凭借最优的迭代次数实现了更快的收敛速度。
  • 初步实验表明,异步通信交换与并行三对角求解器在粗粒度多重网格层级上可实现高达两倍的加速潜力。
  • 与HECToR超算上的CPU实现相比,GPU实现的性能快约四倍,凸显了GPU加速在该类问题上的显著优势。

更好的研究,从现在开始

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

无需绑定信用卡

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