[論文レビュー] Parallelizing the QUDA Library for Multi-GPU Calculations in Lattice Quantum Chromodynamics
この論文は、MPIを用いた複数GPUへのQUDAライブラリの並列化を初めて成功させ、1つのGPUのメモリ制限を超える大規模な格子量子色力学(LQCD)計算においてスケーラブルなパフォーマンスを実現した。非同期メモリ転送による通信と計算のオーバーラップと、InfiniBand接続のGPUクラスタを最適化することで、32 GPUで3 TFlopsを超える強力なスケーリングと4.75 TFlopsの弱いスケーリングを達成し、非GPUクラスターより10倍の性能向上を示した。
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.
研究の動機と目的
- 1つのGPUのメモリ制限を克服するために、マルチGPU並列化を可能にする。
- 大規模LQCDシミュレーションにおけるパフォーマンスボトル neck を解消するため、複数GPUにわたるソルバーのスケーリングを実現する。
- 多くの右辺を必要とする複雑なハドロンスペクトル計算において、高パフォーマンスで費用対効果の高い計算を実現する。
- InfiniBand接続のGPUクラスタ上で、遅延を最小限に抑え、帯域幅を最大限に活用するため、通信と計算のオーバーラップを最適化する。
- 1つのGPUではメモリ制限のため実行不可能だった大規模な格子での生産スケールのLQCD解析を可能にする。
提案手法
- MPIベースのドメイン分割を実装し、複数GPUにクォーク相互作用行列を分散配置する。
- 非同期CUDAメモリ転送(cudaMemcpyAsync)を用いて、通信と計算をオーバーラップする。
- OpenMPIを用いたプロセッサアフィニティバインディングにより、MPIプロセスを適切なCPUソケットに一致させ、メモリ帯域幅を最適化する。
- 非対称Krylovソルバー(例:BiCGstab)の収束を改善するため、偶奇(レッドブラック)プリコンディショニングを適用する。
- NVIDIA GTX 285 GPU上で遅延を最小限に抑え、スループットを最大化するため、データレイアウトとメモリアクセスパターンを最適化する。
- microbenchmarksを実施し、cudaMemcpyおよびcudaMemcpyAsyncの遅延と帯域幅を測定し、初期のIntel 5520チップセットにおけるハードウェア固有のボトル neck を同定した。
実験結果
リサーチクエスチョン
- RQ1MPIを用いた複数GPUへのQUDAライブラリの並列化は、LQCDにおいて1つのGPUのメモリ制限を超えるスケーリングを実現できるか?
- RQ2マルチGPUクラスタ上で、遅延を最小限に抑え、パフォーマンスを最大化するため、通信と計算を効果的にオーバーラップできるか?
- RQ332 GPUのInfiniBand接続システムにおいて、現実的なLQCD問題サイズで達成可能なパフォーマンススケーリング(強スケーリングおよび弱スケーリング)はどの程度か?
- RQ4NUMAトポロジーやPCIe帯域幅といったシステムレベル要因は、LQCDソルバーにおけるマルチGPUパフォーマンスにどのように影響するか?
- RQ5マルチGPU並列化は、1GPUまたは非GPUワークロードと比較して、GPUクラスターノードのコスト効率と利用度をどの程度向上させるか?
主な発見
- 著者らは、物理的に意味のある問題サイズにおいて32 GPUで3 TFlopsを超える強力なスケーリングを達成し、同じプロセッサ数の非GPUクラスターより10倍のパフォーマンス向上を実現した。
- 弱スケーリングでは32 GPUで4.75 TFlopsに達し、システム全体にわたる効果的な負荷分散を示した。
- 非同期メモリ転送(cudaMemcpyAsync)は約50マイクロ秒の遅延を引き起こし、同期的 cudaMemcpy と比較して約11マイクロ秒の遅延と比較して顕著に高いことが判明し、システム固有のハードウェア制限を示している。
- MPIプロセスが誤ったCPUソケットにバインドされているとパフォーマンスが著しく低下し、最適な帯域幅を実現するためには適切なNUMA指向のプロセスバインディングが不可欠であることが明らかになった。
- マルチGPUアプローチにより、243×128格子など、従来1つのGPUではメモリ制限のため実行不可能だった大規模LQCD問題が解けるようになった。
- 最適化されたマルチGPUソルバーは、現在、ドリスティレーション法を用いたハドロンスペクトル計算の生産環境で使用されており、1配置あたり32,768回のソルバー呼び出しを実行し、GPU加速の恩恵を著しく受けている。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。