Skip to main content
QUICK REVIEW

[論文レビュー] A model-driven approach for a new generation of adaptive libraries

Marco Cianfriglia, Flavio Vella|arXiv (Cornell University)|Jun 19, 2018
Algorithms and Data Compression参考文献 41被引用数 3
ひとこと要約

本論文は、GPUアクセcelerated BLASライブラリのための、機械学習駆動でモデルベースのフレームワークを提案し、データ駆動型ワークロード(例:行列乗算)向けに最適なアルゴリズム的パラメータを動的に選択する。合成データおよび実際のデータセット上で決定木を学習することで、従来のハードコードされた最適化と比較して、NVIDIA Pascalでは最大3倍、ARM Mali GPUでは最大2.5倍の高速化を達成した。

ABSTRACT

Efficient high-performance libraries often expose multiple tunable parameters to provide highly optimized routines. These can range from simple loop unroll factors or vector sizes all the way to algorithmic changes, given that some implementations can be more suitable for certain devices by exploiting hardware characteristics such as local memories and vector units. Traditionally, such parameters and algorithmic choices are tuned and then hard-coded for a specific architecture and for certain characteristics of the inputs. However, emerging applications are often data-driven, thus traditional approaches are not effective across the wide range of inputs and architectures used in practice. In this paper, we present a new adaptive framework for data-driven applications which uses a predictive model to select the optimal algorithmic parameters by training with synthetic and real datasets. We demonstrate the effectiveness of a BLAS library and specifically on its matrix multiplication routine. We present experimental results for two GPU architectures and show significant performance gains of up to 3x (on a high-end NVIDIA Pascal GPU) and 2.5x (on an embedded ARM Mali GPU) when compared to a traditionally optimized library.

研究の動機と目的

  • 深層学習やグラフ解析などのデータ駆動型HPCワークロードにおいて、入力データの特性が大きく変動する中で、パフォーマンスのポータビリティを確保すること。
  • 固定された手動チューニングパラメータや単純なヒューリスティクスに依存する従来のBLASライブラリの限界を克服し、多様な入力サイズとハードウェア環境で性能が劣化することを防ぐこと。
  • 入力次元とハードウェア特徴に基づいて、実行時における最適なGEMM(一般行列乗算)設定を動的に選択可能にする仕組みを提供すること。
  • 低レベルの命令セットやアーキテクチャ固有のコード生成に依存しない、一般化可能でアーキテクチャに依存しないソリューションを構築すること。
  • アーキテクチャ固有のコードや命令セットに依存せずに、トレーニングデータから最適なパラメータ選択を学習することで、異種システム、特にGPUにおけるパフォーマンスのポータビリティを向上させること。

提案手法

  • 入力特徴(例:行列次元)に基づいて、最適なGEMM実装およびチューニングパラメータを予測する白箱型で解釈可能な教師あり分類器として決定木を採用する。
  • トレーニングデータセットの生成に3つのアプローチを用いる:一様サンプリングによる合成データ、アプリケーションワークロードからの実データ、エッジケースをカバーするためのハイブリッドサンプリング。
  • 多様な入力構成で予測モデルを学習させ、特定の行列形状に最適なカーネル設定(例:ブロックサイズ、タイリング戦略)を実行時選択可能にする。
  • トレーニング済みモデルを、オープンソースのOpenCL BLASライブラリであるCLBlastに統合し、実行時に最適化されたカーネルを動的に選択可能にする。
  • クロスアーキテクチャトレーニングを活用してモデルの一般化性能を向上させ、1つのGPUで学習したモデルを他のGPUに対しても最小限の再トレーニングで適用可能にする。
  • モデル推論の最適化により実行時オーバーヘッドを最小限に抑え、性能向上の恩恵に対して無視できるほどの遅延しか追加しないようにする。

実験結果

リサーチクエスチョン

  • RQ1機械学習に基づく予測モデルは、多様な入力サイズとGPUアーキテクチャで最適なGEMM設定を効果的に選択できるか?
  • RQ2合成データと実世界のデータの両方を用いたトレーニングにおいて、モデルの精度とパフォーマンス向上の相関関係はどのようになるか?
  • RQ3決定木のような軽量で解釈可能なモデルは、データ駆動型ワークロードにおいて、従来のヒューリスティクスベースの選択と比較してどの程度優れているか?
  • RQ4トレーニングデータの密度と多様性が、モデルの一般化性能と実行時パフォーマンスに与える影響はどの程度か?
  • RQ5提案されたフレームワークは、アーキテクチャ固有のコードや命令セットへの露出を一切不要とせずに、顕著な高速化を達成できるか?

主な発見

  • モデル駆動型アプローチにより、ハイエンドのNVIDIA Pascal GPUでは最大3倍、組み込み型ARM Mali GPUでは最大2.5倍の高速化を達成した。
  • 決定木の精度が中程度であっても、トレーニングデータセットが密度高く代表的であれば、誤予測の影響は限定的であり、性能向上は顕著であった。
  • 合成データのみでトレーニングした場合では最適なパフォーマンスが得られず、合成データと実世界データの組み合わせによりモデルの頑健性と一般化性能が向上した。
  • フレームワークは強力なクロスアーキテクチャのパフォーマンスポータビリティを示し、1つのGPUで学習したモデルを他のGPUに対しても最小限の再トレーニングで効果的に適用可能であった。
  • 予測モデルの実行時オーバーヘッドは無視できるほど小さく、CLBlastのような生産用途向けライブラリへの統合に実用的であった。
  • 本アプローチは、最適なデータ並列戦略を事前に定義するのが難しい、グラフ解析などの他の計算集約型カーネルや複雑なワークロードへも拡張可能である。

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

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

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

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