Skip to main content
QUICK REVIEW

[論文レビュー] Accelerating the SpMV kernel on standard CPUs by exploiting the partially diagonal structures

Takeshi Fukaya, Koki Ishida|arXiv (Cornell University)|May 11, 2021
Parallel Computing and Optimization Techniques参考文献 30被引用数 6
ひとこと要約

この論文では、DIAとCSRを組み合わせた改良型ハイブリッドストレージ形式であるM-HDCフォーマットを提案する。このフォーマットは、スパース行列に存在する部分的な対角構造を効果的に活用し、現代のマルチコアCPUにおけるSpMVを顕著に高速化する。キャッシュブロッキングと構造抽出の最適化により、M-HDCカーネルは、特にメモリ帯域幅が性能を決定づけるオフキャッシュ状況において、CSR形式よりも最大2.5倍の高速化を達成した。

ABSTRACT

Sparse Matrix Vector multiplication (SpMV) is one of basic building blocks in scientific computing, and acceleration of SpMV has been continuously required. In this research, we aim for accelerating SpMV on recent CPUs for sparse matrices that have a specific sparsity structure, namely a diagonally structured sparsity pattern. We focus a hybrid storage format that combines the DIA and CSR formats, so-called the HDC format. First, we recall the importance of introducing cache blocking techniques into HDC-based SpMV kernels. Next, based on the observation of the cache blocked kernel, we present a modified version of the HDC formats, which we call the M-HDC format, in which partial diagonal structures are expected to be more efficiently picked up. For these SpMV kernels, we theoretically analyze the expected performance improvement based on performance models. Then, we conduct comprehensive experiments on state-of-the-art multi-core CPUs. By the experiments using typical matrices, we clarify the detailed performance characteristics of each SpMV kernel. We also evaluate the performance for matrices appearing in practical applications and demonstrate that our approach can accelerate SpMV for some of them. Through the present paper, we demonstrate the effectiveness of exploiting partial diagonal structures by the M-HDC format as a promising approach to accelerating SpMV on CPUs for a certain kind of practical sparse matrices.

研究の動機と目的

  • 構造的スパース行列に対しては潜在的な利点を有するが、現代のマルチコアCPUではDIAベースのSpMVで性能向上が限定的であるという問題に取り組む。
  • キャッシュブロッキングとフォーマットハイブリダイゼーション(DIA+CSR)が、部分的対角構造を持つ行列におけるSpMV性能に与える影響を調査する。
  • 既存のHDCフォーマットよりも部分的対角パターンをより効率的に捉えることができる、洗練されたストレージフォーマット(M-HDC)を開発する。
  • 最新のCPUアーキテクチャ上での、CSRおよび標準HDCフォーマットに対する性能向上の理論的・実験的妥当性を検証する。
  • SIMDベクトル化がもたらす利点が発揮される条件を明確化する。特に、キャッシュ内 vs. キャッシュ外の動作領域を区別する。

提案手法

  • 部分的対角構造をより効果的に抽出・活用できるように最適化されたHDC(ハイブリッドDIA-CSR)フォーマットの変種として、M-HDCフォーマットを提案する。
  • M-HDCベースのSpMVカーネルにキャッシュブロッキング技術を導入し、データ局所性を向上させ、キャッシュミスを低減する。
  • M-HDCとCSR、HDCフォーマット間の高速化を予測可能な性能モデルを構築する。
  • 合成ステンシル行列と実世界の応用行列を用いて、最新のマルチコアCPU上でM-HDC、B-HDC(ブロック化HDC)、CSRカーネルを実装・ベンチマークする。
  • 入力行列から部分的対角を抽出するためのナイーブな構造特定アルゴリズムを用い、フォーマット変換のオーバーヘッドを独立して評価する。
  • 複数の行列サイズを用いた性能比較により、メモリ帯域幅とSIMDベクトル化の影響を分離して分析する。

実験結果

リサーチクエスチョン

  • RQ1M-HDCフォーマットは、現代のマルチコアCPU上で、CSRおよび標準HDCフォーマットと比較して、どのようにSpMV性能を向上させるか?
  • RQ2キャッシュブロッキングは、部分的対角構造を持つDIAベースのSpMVカーネルの性能にどのような影響を与えるか?
  • RQ3SIMDベクトル化が、SpMVカーネルにおいて顕著な高速化をもたらすのは、どのメモリアクセス領域(キャッシュ内 vs. キャッシュ外)か?
  • RQ4どのような実用的スパース行列のクラスにおいて、部分的対角構造の活用が顕著な性能向上をもたらすか?
  • RQ5メモリアクセスパターンに基づく理論的性能モデルは、実ハードウェア上での実測結果とどの程度整合するか?

主な発見

  • M-HDCフォーマットは、部分的対角構造を持つ大規模な実世界のスパース行列において、CSRカーネルと比較して最大2.5倍の高速化を達成した。特にオフキャッシュ状況で顕著な向上が見られた。
  • 性能向上は、行列サイズがキャッシュ容量を超えた場合に顕著であり、この状況ではSIMD利用度ではなく、メモリ帯域幅が性能の主な制約要因となる。
  • キャッシュ内領域ではSIMDベクトル化が性能を顕著に向上させるが、オフキャッシュ状況ではその恩恵が著しく減少する。
  • メモリアクセスパターンに基づく理論的性能モデルは、観測された高速化トレンドを正確に予測でき、モデルの信頼性を裏付けた。
  • B-HDCカーネル(キャッシュブロッキング済みHDC)は、標準HDCよりも優れた性能を示し、ハイブリッドフォーマットにおけるキャッシュに配慮した最適化の重要性を確認した。
  • 数値ライブラリにおける実用的応用を鑑みるに、CSRからM-HDCへのフォーマット変換のコストを最小限に抑える必要があることが判明した。現状、この変換オーバーヘッドが全体のオーバーヘッドを支配している。

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

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

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

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