疎なデータの同時走査をSIMDで高速化
Splyce: SIMD Vectorization of Sparse Coiteration
この論文をやさしく読む
ひとことで言うと
値が入っている位置がまばらなデータ同士の計算を、CPUが並列に処理しやすい形へ変換するコンパイラ手法です。分岐と依存関係の扱いを変えて高速化します。
何に役立つ?
疎テンソルの基礎演算が処理時間を占めるプログラムの高速化に役立つ可能性があります。データを圧縮して保存する利点を保ちながら演算器を使おうとしています。
この研究の面白いところ
分岐を減らすだけでなく、同時に実行できる計算を切り出す点が特徴です。座標の照合とポインタ操作を分ける設計が中心です。
どこまで分かった?
1.96~2.86倍という数値は合成入力での評価です。実データの大多数でも改善を報告していますが、全カーネルや全CPUで同じ倍率になるとは述べていません。
v1のアブストラクトに基づくAI解説。日本語訳とは別に、用途の解釈を含みます。
アブストラクトの日本語訳
疎テンソルの縮約は、標準的なループのベクトル化が難しい、疎なデータ同士の同時走査ループによって制約されています。本研究では、二経路の実行モデルによってこれを克服する、MLIR上の自動ベクトル化の枠組みSplyceを提示します。 選択的な述語実行によって、座標の共通部分の検出とポインタ管理を切り離すことで、Splyceは副次的にデータ依存の分岐を本質的に除去します。これにより、現代のスーパースカラ実行機構は命令レベルの並列性を最大限に引き出し、メモリアクセスの遅延を隠せます。単純な分岐除去にとどまらず、この変換は並行実行できる独立した計算を表面化し、従来は逐次依存に制限されていた演算器の利用率を高めます。 基本的な疎テンソル計算カーネルでの評価では、合成入力に対して1.96~2.86倍の性能を示し、SuiteSparseコレクションの不規則な実世界データセットの大多数でも、一貫した高速化が維持されました。最終的にSplyceは、予測しにくい制御フローを予測可能なデータ列へ変換することで、コンパイラが主導する投機的な実行が、圧縮格納のメモリ効率と現代のスーパースカラ構造の演算器スループットを効果的に両立できることを示します。
v1の要旨から自動生成。本文の精読・人による確認は未実施。
- 初稿
- 2026-09-16(UTC)
- 最新改訂
- 2026-09-16 · v1
- 査読・掲載
- 査読状況未確認
更新履歴
- v1 2026-09-16 この版を読む
取得できた版を表示。版の更新は査読済みを意味しません。過去版の本文差分は未解析です。
原文の要旨
Sparse tensor contractions are bottlenecked by sparse-sparse coiteration loops that resist standard loop vectorization. We present Splyce, an auto-vectorization framework in MLIR that overcomes this through a dual-path execution model. By decoupling coordinate intersection from pointer management via selective predication, Splyce inherently eliminates data-dependent branches as a side effect, allowing modern superscalar engines to maximize instruction-level parallelism and hide memory latency. Beyond simple branch elimination, our transformation exposes independent computation that can be executed concurrently, increasing functional-unit utilization that would otherwise be constrained by sequential dependencies. Evaluation across foundational sparse tensor kernels demonstrates performance ranging from 1.96X to 2.86X on synthetic inputs, with consistent speedups sustained across a vast majority of irregular real-world datasets from the SuiteSparse collection. Ultimately, Splyce demonstrates that by converting unpredictable control-flow into a predictable data stream, compiler-driven speculation can effectively reconcile the memory efficiency of compressed storage with the execution-unit throughput of modern superscalar architectures.
arXiv ID: 2609.19410 / 要約の誤りについて