Skip to main content
QUICK REVIEW

[論文レビュー] A lightweight optimization selection method for Sparse Matrix-Vector Multiplication

Athena Elafrou, Georgios Goumas|arXiv (Cornell University)|Nov 8, 2015
Parallel Computing and Optimization Techniques参考文献 21被引用数 5
ひとこと要約

本稿では、スパース行列-ベクトル乗算(SpMV)のための軽量でアーキテクチャに配慮した最適化選択手法を提案する。この手法は、オンラインプロファイリングまたは行列の構造的特徴を用いて、パフォーマンスボトルネックを分類し、最適な最適化を自動的に選択可能にする。本手法は、アーキテクチャ中心のアプローチに比べて、多くのコアプラットフォームで29%のパフォーマンス向上を達成した。これは、最小限のランタイムオーバーヘッドで、行列固有のボトルネックに最適な最適化を正確にマッチングすることで実現された。

ABSTRACT

In this paper, we propose an optimization selection methodology for the ubiquitous sparse matrix-vector multiplication (SpMV) kernel. We propose two models that attempt to identify the major performance bottleneck of the kernel for every instance of the problem and then select an appropriate optimization to tackle it. Our first model requires online profiling of the input matrix in order to detect its most prevailing performance issue, while our second model only uses comprehensive structural features of the sparse matrix. Our method delivers high performance stability for SpMV across different platforms and sparse matrices, due to its application and architecture awareness. Our experimental results demonstrate that a) our approach is able to distinguish and appropriately optimize special matrices in multicore platforms that fall out of the standard class of memory bandwidth bound matrices, and b) lead to a significant performance gain of 29% in a manycore platform compared to an architecture-centric optimization, as a result of the successful selection of the appropriate optimization for the great majority of the matrices. With a runtime overhead equivalent to a couple dozen SpMV operations, our approach is practical for use in iterative numerical solvers of real-life applications.

研究の動機と目的

  • 多様なアーキテクチャとスパース行列において、安定的でポータブルかつ低オーバーヘッドなSpMV最適化戦略の不足を解消すること。
  • プラットフォーム固有であり、高いランタイムオーバーヘッドを伴うか、一貫したパフォーマンス向上を提供しない既存の最適化の限界を克服すること。
  • 特定の行列とアーキテクチャに対して、最も効果的な最適化を自動的に選択する手法を構築し、パフォーマンスの安定性とポータビリティを確保すること。
  • 最適化選択のランタイムコストを最小限に抑えることで、反復的数値ソルバーへの実用的統合を可能にすること。
  • 最適化の実行時間を直接予測する代わりに、パフォーランスボトルネックを分類することで、最適化選択を特定の最適化から分離すること。

提案手法

  • 各クラスが異なるパフォーランスボトルネック(例:メモリ帯域幅、ロードアンバランス、不規則なメモリアクセス)を表す分類問題として、SpMV最適化選択を定式化する。
  • ターゲットアーキテクチャ上で行列アクセスパターンとメモリ動作を測定することで、主要なパフォーランスボトルネックを特定するマイクロベンチマークを用いたプロファイリングベースの分類器を実装する。
  • スパース行列の包括的構造的特徴(例:行長さ分布、スパarsityパターン)を用いて、事前学習段階で機械学習(決定木およびナイーブベイズ)を用いて訓練した特徴ベースの分類器を開発する。
  • プロファイリングベースの分類器を用いて、特徴ベースの分類器の学習データを生成することで、ランタイムプロファイリングを必要とせずに正確なボトルネック予測を可能にする。
  • 特定のボトルネックに応じて、対応する最適化(例:再順序付け、フォーマット選択、ブロッキング)にマッピングすることで、そのボトルネックをターゲットとするあらゆる最適化と互換性を確保する。
  • 特徴ベースの分類器を数十回のSpMV操作に制限することで、最小限のランタイムオーバーヘッドを実現し、実用的な応用に適した設計を確保する。

実験結果

リサーチクエスチョン

  • RQ1特定の行列とアーキテクチャに対して、自動的に最も効果的なSpMV最適化を選択できる軽量でクロスプラットフォーム対応の手法を開発できるか?
  • RQ2実行時間を直接予測するのではなく、パフォーランスボトルネックを分類することで、多様な行列とプラットフォーム間でより安定的かつポータブルな最適化選択が可能になるか?
  • RQ3スパース行列の構造的特徴が、高精度でそのパフォーランスボトルネックを予測できる程度はどの程度か? これにより、高コストなオンラインプロファイリングを回避できるか?
  • RQ4現代の多くのコアおよびマルチコアプラットフォームにおいて、本手法はアーキテクチャ中心の最適化戦略に比べて、パフォーマンス向上とオーバーヘッドの両面で優れているか?
  • RQ5主なボトルネックを解消した後に二次的なボトルネックを同定することで、段階的または多段階の最適化をサポートできるか?

主な発見

  • 提案手法は、Intel Xeon Phi多くのコアプラットフォームにおいて、アーキテクチャ中心の最適化に比べて29%のパフォーランス向上を達成した。これは、知的で適切な最適化選択によって顕著な改善が実現されたことを示している。
  • マルチコアプラットフォームでは、本手法が標準的な最適化戦略が無視しがちな、メモリ帯域幅に制限されない特殊な行列を効果的に特定・最適化できることを示した。
  • 特徴ベースの分類器は、わずか数10回のSpMV操作分のランタイムオーバーヘッドに留まり、反復的数値ソルバーへの統合に実用的であることを示した。
  • プロファイリングベースの分類器は、行列アクセス特性を測定することで、主要なパフォーランスボトルネックを効果的に特定し、正確な最適化マッピングを可能にした。
  • プロファイリング分類器のデータを用いて学習された機械学習ベースの特徴分類器は、オンラインプロファイリングを必要とせずに、高い精度でボトルネック予測を実現した。
  • ボトルネック分類を特定の最適化から分離することで、システム全体の再トレーニングや再設計なしに、新しい最適化を容易にフレームワークに統合できるようになった。

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

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

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

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