データフロー型計算機の処理順を調整不要で決めるコンパイラー
Schedules Are Solvable Symbols: Tuning-Free Compilation of Tile Programs on Dataflow Architectures
この論文をやさしく読む
ひとことで言うと
計算機のデータ移動と処理順を、実測調整なしで数式から決めるコンパイラーです。
何に役立つ?
データフロー型アクセラレーターに向けた計算カーネルの処理計画を作り、設計理由を追跡するのに役立ちます。
この研究の面白いところ
配置や通信の候補は列挙しつつ、タイルサイズなどを記号として残し、制約問題で同時に解きます。
どこまで分かった?
評価はTenstorrentの2世代とGEMM、Flash Attention、Flash Decodeです。他のハードウェアで同じ性能が出ることは要旨には示されていません。
v1のアブストラクトに基づくAI解説。日本語訳とは別に、用途の解釈を含みます。
アブストラクトの日本語訳
現代のAI・高性能計算向けアクセラレーターでは、チップ内ネットワークによるコア間通信や、コア内の非同期パイプライン処理など、データ移動と処理の重ね合わせをソフトウェアから制御できるようになっている。これにより処理順の設計はハードウェアからコンパイラー側へ移り、配置、移動、同期が可視化されることで静的な処理計画の性能も予測しやすくなる。それでも高性能を得るには、メーカーが調整した計算カーネル集や、実測に基づく自動調整に依存しており、そこに埋め込まれた専門知識は別の構造やアルゴリズムへ移しにくい。本研究では、空間的なデータフロー構造上のタイル単位SPMDプログラムを対象に、実測調整を必要としない記号的コンパイラーLoomを提案する。タイル単位SPMDのコンパイルを、ハードウェアを明示した静的最適化問題として扱う。Loomは離散的な空間配置と通信の候補を列挙し、各候補でタイル分割係数やパイプライン設定などの値を記号のまま保持する。明示的なハードウェア記述から、実行可能性の制約と遅延時間の式を導き、処理計画の候補ごとにCP-SAT問題を作成する。そしてコンパイル時に、コア間データフロー、コア内非同期処理の順序、ブロックサイズを同時に解く。TenstorrentのWormholeとBlackholeの2世代で、GEMM、Flash Attention、Flash Decodeについて、形状ごとの事前計測やプラットフォーム固有の実測調整なしに、メーカー最適化済みのTTNNライブラリと同等以上の性能を得た。結果は、ハードウェアから導く記号的コンパイルが、最適化の判断をソースレベルの記号に追跡できるまま、異なるデータフロー構造にも適用可能な実測調整の代替となり得ることを示唆する。
v1の要旨から自動生成。本文の精読・人による確認は未実施。
- 初稿
- 2026-09-24(UTC)
- 最新改訂
- 2026-09-24 · v1
- 査読・掲載
- 査読状況未確認
更新履歴
- v1 2026-09-24 この版を読む
取得できた版を表示。版の更新は査読済みを意味しません。過去版の本文差分は未解析です。
原文の要旨
Modern AI and HPC accelerators increasingly expose dataflow features: software-visible mechanisms for data movement and overlap, such as inter-core communication through the on-chip network and intra-core asynchronous pipelining. These features shift scheduling responsibility from hardware to the compiler, and because placement, movement, and synchronization become software-visible, they also make the performance of static schedules predictable. Yet high performance on such hardware still relies on vendor-engineered kernel libraries or profile-based auto-tuning, whose embedded expert knowledge transfers poorly across architectures and algorithms. We present Loom, a tuning-free symbolic compiler framework for tile-based SPMD programs on spatial dataflow architectures. The central idea is to treat tile-based SPMD compilation as a hardware-explicit static optimization problem. Loom enumerates discrete spatial-mapping and communication candidates while keeping value parameters, such as tiling factors and pipeline knobs, symbolic within each candidate. From an explicit hardware description, it derives symbolic legality constraints and latency expressions, formulates one CP-SAT problem per schedule candidate, and jointly solves inter-core dataflow, intra-core asynchronous scheduling, and block sizes at compile time. On two Tenstorrent generations, Wormhole and Blackhole, Loom matches or exceeds the vendor-optimized TTNN library on GEMM, Flash Attention, and Flash Decode, out of the box and without per-shape profiling or profile-based platform-specific schedule tuning. These results suggest that hardware-derived symbolic compilation provides a retargetable alternative to profiling-based tuning for spatial dataflow architectures while remaining interpretable by keeping optimization decisions traceable to source-level symbols.
arXiv ID: 2609.29219 / 要約の誤りについて