Skip to main content
QUICK REVIEW

[論文レビュー] Performance Modeling for Dense Linear Algebra

Elmar Peise, Paolo Bientinesi|arXiv (Cornell University)|Sep 11, 2012
Machine Learning and Data Classification参考文献 6被引用数 6
ひとこと要約

本論文では、BLASおよびLAPACKカーネルの統計的モデルを生成することによって、密行列線形代数ルーチンのパフォーマンスモデリングの自動化フレームワークを提示する。これらのモデルを評価・統合することで、実行時間の測定なしに、アルゴリズム的バリアントの順序付けとブロックサイズの最適化が可能となり、単一コアおよびマルチコアシステムの両方で高い予測精度を達成する。

ABSTRACT

It is well known that the behavior of dense linear algebra algorithms is greatly influenced by factors like target architecture, underlying libraries and even problem size; because of this, the accurate prediction of their performance is a real challenge. In this article, we are not interested in creating accurate models for a given algorithm, but in correctly ranking a set of equivalent algorithms according to their performance. Aware of the hierarchical structure of dense linear algebra routines, we approach the problem by developing a framework for the automatic generation of statistical performance models for BLAS and LAPACK libraries. This allows us to obtain predictions through evaluating and combining such models. We demonstrate that our approach is successful in both single- and multi-core environments, not only in the ranking of algorithms but also in tuning their parameters.

研究の動機と目的

  • BLASおよびLAPACKカーネルのパフォーマンスモデルを自動生成し、上位レベルのアルゴリズムの構築ブロックとする。
  • 実行せずに、密行列線形代数の同等のアルゴリズム的バリアントのパフォーランスを予測・順位付けする。
  • 実験的ベンチマークではなく、モデル予測に基づいて、特にブロックサイズを含むアルゴリズム設定を最適化する。
  • 多様なアーキテクチャと問題サイズにおいて、最速のアルゴリズムおよび最適なパラメータの効率的選定を可能にする。

提案手法

  • BLASカーネルの解析的パフォーマンスモデルを、実測値を用いて自動生成するツール「Modeler」を開発する。
  • 異なる問題サイズおよびブロックサイズからの測定データに基づき、パフォーマンス指標(例:効率)の区分的多項式モデルを構築する。
  • 再利用可能でアクセス可能な永続的リポジトリに生成されたモデルを格納する。
  • その構成BLAS演算のパフォーマンスモデルを評価・統合することで、上位レベルのアルゴリズムのパフォーマンスを予測する。
  • モデル評価を用いてアルゴリズム的バリアントを順位付けし、最適なブロックサイズ設定を特定する。
  • 用途に応じて、速度を重視するか、正確性を重視するかの2つのモデリング戦略を適用する。

実験結果

リサーチクエスチョン

  • RQ1BLASおよびLAPACKカーネルのパフォーマンスモデルを、上位レベルのアルゴリズムのパフォーマンスを予測するのに十分な精度で自動生成できるか?
  • RQ2実行時間の測定なしに、これらのモデルが密行列線形代数演算の複数のアルゴリズム的バリアントをパフォーマンス順に正しく順位付けできるか?
  • RQ3このフレームワークは、特定のアルゴリズムとアーキテクチャに対して最適なブロックサイズを正確に予測できるか?
  • RQ4単一コアおよびマルチコアシステムにおいて、予測されたパフォーマンス順位が実際の測定値とどの程度一致するか?

主な発見

  • パフォーマンスモデルは、アルゴリズム的バリアントの相対的効率を正確に予測し、異なる問題サイズおよびアーキテクチャにおいて正しく順位付けしている。
  • 下三角行列の逆行列計算において、モデルは大規模行列に対してバリアント3が最も効率的であることを正しく同定しており、実験結果と一致している。
  • バリアント1、2、3の最適ブロックサイズが約100に近いことをモデルが正しく予測しており、観測されたパフォーマンスピークと一致している。
  • マルチコア環境では、モデルがバリアント間のパフォーマンスクロスオーバーを正しく捉えており、大規模な行列サイズにおいてバリアント1および2がバリアント3を上回ることを予測している。
  • Sylvester方程式ソルバーにおいて、モデルは16のバリアントを高効率群と低効率群に分類し、上位4名(バリアント1、2、5、6)を正しく同定している。
  • 個々のモデルに若干の不正確さが存在しても、統合された予測は順位付けおよび設定最適化において高い予測力を持ち、効率の予測値は実験的測定値と非常に近い。

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

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

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

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