[論文レビュー] Optimizing Sparse Matrix-Vector Multiplication on Emerging Many-Core Architectures
本論文では、Intel Knights Landing (KNL) および ARM ベースの FT-2000Plus (FTP) といった新興のマルチコアアーキテクチャ向けに、スパース行列-ベクトル乗算 (SpMV) の最適な表現を自動的に選択する機械学習ベースのフレームワークを提案する。956個のスパース行列と5つのストレージ形式で構成される9,500回のプロファイリング実行結果を用いて事前学習された予測モデルにより、KNLでは最良のパフォーマンスの95%、FTPでは91%に達する性能を発揮し、実行時におけるプロファイリングオーバーヘッドはゼロとなる。
Sparse matrix vector multiplication (SpMV) is one of the most common operations in scientific and high-performance applications, and is often responsible for the application performance bottleneck. While the sparse matrix representation has a significant impact on the resulting application performance, choosing the right representation typically relies on expert knowledge and trial and error. This paper provides the first comprehensive study on the impact of sparse matrix representations on two emerging many-core architectures: the Intel's Knights Landing (KNL) XeonPhi and the ARM-based FT-2000Plus (FTP). Our large-scale experiments involved over 9,500 distinct profiling runs performed on 956 sparse datasets and five mainstream SpMV representations. We show that the best sparse matrix representation depends on the underlying architecture and the program input. To help developers to choose the optimal matrix representation, we employ machine learning to develop a predictive model. Our model is first trained offline using a set of training examples. The learned model can be used to predict the best matrix representation for any unseen input for a given architecture. We show that our model delivers on average 95% and 91% of the best available performance on KNL and FTP respectively, and it achieves this with no runtime profiling overhead.
研究の動機と目的
- Intel Knights Landing (KNL) および FT-2000Plus (FTP) といった新興のマルチコアアーキテクチャにおけるスパース行列表現の影響を調査すること。
- 最適な SpMV 表現が、基盤となるアーキテクチャと入力行列のスパarsityパターンの両方に依存することを特定すること。
- 実行時におけるプロファイリングを一切行わず、特定のアーキテクチャ上で未観測の入力に対して最良の行列表現を選択する予測モデルを開発すること。
- 軽量でデプロイ可能なソリューションを用いて、多様なマルチコアシステム上で自動的かつ高パフォーマンスな SpMV ワークロードを実現すること。
- スパース行列を含むハイパフォーマンスコンピューティング (HPC) ワークロードにおけるパフォーマンスの移植性と最適化のためのフレームワークを提供すること。
提案手法
- KNL および FTP アーキテクチャ上で、956個の代表的スパースデータセットを対象に、9,500回を超える大規模なパフォーマンス評価を実施した。
- CSR、CSR5、ELL、SELL、HYB の5つの主流なスパース行列表現を評価し、スパarsityパターンやアーキテクチャの違いに応じたパフォーマンスを測定した。
- スパarsityパターン、非ゼロ要素の分布、行列次元などの定量的行列特徴量を、機械学習モデルの入力として抽出した。
- これらの特徴量とそれに該当する最適な表現選択結果を用いて、事前学習段階で機械学習モデルを訓練し、新しい入力に対する最良のフォーマットを予測するようにした。
- 実行時に学習済みモデルをデプロイし、追加のプロファイリングや計算オーバーヘッドなしに最良の表現を選択した。
- アーキテクチャおよび行列の両方に一般化可能な予測モデリング手法を採用し、ソースコードの変更なしに即座にデプロイ可能であることを実現した。
実験結果
リサーチクエスチョン
- RQ1KNL や FTP といった新興のマルチコアアーキテクチャ上での、さまざまなスパース行列表現が SpMV パフォーマンスに与える影響は何か?
- RQ2KNL や FTP 上での SpMV 表現のパフォーマンスに影響を与える主なアーキテクチャ的要因および行列固有の要因は何か?
- RQ3代表的な行列とアーキテクチャのデータセットで学習された機械学習モデルは、未観測の入力に対して最適な SpMV 表現を正確に予測できるか?
- RQ4このような予測モデルは、KNL や FTP において実行時プロファイリングなしに、どの程度の近似最適パフォーマンスを達成できるか?
- RQ5これらのアーキテクチャ上での最良の表現のパフォーマンスは、スパarsityパターンや行列サイズの違いによってどのように変化するか?
主な発見
- SpMV の最適なスパース行列表現は、基盤となるアーキテクチャ (KNL 対 FTP) と入力行列のスパarsityパターンに大きく依存する。
- 表現選択の誤りは、SpMV パフォーマンスを著しく低下させる可能性があるため、自動選択の必要性が強調される。
- 提案された機械学習モデルは、未観測の入力に対して KNL で最良パフォーマンスの95%、FTP で91%の性能を達成した。
- 実行時プロファイリングオーバーヘッドがゼロであるため、生産環境へのデプロイに適している。
- 本研究は、KNL および FTP における SpMV 表現パフォーマンスの包括的分析を初めて実施し、アーキテクチャ固有のパフォーマンス特性を明らかにした。
- フレームワークは即座にデプロイ可能であり、ソースコードの変更が不要であるため、既存の HPC パイプラインへのシームレスな統合が可能である。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。