Skip to main content
QUICK REVIEW

[論文レビュー] Porting of the DBCSR library for Sparse Matrix-Matrix Multiplications to Intel Xeon Phi systems

Iain Bethune, Andeas Gloess|arXiv (Cornell University)|Aug 11, 2017
Parallel Computing and Optimization Techniques参考文献 12被引用数 6
ひとこと要約

本稿では、スパース行列-行列積(SpGEMM)に最適化された DBCSR ライブラリの Intel Xeon Phi Knights Landing (KNL) システムへの移植およびパフォーマンスを評価している。KNL を搭載した Cray XC40 システムを Xeon CPU および GPU アクcelerated の Cray XC50 システムと比較したところ、KNL システムは GPU システムに比べて 11–14% 遅かったが、CPU 僅用のシステムに比べて最大 24% 速く、全キャッシュおよびクアッドランティングクラスタリングモードで最適なパフォーマンスを発揮した。

ABSTRACT

Multiplication of two sparse matrices is a key operation in the simulation of the electronic structure of systems containing thousands of atoms and electrons. The highly optimized sparse linear algebra library DBCSR (Distributed Block Compressed Sparse Row) has been specifically designed to efficiently perform such sparse matrix-matrix multiplications. This library is the basic building block for linear scaling electronic structure theory and low scaling correlated methods in CP2K. It is parallelized using MPI and OpenMP, and can exploit GPU accelerators by means of CUDA. We describe a performance comparison of DBCSR on systems with Intel Xeon Phi Knights Landing (KNL) processors, with respect to systems with Intel Xeon CPUs (including systems with GPUs). We find that the DBCSR on Cray XC40 KNL-based systems is 11%-14% slower than on a hybrid Cray XC50 with Nvidia P100 cards, at the same number of nodes. When compared to a Cray XC40 system equipped with dual-socket Intel Xeon CPUs, the KNL is up to 24% faster.

研究の動機と目的

  • 大規模なスパース行列-行列積のための Intel Xeon Phi Knights Landing (KNL) プロセッサ上での DBCSR ライブラリのパフォーマンスを評価すること。
  • 実行時間およびスケーラビリティの観点から、KNL を搭載したシステムを従来の Xeon CPU および GPU アクセラレートされたシステムと比較すること。
  • DBCSR パフォーマンスを最大化するために最適な KNL の設定(メモリモード、クラスタリングなど)を同定すること。
  • 分散メモリ環境における通信、メモリ帯域幅、並列スレッドの影響を評価すること。
  • KNL システムが、線形スケーリング電子構造シミュレーションにおいて GPU アクセラレートまたは CPU 僅用のシステムの代替として実用的であるかどうかを特定すること。

提案手法

  • DBCSR ライブラリ(元々 MPI+OpenMP および CUDA 用に最適化されていた)を、同一のソースコードと標準的なコンパイラ最適化を用いて Intel Xeon Phi KNL システムで動作可能に移植した。
  • 分散スパース行列乗算のための 2.5D 通信低減アルゴリズムを採用し、MPI プロセス間の通信コストを最小限に抑えた。
  • Funneled モードで非同期 MPI 呼び出しを用いて、通信と計算を重ね合わせ、KNL および他のアーキテクチャでの効率を向上させた。
  • 局所ブロック乗算におけるデータ局所性を向上させるために、キャッシュに依存しないマトリクス走査を適用した。
  • 高帯域幅 MCDRAM を活用し、メモリアクセスパターンを改善するために、KNL システムを全キャッシュおよびクアッドランティングクラスタリングモードで設定した。
  • 最大 144 ノードで実行した 3 つのベンチマーク(S-E, H2O-DFT-LS, AMORPH)において、実行時間および時間分解(通信、計算、初期化)を比較してパフォーマンス測定を実施した。

実験結果

リサーチクエスチョン

  • RQ1スパース行列-行列積の文脈で、KNL を搭載したシステム上の DBCSR ライブラリのパフォーマンスは、GPU アクセラレートおよび CPU 僅用のシステムと比べてどの程度か?
  • RQ2KNL のメモリ構成(例:全キャッシュモード対 FLAT モード)が、DBCSR 実行時間およびスケーラビリティに与える影響は何か?
  • RQ3通信オーバーヘッドおよびスレッドレベルの負荷不均衡は、KNL および他のアーキテクチャのパフォーマンスにどのように影響するか?
  • RQ4異なる SpGEMM ワークロードおよびブロックサイズに対して、どのシステム構成(KNL、GPU、CPU)が最良のソリューション到達時間(time-to-solution)を達成するか?
  • RQ52.5D アルゴリズムおよび静的ブロック分割は、KNL におけるパフォーマンスおよびスケーラビリティにどの程度影響を与えるか?

主な発見

  • 同じノード数で比較した場合、Cray XC50 システムに NVIDIA P100 GPU を搭載したハイブリッド環境に比べ、Cray XC40 KNL システム上での DBCSR ライブラリは 11–14% 遅かった。
  • 同じワークロードに対して、双ソケット Intel Xeon CPU システムに比べ、KNL システムは最大 24% 速かった。
  • DRAM を MCDRAM に代えて使用した場合、KNL 上のパフォーマンスは顕著に低下(10–56% の遅延)し、メモリモード設定の重要性が浮き彫りになった。
  • 最良のパフォーマンスは、KNL を全キャッシュモードおよびクアッドランティングクラスタリングモードで動作させ、ハイパースレッディングを無効化した状態で達成された。
  • 通信時間(mpi_waitall を用いて測定)は、ベンチマーク全体で合計実行時間の 15–57% を占めており、KNL および MC システムでは特に高い割合を示した。
  • AMORPH ベンチマークは、計算強度が高いため、スレッドスケーラビリティが最も優れていたが、静的ブロック分割およびランタイムフィルタリングの影響で、最大 30% の負荷不均衡が観察された。

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

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

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

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