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に対して、アルゴリズム的に最適な反復解法—共役勾配法(CG)およびテンソル積幾何的多重グリッド—のペタスケールで多GPUに実装された手法を提示する。これらの解法は16,384個のGPUで最大0.78 PFLOPsの性能を達成し、未知数が0.55兆個のシステムを解く。多重グリッド法は、反復回数が優れており、GPUクラスタでのメモリアクセス効率も高いことから、未知数が5千亿個のシステムに対しても1秒未満で収束する。

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.

研究の動機と目的

  • 大気モデルに生じる大規模な異方的楕円型PDEに対する、大規模並列かつGPUアクセラレートされた解法の開発。
  • GPUベースのスパース線形解法におけるメモリ帯域幅のボトルネックを、グローバルメモリアクセスパターンの最適化によって克服すること。
  • 16,384個のGPUを用いたマルチGPUクラスタを用いて、未知数が最大10^12個のシステムでペタスケール性能(1秒あたり10^15回の浮動小数点演算)を達成すること。
  • GPUアーキテクチャ上でアルゴリズム的に最適な解法—プリコンディショニング付きCG法およびテンソル積幾何的多重グリッド法—の性能を比較すること。
  • Titanスーパーコンピュータを用いて、最大16,384個のGPUを用いた弱スケーリングおよび強スケーリングの評価を実施すること。

提案手法

  • 大気モデルの垂直方向に異方的であるPDEに特化した、分散メモリ型のテンソル積幾何的多重グリッド解法の多GPU実装。
  • GPUのコalescing要件に合わせたデータレイアウトの最適化と、グローバルメモリトランザクションの最小化により、メモリアクセスパターンを最適化。
  • CPU-GPUハイブリッドタスクディスパッチ戦略を採用し、細かいレベルの計算をGPUに、粗いレベルの計算をCPUに割り当てることで、データ移動を低減。
  • 通信と計算を重ねる非同期ハロウ交換を適用し、GPUクラスタにおける効率を向上。
  • 粗い多重グリッドレベルで並列三重対角行列解法(例:サイクルリダクションまたは部分分割法)を採用し、スレッドレベルの並列性を向上。
  • Kepler GK110 GPU上で倍精度演算を実行し、理論ピーク性能およびCPUベースの実装と比較して性能をベンチマーク。

実験結果

リサーチクエスチョン

  • RQ116,384個のGPUを用いたマルチGPU実装による幾何的多重グリッド法およびプリコンディショニング付きCG法が、未知数が最大10^12個のシステムでペタスケール性能を達成できるか。
  • RQ2GPUクラスタ上での収束速度およびFLOP/s効率の観点から、多重グリッド法とCG法の性能をどのように比較できるか。
  • RQ3GPU上でのアルゴリズム的およびアーキテクチャ的最適化によって、メモリ帯域幅の制限をどの程度軽減できるか。
  • RQ4Titanスーパーコンピュータの16,384個のGPUを用いた場合、解法の弱スケーリングおよび強スケーリングの挙動はどのようになるか。
  • RQ5通信と計算の重ね合わせおよび粗いレベルでの並列性の向上により、GPUの利用効率と全体の性能が向上するか。

主な発見

  • 未知数が0.55×10^12個のシステムを解く際、CG法は16,384個のGPUで0.78 PFLOPsの性能を達成し、理論ピーク性能の3%に達した。
  • CG法はピークメモリ帯域幅の40%以上を活用しており、高い演算強度にもかかわらず、効率的なメモリアクセスを実現した。
  • テンソル積幾何的多重グリッド法は、未知数が0.5×10^12個の線形システムを約1秒で解き、反復回数が少ないためCG法を上回った。
  • 多重グリッド法はFLOP/s性能はCG法よりわずかに低かったが、最適な反復回数のおかげでより速い収束を達成した。
  • 非同期ハロウ交換および並列三重対角行列解法の予備実験により、粗い多重グリッドレベルで最大2倍の高速化の可能性が示された。
  • HECToRスーパーコンピュータ上でのCPUベースのコードと比較して、GPU実装は約4倍速く、この問題クラスにおけるGPUアクセラレーションの優位性を示した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。