Skip to main content
QUICK REVIEW

[論文レビュー] On the Performance Prediction of BLAS-based Tensor Contractions

Elmar Peise, Diego Fabregat‐Traver|arXiv (Cornell University)|Sep 30, 2014
Parallel Computing and Optimization Techniques参考文献 8被引用数 4
ひとこと要約

本論文は、BLASベースのテンソル結合のためのマイクロベンチマーク駆動型パフォーマンス予測フレームワークを提示しており、実行せずに数百通りの可能な分解のうち最速のアルゴリズムを正確に特定できる。キャッシュ状態をエミュレートし、低レベルのBLASカーネルを独立して計測することで、高い精度でパフォーマンスを予測し、特に細粒度のBLAS呼び出しを含むアルゴリズムにおいて、直接的なアルゴリズム実行と比較して最大10^6×の高速化を達成する。

ABSTRACT

Tensor operations are surging as the computational building blocks for a variety of scientific simulations and the development of high-performance kernels for such operations is known to be a challenging task. While for operations on one- and two-dimensional tensors there exist standardized interfaces and highly-optimized libraries (BLAS), for higher dimensional tensors neither standards nor highly-tuned implementations exist yet. In this paper, we consider contractions between two tensors of arbitrary dimensionality and take on the challenge of generating high-performance implementations by resorting to sequences of BLAS kernels. The approach consists in breaking the contraction down into operations that only involve matrices or vectors. Since in general there are many alternative ways of decomposing a contraction, we are able to methodically derive a large family of algorithms. The main contribution of this paper is a systematic methodology to accurately identify the fastest algorithms in the bunch, without executing them. The goal is instead accomplished with the help of a set of cache-aware micro-benchmarks for the underlying BLAS kernels. The predictions we construct from such benchmarks allow us to reliably single out the best-performing algorithms in a tiny fraction of the time taken by the direct execution of the algorithms.

研究の動機と目的

  • テンソル結合のためのBLASベースの分解が数百通り存在する中で、最速のアルゴリズムを選択するという課題に対処すること。
  • 完全なアルゴリズムを実行せずに、テンソル結合のパフォーマンスを正確に予測できること。
  • 高次元テンソルにおけるキャッシュ動作の違いや次元の偏りが引き起こすパフォーマンスのばらつきを克服すること。
  • スケーラブルで自動化された方法を提供し、ハイパフォーマンスコンピューティングワークロードにおける最適なアルゴリズム選択を可能にすること。
  • 特にBLAS-1およびBLAS-2カーネルが支配的である分野において、テンソル結合の効率的実行を支援すること。

提案手法

  • 本手法は、テンソル結合をGEMM、GEMV、GER、AXPY、DOTなどのBLASカーネルのシーケンスに分解することで、多数のアルゴリズム的バリエーションを生成する。
  • メモリおよびキャッシュ条件を制御した状態で個々のBLAS操作を孤立して計測するマイクロベンチマークを用いる。
  • マイクロベンチマーク内でキャッシュ状態とプリフェッチャ動作をモデル化・再現し、実実行環境を模倣する。
  • マイクロベンチマークの計測結果からパフォーマンス予測を外挿し、すべてのアルゴリズムバリエーションの合計実行時間を推定する。
  • 代表的なワークロード下での低レベルカーネルのプロファイリングに依存することで、完全なアルゴリズム実行を回避する。
  • 本アプローチは、小次元数や10コアを用いたマルチスレッド実行を含む多様なテンソル結合に対して検証済み。

実験結果

リサーチクエスチョン

  • RQ1同じテンソル結合に対して、異なるアルゴリズム的分解がBLASカーネルを用いた場合に及ぼすパフォーマンスへの影響は何か?
  • RQ2完全なアルゴリズムを実行せずに、BLASベースのテンソル結合に対して正確なパフォーマンス予測が可能か?
  • RQ3次元の偏りがあるテンソル結合において、BLASカーネルの選択(例:GEMM対AXPY)がパフォーマンスに与える影響は何か?
  • RQ4低レベルカーネルのマイクロベンチマークは、複雑な高レベルテンソル演算のパフォーマンスをどの程度正確に予測できるか?
  • RQ5実際のアルゴリズムを実行・計測する時間と比較して、予測のオーバーヘッドはどの程度か?

主な発見

  • マイクロベンチマークに基づく予測フレームワークは、性能差が3倍以上に達する場合でさえ、数十通りの代替アルゴリズムの中から最速のものを正しく特定する。
  • Cabc = AijaBjbic の結合において、i′c-gemmおよびi′b-gemmアルゴリズムは1サイクルあたり60 flopsを達成するが、最も遅いjb′-gemmはたったの20 flops/cycleにとどまる。これは顕著なパフォーマンス差を示している。
  • 予測手法は、直接的なアルゴリズム実行と比較して最大10^6×の高速化を達成し、特に細粒度の操作を含むBLAS-1ベースのアルゴリズムで顕著である。
  • 小次元数や10コアを用いたマルチスレッド実行を含む多様なシナリオにおいても、高い精度を維持する。
  • a = b = c = 1,000 の場合でも、予測はGEMMベースのアルゴリズムを実行する時間の10^3×速く、BLAS-1ベースのものでは最大10^6×も速い。
  • 本手法は、パフォーマンスグループを信頼性高く分離し、完全な実行に要する時間のほんのわずかな部分で最適なアルゴリズムを特定できる。

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

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

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

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