[論文レビュー] CSR5: An Efficient Storage Format for Cross-Platform Sparse Matrix-Vector Multiplication
CSR5は、形式変換のオーバーヘッドを最小限に抑え、正則および不規則な行列において一貫したパフォーマンスを確保することで、CPU、GPU、Xeon Phiで高スループットなスパース行列-ベクトル乗算(SpMV)を実現する、新しいスパース行列ストレージ形式である。構造に依存しない、SIMDフレンドリーな設計を採用し、チューニングパラメータをわずか2つに抑え、不規則な行列においてXeon Phiで、先行研究の手法よりも最大943.3%高いパフォーマンスを達成している。
Sparse matrix-vector multiplication (SpMV) is a fundamental building block for numerous applications. In this paper, we propose CSR5 (Compressed Sparse Row 5), a new storage format, which offers high-throughput SpMV on various platforms including CPUs, GPUs and Xeon Phi. First, the CSR5 format is insensitive to the sparsity structure of the input matrix. Thus the single format can support an SpMV algorithm that is efficient both for regular matrices and for irregular matrices. Furthermore, we show that the overhead of the format conversion from the CSR to the CSR5 can be as low as the cost of a few SpMV operations. We compare the CSR5-based SpMV algorithm with 11 state-of-the-art formats and algorithms on four mainstream processors using 14 regular and 10 irregular matrices as a benchmark suite. For the 14 regular matrices in the suite, we achieve comparable or better performance over the previous work. For the 10 irregular matrices, the CSR5 obtains average performance improvement of 17.6\%, 28.5\%, 173.0\% and 293.3\% (up to 213.3\%, 153.6\%, 405.1\% and 943.3\%) over the best existing work on dual-socket Intel CPUs, an nVidia GPU, an AMD GPU and an Intel Xeon Phi, respectively. For real-world applications such as a solver with only tens of iterations, the CSR5 format can be more practical because of its low-overhead for format conversion. The source code of this work is downloadable at https://github.com/bhSPARSE/Benchmark_SpMV_using_CSR5
研究の動機と目的
- SpMVに特化した形式とCSR間の形式変換の高いオーバーヘッド、特にソルバーで数十回のイテレーションしか使用しない場合の課題を解決すること。
- 多様なアーキテクチャで正則および不規則なスパース行列の両方において高いパフォーマンスを発揮する、単一のストレージ形式を設計すること。
- 構造に依存するパrameterチューニングを最小限に抑え、最適化されたSpMV形式の実用的導入を妨げる要因を排除すること。
- CPU、GPU、Xeon Phiで一貫したデータレイアウトと高いSIMD利用度を活かし、統一的で低オーバーヘッドな形式により、効率的なSpMVを実現すること。
- イテレーションベースの科学計算における、最適化された形式と標準のCSR形式との間のパフォーマンス格差を縮小すること。
提案手法
- 古典的なCSR形式を拡張し、3つの配列のうち2つをインプレイスにタイル変換した順序で格納し、残りの1つの配列は変更しないまま保持する。
- 短く構造に依存しない2つの新しい補助データグループを導入し、メモリオーバーヘッドを低減する。
- 現代のプロセッサ向けに最適化された、低オーバーヘッドのセグメント化された和計算アルゴリズム(segmented sum algorithm)を再設計する。
- ハードウェア依存の1つとスパarsity依存の1つ(構造に依存しない)の合計2つのチューニングパラメータのみを用い、高速な形式変換を可能にする。
- 一貫したデータレイアウトと高いSIMD利用度を活かし、CPU、NVIDIA GPU、AMD GPU、Intel Xeon Phiで効率的なSpMVを実現する。
- 標準のCSRベースのツールとの互換性を維持し、SpMV演算数個分のオーバーヘッドに相当するコストで、高速な形式変換が可能である。
実験結果
リサーチクエスチョン
- RQ1構造に依存するチューニングなしで、正則および不規則なスパース行列の両方において、高スループットなSpMVパフォーマンスを実現できる単一のストレージ形式は可能か?
- RQ2多様なプラットフォームで高パフォーマンスなSpMVを実現するために必要な最小限の形式変換コストは何か?
- RQ3CSR5は、11の最先端SpMV形式と比較して、孤立したSpMVおよびイテレーションベースのワークロードにおいて、どのように性能を発揮するか?
- RQ4形式変換コストが重要な限られたイテレーション数(数十回)での実世界のソルバーにおいて、CSR5はCSRベースのSpMVを上回ることができるか?
- RQ5CSR5は、CPU、GPU、Xeon Phiの3つすべてのプラットフォームで、一貫した高パフォーマンスを発揮する唯一の形式であるか?
主な発見
- 10個の不規則な行列について、CSR5はデュアルソケットIntel CPU、NVIDIA GPU、AMD GPU、Intel Xeon Phiそれぞれにおいて、最良の既存手法と比較して平均で17.6%、28.5%、173.0%、293.3%のパフォーマンス向上を達成した。
- Xeon Phiでは、不規則な行列において、最良の先行手法と比較して最大943.3%高いパフォーマンスを達成した。
- 50イテレーションのイテレーションベースのシナリオにおいて、前処理コストが低い他の形式を含め、CSR5はすべての形式よりも高い全体的なスループット向上を達成した。
- 500イテレーションの場合、CSR5はすべてのプラットフォームで最高の全体的なスループット向上を維持し、持続的な効率性を示した。
- 50イテレーションでの実行において、CSR5は唯一、標準のCSR形式を上回るパフォーマンスを発揮した。これは、その形式変換オーバーヘッドが最小限であるためである。
- CSRからCSR5への形式変換コストは、数回のSpMV演算のコストに相当するほど低く、限られたイテレーション数での実世界のソルバーにおいて実用的である。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。