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(KNL)では、高い算術強度とベクトル化されたカーネルを活用することで、ゲージ力計算で最大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.

研究の動機と目的

  • Intel Knights Landing(KNL)およびNVIDIA GPUを含む、現代のハイパフォーマンスコンピューティングアーキテクチャにMILC格子QCDコードを適合させること。
  • マルチコア、マニーコア、GPUベースのシステムによるプログラミングの複雑化に対処するため、並列処理とメモリ階層の活用を強化すること。
  • 共役勾配ソルバ、ゲージ力、フェルミオン力といった格子QCDの主要ルーチンのパフォーマンスを、専用ライブラリを用いて向上させること。
  • 最適化されたライブラリを用いて、KNLクラスタおよびGPUノードにおける弱スケーリング効率とパフォーマンス向上を評価すること。
  • ライブラリ抽象化とベクトル化により、将来のアーキテクチャへの移植可能性とパフォーマンスの移植可能性を可能にすること。

提案手法

  • QPhiXライブラリを用いて、512ビットSIMDベクトルユニットとOpenMPスレーディングをサポートするIntel Knights Landing(KNL)向けにMILCコードを移植・最適化した。
  • 共役勾配およびゲージ力ルーチンのハイレベル最適化にQOPQDPライブラリを採用し、データ並列線形代数およびI/Oルーチンを活用した。
  • NVIDIA P100およびK20 GPU向けにGPUアクセcelerationを実現するため、QUDAライブラリを用いた。これにより、混合精度計算と効率的なゲージ場圧縮が可能になった。
  • QPhiXにおける構造体の配列(SOA)データレイアウトを採用し、キャッシュ再利用を向上させ、Gridライブラリのメモリモデルと整合した。
  • ゲージ力ルーチンにおける通信パターンを最適化し、レイテンシを低減し、弱スケーリング効率を向上させた。
  • ALCF、NERSC、TACCの複数のスーパーコンputingセンターでベンチマークを実施し、$16^4$および$24^4$格子を用いたsu3_rhmd_hisqアプリケーションを対象とした。

実験結果

リサーチクエスチョン

  • RQ1QPhiXおよびQOPQDP最適化を施したMILCコードのステアッテッド共役勾配ソルバは、Intel Knights Landing上でどのようにスケーリングするか?
  • RQ2KNLクラスタ上でのシマンジック1ループゲージ力の弱スケーリング効率に、高い算術強度とベクトル化が与える影響は何か?
  • RQ3KNLおよびGPUアーキテクチャ上でのゲージ力およびフェルミオン力ルーチンにおいて、QPhiXとQUDAのパフォーマンス特性はどのように異なるか?
  • RQ4QPhiX、QOPQDP、QUDAといった最適化ライブラリの使用は、ベースラインMILCコードと比較して、実行時間の短縮とスケーリング効率の向上をどの程度達成するか?
  • RQ5ハイパースレーディングおよびMPI/OpenMPスレッド設定は、KNLおよびGPUシステムにおけるパフォーマンスとスケーリングにどのように影響するか?

主な発見

  • QPhiX最適化済みステアッテッド共役勾配ソルバは、単一KNLノードでベースラインMILCと比較して1.5倍のパフォーマンス向上を達成したが、クラスタ上ではネットワーク帯域幅が制限要因となった。
  • QPhiXを用いたシマンジック1ループゲージ力ルーチンでは、ベースラインMILCと比較して実行時間が10倍短縮され、算術強度は1.1から2.0を超えるまで上昇した。
  • Cori II(2048ノード)におけるゲージ力の弱スケーリング効率はQPhiXで80%を超えたが、ベースラインコードでは40%にとどまった。
  • 単一GPUノードでは、P100はKNLノードと比較して約2.3倍高いパフォーマンスを示し、K20と比較しても最大5倍の性能向上を達成した。
  • QOPQDP最適化済みのHISQフェルミオン力ルーチンでは、実行時間がベースラインMILCの約20%にまで短縮され、最大64KNLノードで弱スケーリング効率が50–80%を記録した。
  • データリマップのオーバーヘッドは現在、ゲージ力ルーチンと同等の時間であるが、アルゴリズムがQPhiXに完全統合されれば、将来的に短縮される見込みである。

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

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

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

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