[論文レビュー] Autotuning OpenCL Workgroup Size for Stencil Patterns
本論文は、多様なCPUおよびマルチGPUアーキテクチャを対象に、ステンシルパターンのOpenCLワーキングループサイズを自動的に最適選択する機械学習を用いた自動チューニングを提案する。合成ベンチマークで学習させた分類器と回帰モデルを用いることで、固定されたワーキングループサイズに対して中央値で3.79倍の高速化を達成し、最大性能の94%を達成する。
Selecting an appropriate workgroup size is critical for the performance of OpenCL kernels, and requires knowledge of the underlying hardware, the data being operated on, and the implementation of the kernel. This makes portable performance of OpenCL programs a challenging goal, since simple heuristics and statically chosen values fail to exploit the available performance. To address this, we propose the use of machine learning-enabled autotuning to automatically predict workgroup sizes for stencil patterns on CPUs and multi-GPUs. We present three methodologies for predicting workgroup sizes. The first, using classifiers to select the optimal workgroup size. The second and third proposed methodologies employ the novel use of regressors for performing classification by predicting the runtime of kernels and the relative performance of different workgroup sizes, respectively. We evaluate the effectiveness of each technique in an empirical study of 429 combinations of architecture, kernel, and dataset, comparing an average of 629 different workgroup sizes for each. We find that autotuning provides a median 3.79x speedup over the best possible fixed workgroup size, achieving 94% of the maximum performance.
研究の動機と目的
- 異種アーキテクチャ間でポータブルで高パフォーマンスなOpenCLカーネルを実現する挑戦に応えること。
- 固定されたヒューリスティクスや手動チューニングの限界を克服し、機械学習を用いてワーキングループサイズの選択を自動化すること。
- 合成ベンチマークでの学習により、プログラム間の一般化を可能にし、個々のプログラムごとのチューニングの必要性を低減すること。
- 最適なワーキングループサイズを予測するための複数の機械学習アプローチ(分類器と回帰モデル)を評価すること。
提案手法
- 3つの自動チューニング手法を採用した:(1) 最適なワーキングループサイズを予測する2値分類器、(2) カーネル実行時間を予測する回帰モデル、(3) ワーキングループサイズ間の相対的パフォーマンスを予測する回帰モデル。
- 行列の次元、境界領域のサイズ、デバイス固有の制約など、カーネルおよびアーキテクチャのメタデータから特徴量を抽出した。
- アーキテクチャ、カーネル、データセットの組み合わせ429通りの訓練データを収集し、各シナリオで最大629個のワーキングループサイズを評価した。
- 合成ベンチマークで学習させた決定木および回帰モデルを用い、未知のプログラムに対してパフォーマンスの高いワーキングループサイズを予測した。
- トレーニングおよび予測の段階で、OpenCLデバイスおよびカーネルの制限から得られる制約を適用し、無効なワーキングループサイズをフィルタリングした。
- 最適な固定ワーキングループサイズとの比較によるスピードアップを評価し、各手法の中央値および四分位範囲(IQR)を比較した。
実験結果
リサーチクエスチョン
- RQ1手動チューニングなしで、機械学習モデルがステンシルパターンのOpenCLにおける最適なワーキングループサイズを効果的に予測できるか?
- RQ2分類と回帰の異なる機械学習アプローチは、パフォーマンスの高いワーキングループサイズを予測する際に、どのように比較されるか?
- RQ3最適なサイズの直接分類ではなく、相対的パフォーマンスを回帰モデルで予測する場合、どのような影響を与えるか?
- RQ4ドライバ由来の制約が生じる状況を含め、多様なハードウェア、カーネル、データセットにおいて、この自動チューニング手法はどの程度の耐障害性を示すか?
主な発見
- 429のテストシナリオ全体で、最適な固定ワーキングループサイズに対して中央値で3.79倍のスピードアップを達成した。
- 最大パフォーマンスの94%を達成し、強力なスケーラビリティとポータビリティを示した。
- 相対的パフォーマンスを回帰モデルで予測した手法が、中央値で1.33倍のスピードアップを記録し、他の手法を上回った。
- 最適なワーキングループサイズを分類器で予測する手法は、実行時間のオーバーヘッドが最も低く、速度と精度のバランスに優れた選択であった。
- 回帰モデルによる実行時間予測手法は、最も効果が低く、中央値のスピードアップが低く、IQRが高かったため、結果の一貫性に欠けていた。
- パフォーマンスの外れ値が観測され、一部の予測ではスピードアップが1.0未満、他の予測では2.0を超えるケースも見られた。これは、エッジケースにおける変動性を示している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。