[論文レビュー] Automated Derivation of Parametric Data Movement Lower Bounds for Affine Programs
本稿では、アフィンプログラムの計算依存グラフとスケジューリング制約を分析することで、非漸近的かつパラメトリックなデータ移動下界を完全に自動的に導出する、IOLB を提案する。これは、スケーリング定数を伴う正確でスケーラブルな下界を提供し、従来の手動または漸近的のみのアプローチを凌駕する。PolyBench サイズのベンチマークで、いくつかのアルゴリズムについて、以前に発表されたものより tighter な下界が得られた。
For most relevant computation, the energy and time needed for data movement dominates that for performing arithmetic operations on all computing systems today. Hence it is of critical importance to understand the minimal total data movement achievable during the execution of an algorithm. The achieved total data movement for different schedules of an algorithm can vary widely depending on how efficiently the cache is used, e.g., untiled versus effectively tiled matrix-matrix multiplication. A significant current challenge is that no existing tool is able to meaningfully quantify the potential reduction to the data movement of a computation that can be achieved by more effective use of the cache through operation rescheduling. Asymptotic parametric expressions of data movement lower bounds have previously been manually derived for a limited number of algorithms, often without scaling constants. In this paper, we present the first compile-time approach for deriving non-asymptotic parametric expressions of data movement lower bounds for arbitrary affine computations. The approach has been implemented in a fully automatic tool (IOLB) that can generate these lower bounds for input affine programs. IOLB's use is demonstrated by exercising it on all the benchmarks of the PolyBench suite. The advantages of IOLB are many: (1) IOLB enables us to derive bounds for few dozens of algorithms for which these lower bounds have never been derived. This reflects an increase of productivity by automation. (2) Anyone is able to obtain these lower bounds through IOLB, no expertise is required. (3) For some of the most well-studied algorithms, the lower bounds obtained by \ ool are higher than any previously reported manually derived lower bounds.
研究の動機と目的
- アフィンプログラムにおけるスケジューリングによる理論的最小データ移動量を定量化する自動化ツールの不足に対処すること。
- スケーリング定数を伴う非漸近的かつパラメトリックな I/O 下界の自動導出を可能にすることで、性能分析のギャップを埋めること。
- 複雑なアルゴリズムのデータ移動下界を手動で導出するのを置き換える、スケーラブルでツールベースのアプローチを提供すること。
- 研究者および実務家が、与えられた実装が操作強度の観点から理論的性能限界にどれほど近いかを評価できるようにすること。
- 代表的なカーネル(例:行列乗算やステンシル計算)について、以前に報告されたものより tighter な境界を生成することで、性能モデリングの正確性を向上させること。
提案手法
- 本手法は、アフィンプログラムの計算依存グラフ(CDAG)に適用されたブラサム=リーブ不等式の変種を用いてデータ移動をモデル化する。
- 再利用パターンとデータアクセスパターンに基づいて CDAG を部分グラフに分解することで、正確な下界計算を可能にする。
- 波フロント(wavefront)ベースの解析と 2S 分割を用いて、メモリ階層間の重複するデータ移動を最小化し、データ再利用をモデル化する。
- 下界をキャッシュサイズ $ S $ とプログラムパラメータ(ループ境界や配列次元など)の関数として定式化する。
- 次元別ループパラメータ化と干渉モデル化を統合することで、フロイド=ワーシャルや adi カーネルのような複雑な再利用パターンに対処する。
- アルゴリズムは完全に自動化されており、コンパイル時に実行され、形式的に検証可能な妥当な下界を生成する。
実験結果
リサーチクエスチョン
- RQ1任意のアフィンプログラムに対して、スケーリング定数を伴う完全に自動化された非漸近的パラメトリックなデータ移動下界を導出できるか?
- RQ2自動的に導出された下界は、手動で導出されたものと比べて、タイトさと正確性の点で優れているか?
- RQ3本ツールは、以前に発表された下界が非最適または誤りであるケースを特定できるか?
- RQ4導出された下界は、操作強度の観点から、特定のアルゴリズムの性能上限をどの程度まで正確に予測できるか?
- RQ5本手法は、タイリングや分離(fission)などの複雑なループ変換を、スケーラブルかつ正確に処理できるか?
主な発見
- IOLB は、標準的なマシン上で 1 プログラムあたり 1 秒未塔で、30 個の PolyBench ベンチマークについて非自明なパラメトリックなデータ移動下界を自動的に導出する。
- 行列乗算やステンシル計算を含む、よく研究されたいくつかのアルゴリズムについて、IOLB は、以前に手動で導出されたものより高い下界を生成する。
- 11 のケースにおいて、手動で最適化された通信回避スケジューリングのデータ移動量と、導出された下界が完全に一致しており、下界のタイトさと最適性を確認した。
- フロイド=ワーシャルや adi カーネルのような複雑な再利用パターンに対しても、IOLB は、干渉や分解の制限により失敗していた従来の手法が失敗する状況でも正常に処理できる。
- IOLB の下界にはスケーリング定数が含まれており、直接ルーフライン性能モデリングに利用可能で、コードがメモリ帯域幅制限かどうかを評価できる。
- 次元分解、干渉モデル化、波フロントベースの解析をサポートすることで、従来の自動化手法を上回り、著しくタイトな下界を生成する。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。