Skip to main content
QUICK REVIEW

[論文レビュー] Adaptive SpMV/SpMSpV on GPUs for Input Vectors of Varied Sparsity

Min Li, Yulong Ao|arXiv (Cornell University)|Jun 30, 2020
Parallel Computing and Optimization Techniques参考文献 38被引用数 5
ひとこと要約

この論文では、入力ベクトルのスパarsityとハードウェア特性に基づいて実行時において8つの最適化されたカーネルのうち動的に選択を行う、GPU向けの適応的SpMV/SpMSpVフレームワークを提案する。軽量なアンサンブル機械学習カーネル選択器を用いることで、NVIDIA K40m、P100、V100 GPU上でBFSおよびPageRankワークロードにおいて、先行する最先端手法よりも顕著な性能向上を達成している。

ABSTRACT

Despite numerous efforts for optimizing the performance of Sparse Matrix and Vector Multiplication (SpMV) on modern hardware architectures, few works are done to its sparse counterpart, Sparse Matrix and Sparse Vector Multiplication (SpMSpV), not to mention dealing with input vectors of varied sparsity. The key challenge is that depending on the sparsity levels, distribution of data, and compute platform, the optimal choice of SpMV/SpMSpV kernel can vary, and a static choice does not suffice. In this paper, we propose an adaptive SpMV/SpMSpV framework, which can automatically select the appropriate SpMV/SpMSpV kernel on GPUs for any sparse matrix and vector at the runtime. Based on systematic analysis on key factors such as computing pattern, workload distribution and write-back strategy, eight candidate SpMV/SpMSpV kernels are encapsulated into the framework to achieve high performance in a seamless manner. A comprehensive study on machine learning based kernel selector is performed to choose the kernel and adapt with the varieties of both the input and hardware from both accuracy and overhead perspectives. Experiments demonstrate that the adaptive framework can substantially outperform the previous state-of-the-art in real-world applications on NVIDIA Tesla K40m, P100 and V100 GPUs.

研究の動機と目的

  • GPU上でのスパース行列とスパースベクトルの積(SpMSpV)に対する効率的な最適化が不足している問題に対処すること、特に実行中に入力ベクトルのスパarsityが変化する場合に焦点を当てる。
  • 静的カーネル選択の限界を克服すること。静的選択は、多様な入力スパarsityレベル、データ分布、進化するGPUアーキテクチャに適応できない。
  • 入力およびハードウェア特性に基づいて実行時において最適なSpMV/SpMSpVカーネルを自動的に選択できる柔軟で高パフォーマンスなフレームワークを設計すること。
  • 多様なアプリケーションおよびハードウェア環境において、予測精度と計算コストのバランスを取る低オーバーヘッドで正確なカーネル選択器を機械学習を用いて開発すること。

提案手法

  • 計算パターン、ワークロード分布、書き戻し戦略といった主要なパフォーマンス要因を体系的に分析し、8つの候補となるSpMV/SpMSpVカーネルを同定する。
  • 行列駆動の行優先とベクトル駆動の列優先SpMSpVパターンを組み合わせたハイブリッドカーネル空間を設計し、ロードバランスとメモリアクセスパターンのバリエーションを含む。
  • 2,010個の実世界のスパース行列と多様な入力ベクトルを用いて学習した、3モデルのアンサンブル(例:決定木)を用いたカーネル選択器を実装し、最適なカーネルを予測する。
  • 入力特性を評価し、最小限のオーバーヘッドで最良のパフォーマンスを発揮するカーネルを選択するランタイムフレームワークにカーネル選択器を統合する。
  • スパarsityと行列構造に基づいて、書き戻し戦略とワークロード分布を最適化することで、メモリアクセスとスレッド分岐を効果的に制御する。
  • カーネル選択を低レベルのハードウェア詳細から分離することで、K40m、P100、V100などの異なるGPUプラットフォームへの移植性と適応性を確保する。

実験結果

リサーチクエスチョン

  • RQ1入力ベクトルのスパarsityが変化するGPU上でのSpMV/SpMSpV効率に影響を与える主要なパフォーマンス要因は何か?
  • RQ22つより多いカーネルバージョンのセットを用いることで、多様な入力およびハードウェア設定において性能を顕著に向上させられるか?
  • RQ3動的SpMV/SpMSpVワークロードに適した、高い精度と低ランタイムオーバーヘッドを両立する機械学習ベースのカーネル選択器はどのように設計できるか?
  • RQ4提案された適応的フレームワークは、実世界のグラフおよび機械学習ワークロードにおいて、静的またはヒューリスティックベースのカーネル選択よりもどれほど優れているか?
  • RQ5チューニングを再実施することなく、異なるGPUアーキテクチャにわたってフレームワークの一般化性能はどの程度高いか?

主な発見

  • 提案された適応的フレームワークは、NVIDIA K40m、P100、V100 GPU上でのBFSおよびPageRankワークロードにおいて、先行する最先端手法よりも顕著なパフォーマンス向上を達成している。
  • フレームワークの機械学習ベースのカーネル選択器は、予測オーバーヘッドを低減しつつ高い正確性を維持しており、最小限のパフォーマンスペナルティでリアルタイムでのカーネル選択を可能にしている。
  • 異なる計算パターン、ワークロード分布、書き戻し戦略をカバーする8つの多様なカーネルバージョンの導入により、変化する入力スパarsityおよび行列構造への適応性が向上している。
  • フレームワークは、アーキテクチャごとの手動チューニングを必要とせず、異なるGPUプラットフォーム間で一貫したパフォーマンス向上を示しており、一般化性能が優れている。
  • ヒューリスティックベースの方法(固定スパarsity閾値を用いたカーネル切り替えに依存するプッシュプルライブラリからのもの)に比べて、適応的アプローチは顕著に優れた性能を発揮している。
  • アンサンブル機械学習モデルは、未学習の行列および入力ベクトルに対しても高い予測正確性を達成しており、その頑健性とスケーラビリティが裏付けられている。

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

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

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

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