調査期間:2026-10-30 07:00 ~ 2026-11-02 07:00(北京時間、72時間、週末をカバー;前回の締め切り時点は 10-30 07:00)。

情報源:GitHub tile-ai 組織のリポジトリ別調査(tilelang / TileOPs / TileFoundry / tilelang-ascend / tilelang-mlir-ascend / tilelang-hygon / tilelang-metax / tilelang-musa / TileRT / tilescale / DeepStack / TileOPs-nightly / ドキュメントサイト)+ マージ済みおよびレビュー中の実データ検索(マージ済み 35 件、レビュー中更新 82 件)+ 新規 issue 全件確認(11 件)+ メインブランチのコミット別確認(tilelang 7、TileOPs 15、TileFoundry 3、tilelang-ascend 5、tilelang-hygon 2、tilelang-mlir-ascend 1、ドキュメントサイト 4)+ リリースページと tag の確認(6 リポジトリ)+ サードパーティエコシステムリポジトリの確認(FlashQLA、TileKernels、RISC-V 研究チェーン 3 リポジトリ、PTO-ISA/tilelangGym)+ Google News の中国語・英語クエリ(プロキシ経由)+ Hacker News + arXiv。


本期インデックス

  • 今日重点:主線は TIRX 移行のため ThreadSync の正確なスレッドカウントを撤回(#3733)、さらに新規トラッキングチケットを開設し正確性改善も併せて撤回することを認めた;TileOPs は1日で13件の性能改善をマージ;昇騰のホスト固定オーバーヘッドを約450マイクロ秒から約106マイクロ秒へ削減;72時間で35件マージ、審査中更新82件、新規 issue 11件
    1. コアプロジェクト進展
      • 1.1 主線:ThreadSync の正確なスレッドカウントを撤回、TIRX 移行に道を譲る(#3733)(11-01)
      • 1.2 主線:CUDA のクロス warp 全リダクションを1回の共有メモリ交換に統合、256スレッドで6バリアから2バリアに削減(#3715)(10-30)
      • 1.3 主線:PTO バックエンドの T.Parallel ベクトル化が第一マイルストーンを達成、要素ごとのオペレータが VMI 命令を使用(#3512)(10-30)
      • 1.4 主線:昇騰 DeepGEMM の scale バッファを書込みカウント付きマルチバッファに変更、データロードを条件付きロードの前に移動可能に(#3629)(10-30)
      • 1.5 主線:2件の修正をマージ、CPU スカラー GEMM は対象領域のみクリア、負インデックスの合法化は到達不能分岐をスキップ(#3709 / #3712)(10-30)
      • 1.6 主線:言語層で proxy 内の未使用 Ref プレースホルダ2つを除去(#3722)(10-31)
      • 1.7 新規欠陥と審査中:TMEM が結果を黙って破棄、ROCm シンボル未検出、TF32 の最近接偶数丸め(#3721 / #3711 / #3714)(10-30 ~ 10-31)
    1. マルチバックエンド対応
      • 2.1 昇騰:Cython wrapper で TVM Analyzer を遅延構築、910B3 の単一呼び出しが約450マイクロ秒から約106マイクロ秒に短縮(#1948)(10-30)
      • 2.2 昇騰:RFC で同期実装を主線コア + 独立 Z3 証明サービスに置き換える提案(#1971)(10-30)
      • 2.3 昇騰審査中:TileLang-Ascend 全体を主線マルチバックエンドアーキテクチャへ移行(#1975)(10-31)
      • 2.4 昇騰審査中:GLM-5.3 kpool の fp8_mqa_logits サンプル、デュアル kernel と AIV/Cube 分担(#1966)(10-31)
      • 2.5 昇騰:ドキュメントと API のファクトチェック4件をマージ、clamp が PTO 上で実際に有効化(#1899 / #1893 / #1620 / #1600)(10-30)
      • 2.6 昇騰:日次テスト2970ケース全て通過、11-01 に workflow の失敗が1回(#1977 / #1976)(10-31 ~ 11-02)
      • 2.7 海光:MLS 境界と継続的 WASP 同期の修正をマージ、gfx948 互換性は審査中(#31 / #32)(10-30)
      • 2.8 mlir-ascend:CI で内部キャッシュサービス参照を除去、Codex ワークフローは審査中(#206 / #208)(10-31)
      • 2.9 摩尔線程と沐曦は調査期間内にプッシュなし(11-02)
    1. エコシステムと採用者
      • 3.1 TileOPs:72時間で15件マージ、13件が11-01に集中、ほぼ各件に実測表とチェックリスト回帰ゲートを付属(11-01)
      • 3.2 TileOPs:GQA 稠密フォワードで実測ルールにより decode または prefill プログラムを選択、選択リグレットが1.818から1.017に低下(#2808)(11-01)
      • 3.3 TileOPs:ページド MHA decode を共有メモリに収まる各 head dim へ拡張、GQA ページドフォワードで旧 decode カーネルを除去(#2807 / #2797)(11-01)
      • 3.4 TileOPs:coop2 プロデューサを単一 warp に集約、192幅転置ブロックを追加、W4A8 部分で一波を1 CTA 1 tileに変更(#2806 / #2805)(11-01)
      • 3.5 TileOPs:コンパイルキャッシュをビルドターゲットでキー制御、オペレータ層で出力と入力の重複を統一的にチェック(#2802 / #2801)(11-01)
      • 3.6 TileOPs 修正中の欠陥:Norm の4オペレータがゼロから遠い行で精度を失い、約1e36がオーバーフローして NaN に(#2812)(11-01)
      • 3.7 TileFoundry:lowering で issuing mesh とウィンドウ分割を1箇所の決定に集約、83個のスケジューリングフィクスチャがバイト一致(#280 / #282)(10-31 ~ 11-01)
      • 3.8 TileFoundry:サイトで0.3版スケジューリング記事《Scheduling, Designed for Agents》を公開(#4 / #281)(10-31 ~ 11-01)
      • 3.9 採用者:FlashQLA が SM120 の Dual-CP フォワード/バックワードをマージ、2枚の RTX 5090 で32K〜128Kシーケンスを Inter-CP と比較(#51)(10-30)
      • 3.10 採用者:TileKernels は10-14以降プッシュなし(11-02)
    1. コミュニティ、チュートリアル、イベント
      • 4.1 RISC-V 研究チェーンが成形:3つのリポジトリで Numba CUDA Python を TileLang に変換し、制限付き PrimFunc を単一 hart RVV C に落とす(10-31)
      • 4.2 PTO-ISA/til

elangGym は PTO-ISA/tilelang から独立してリポジトリとなり、メイン回帰ゲートは昇騰 SimtVF パス(10-30)

  • 4.3 ニュース側:Google News の中英語クエリ、Hacker News、arXiv のいずれも調査期間内に実質的なヒットなし(11-02)
    1. トレンド観察
  • 付、素材と検証説明

今日の重点

この調査期間で最も重い動きは引き算だ。メインラインは3週間前にマージされた正確なスレッドカウント(#3291)を丸ごとリバートした(#3733)。理由は率直に書かれている。あの変更は高コストなカウントクエリをフルブロックフェンスチェックの前に移動させたため、全スレッドがフェンスに到達する場合でも証明を実行する必要があり、現在の TVM の求解予算が枯渇して部分カウントが返され、本来合法な remap と sequence の補助 kernel が「Cannot prove a thread rectangle」でコンパイル失敗する。リバートは2つの ThreadSync 実装で同時に行われ、#3291 が導入したテストを削除し、「ループが大多数のスレッドにとって空でも、256 スレッドが依然として全員フェンスに到達する」というリダクションケースを追加した。商ガード、正確な参加スレッド境界、非矩形スレッド集合といった正確性の改善も一緒に撤回され、新たに開かれた #3732 は移行後の再最適化の追跡チケットとして残された。これは一時的な措置と明示的に記載された移行のための譲歩だ。TileLang は現在の TVM fork 依存から脱却するために TIRX 移行を準備しており、付随する TVM fork 最適化提案はすでにクローズされている。

第2の線は昇騰が基盤を補っている。#1948 が修正したのはホスト側の演算子規模に依存しない固定コストだ。Cython wrapper は毎回の呼び出しで無条件に TVM Analyzer を構築しており、実測で 910B3 上では1回あたり約 0.28 ミリ秒かかるが、それが使われるのは形状がシンボリック式の場合だけだ。遅延構築に変えた後、vec add のシングルブロックは 442 から 467 マイクロ秒から 105.1 マイクロ秒に、32 ブロックは 441 から 493 マイクロ秒から 108.0 マイクロ秒に、kpool 圧縮は 447 から 450 マイクロ秒から 111.3 マイクロ秒に短縮された。下限となる素の ctypes 呼び出しは約 12 マイクロ秒で変わっていない。同時期に #1971 の RFC は同期実装の置き換えロードマップを示した。メインラインの同期コアを移植し、独立した Z3 証明サービスを追加し、旧 TIR アダプタ層で既存のコンパイルパイプラインに接続し、TVM、スケジューリング、メモリプランニング、AscendC/PTO codegen、ランタイム ABI を維持し、受け入れ基準を通過した後にデフォルト実装に切り替えて旧アルゴリズムを削除する——#1975 で Ascend リポジトリ全体をメインラインのマルチバックエンドアーキテクチャに移行するのと同じ事柄の2つの着地点だ。

第3の線はオペレータライブラリにある。TileOPs は 11-01 の1日で13コミットをマージし、ほぼすべてが性能パッチで、各コミットに H200 実測表と manifest 回帰基準が付属している。そのうち #2808 は GQA の密なフォワードのプログラム選択を1つのルールにまとめ、最速候補プログラムに対する選択後悔を 1.818 から 1.017 に引き下げ(2 から 128 個の query 位置、586 回の呼び出し)、メインラインの実際のバグも修正した。score scale が log2(e) を掛けた後で FP32 下で消失し、出力が NaN または誤った値になる問題だ。


1. コアプロジェクトの進展

1.1 メインライン:ThreadSync の正確なスレッドカウントをリバート、TIRX 移行に道を譲る(#3733)

11-01 14:50 にマージ。リバートされた #3291 は正確なスレッドカウントをフルブロックフェンスチェックの前に移動し、矩形認証を追加したが、代償として全スレッドがフェンスに到達する場合でも CountSatisfyingValues を実行する必要があった。TVM 側の求解予算が枯渇すると部分カウントが返され、remap と sequence の補助 kernel が「[ThreadSync] Cannot prove a thread rectangle」で失敗する。回帰はメインライン cc903dcb9 に未変更の TVM pin 4211874e9e を加えた環境で再現し、新しいケースでは「ループが大多数のスレッドにとって空でも、256 スレッドが依然として全員フェンスに到達する」に縮小された。リバートは共有と昇騰の両方の実装を同時にカバーし、フルブロック高速パスと旧来の部分カウント動作を復元する。原文はこれが TIRX 移行期間中の一時的な緩和であることを明示しており、TVM fork 側の最適化提案 tile-ai/tvm#89 はクローズ済みで、今後の最適化は #3732 に移された。

出典:https://github.com/tile-ai/tilelang/pull/3733

1.2 メインライン:CUDA のクロス warp 全リダクションを1回の共有メモリ交換に統合、256 スレッドが6バリアから2バリアに低減(#3715)

10-30 20:26 にマージ。旧実装は CUDA リダクションヘッダ reduce.h 内で threads/2 から scale まで再帰し、offset が 32 以上の各ステップで完全な共有メモリ書き込み読み取り交換と2バリアを実行していた。256 スレッドブロックの3ステップ(128、64、32)で合計3回の共有メモリ往復、6バリア、512 スレッドブロックでは4回、8バリアだった。改法はすべてのクロス warp ステップを1回の交換に圧縮する(要素ごとに1回の st.shared、合計2バリア)。まず warp 内で scale が 32 未満の部分を実行し、次に各 warp 内グループで cross_radix 以下のいくつかの lane が協調して折り畳み、レジスタ圧力には上限がある。スカラーパスとバッチパスの両方が変更された。

出典:https://github.com/tile-ai/tilelang/pull/3715

1.3 メインライン:PTO バックエンドの T.Parallel ベクトル化が最初のマイルストーンを達成、要素ごとの演算子が VMI 命令を使用(#3512)

10-30 01:29 にマージ。目標は、ユーザーが T.SimdVF(lanes=L) 内でスカラー並列の要素ごとの T.Parallel を記述し、コンパイラが PTO VMI 命令へベクトル化し、さらに PTOAS を経て昇騰 950 上で実行できるようにすることである。役割分担は明確に書かれている。TileLang 側は論理 lane レイアウトの導出、ベクトル化パスのパイプライン、VMI 命令生成と Fragment 論理マッピングを担当し、PTOAS 側は物理レジスタ分割、マスクの具体化、Fragment バッファとベクトルレジスタの割り当て、mem_bar の挿入を担当する。ロードマップは五つのマイルストーンに分かれており、本件は M1 コアフレームワーク(要素ごとの計算、extent が lanes で割り切れる場合と割り切れない場合の両方をカバー)であり、M2 制御フロー、M3 reduce、M4 UB 容量計画とレジスタ割り当て、M5 非連続アクセスとより広い PACK データ型が順次続く。

出典:https://github.com/tile-ai/tilelang/pull/3512

1.4 メインライン:昇騰 DeepGEMM の scale バッファを書き込みカウント付きマルチバッファに変更し、データロードを条件付きロードの前に移動可能に(#3629)

10-30 05:48 にマージ。DeepGEMM は複数の K ブロック間で scale factor を再利用する。本件では明示的な書き込みカウント付きマルチバッファモードを新設し、scale バッファのバージョンが実際の書き込みに応じて進むようにした。各 owner ループ反復では、実際に実行される最初の書き込みタスクでのみ一度バージョンを進め、後続の書き込みはそのバージョンを共有し、書き込みのない反復は旧値を引き継ぎ、複数の互いに素な owner と共有クロックをサポートする。これによりデータロードを条件付き scale ロードの前に配置できる。同時に DeepGEMM の K ループを平坦化し、L1 と L0 の両方で先にデータを取得してから scale を取得するようにし、ガード更新、ネスト更新、保持読み取り、flag とバッファ再利用、および FP4 の K 主順序と MN 主順序で末尾ブロックとリングラップを含むユースケースを追加した。このモードは明示的なバージョン数を要求し、各 owner 反復で最大一回の更新を前提とする。

出典:https://github.com/tile-ai/tilelang/pull/3629

1.5 メインライン:二件の修正がマージ、CPU スカラー GEMM は対象領域のみクリア、負インデックス合法化は到達不能分岐をスキップ(#3709 / #3712)

二件とも 10-30 にマージされ、前号で審査中だった項目の着地である。#3709 は CPU スカラー GEMM が対象領域のみをクリアするようにし、従来は今回の出力に属さない範囲までクリアしていた。#3712 は LegalizeNegativeIndex が到達不能分岐をスキップするようにし、実行されないコードに対する負インデックス書き換えを回避する。これら二件は前号レポートの #3708、#3710 と同じ欠陥整理のバッチに属し、うち #3708 のビット幅を int64 に変更する件、#3710 のキャッシュ無効時に二層のプロセス内キャッシュをバイパスする件は依然として審査中である。

出典:https://github.com/tile-ai/tilelang/pull/3709、https://github.com/tile-ai/tilelang/pull/3712

1.6 メインライン:言語層で proxy 内の未使用の Ref プレースホルダ二つを削除(#3722)

10-31 17:31 にマージ。tilelang/language/proxy.py 内には二つの Ref が同時に存在していた。一つは型チェック用の tirx.Var スタブ、もう一つは空のランタイムクラスで、どちらもツリー内に消費者がない。対外的な T.Ref は実際には eager.builder 由来であり、そちらの実装がマクロ参照引数の本体である。本件では二つのプレースホルダ、_T 型変数、およびそれに伴い不要となった Generic、TypeVar のインポートを削除し、T.Ref とマクロ参照の挙動を保持しつつ、tilelang.language.proxy.Ref という未使用の直接インポート経路のみを除去する。フロントエンド構築テストは 179 件通過、6 件スキップ、ランタイムの同一性チェックで T.Ref が依然として eager.builder.Ref であることを確認した。

出典:https://github.com/tile-ai/tilelang/pull/3722

1.7 新規欠陥と審査中:TMEM の結果サイレント破棄、ROCm のシンボル未検出、TF32 の最近接偶数丸め(#3721 / #3711 / #3714)

#3721 は本調査期間で最も警戒すべき項目である。sm_100a 上で TMEM に対して T.gemm を実行する際、threads/32 が N を整除できない場合、コンパイルは通るが PTX 内に tcgen05.mma が一つもなく、T.copy(Ct, Cl) は誰も書き込んでいない TMEM を読んでおり、積がサイレントに破棄される。再現では threads=256 で一つ出力され、threads=384 でゼロ件となる。作者は src/cuda/op/gemm.cc が TCGEN05 に {1, num_warps} の分割を返す際に網羅性チェックが欠けていると疑っている。#3711 は ROCm 7.14 と 10.0 の PyTorch wheel 下で kernel が「named symbol not found」を報告する。#3714 は審査中で、fp32 から tf32 への変換に最近接偶数丸め(cvt.rn.tf32.f32 と飽和形式)を追加し、非飽和は SM90 以上、飽和は SM100 以上を要求し、対応する機能リクエスト #3713 をクローズする。

ソース:https://github.com/tile-ai/tilelang/issues/3721、https://github.com/tile-ai/tilelang/issues/3711、https://github.com/tile-ai/tilelang/pull/3714


2. マルチバックエンド対応(昇騰 / 海光 / 摩尔線程 / 沐曦)

2.1 昇騰:Cython wrapper が TVM Analyzer を遅延構築し、910B3 の単一呼び出しが約 450 マイクロ秒から約 106 マイクロ秒に短縮(#1948)

10-30 07:44 にマージ。CythonKernelWrapper.forward() は従来、呼び出しのたびに無条件で TVM の Analyzer() を構築しており、910B3 上では約 0.28 ミリ秒の固定ホストオーバーヘッドとなっていたが、このオブジェクトは result または workspace の形状がシンボリック式である場合にのみ使用される。静的 shape の kernel ではまったく不要であるにもかかわらず、同じコストを払っていた。修正方法は、構築を tir.PrimExpr 分岐内まで遅延させ、必要に応じて再利用することである。実測:vec add 単一ブロック 442 から 467 マイクロ秒が 105.1 マイクロ秒に、32 ブロック 441 から 493 マイクロ秒が 108.0 マイクロ秒に、kpool 圧縮 447 から 450 マイクロ秒が 111.3 マイクロ秒に、生の ctypes 呼び出し約 12.5 マイクロ秒が約 12 マイクロ秒に短縮。静的パスでは構築されず、シンボリックパスでは必要に応じて構築されることをそれぞれ検証する回帰テストを 2 例追加。

ソース:https://github.com/tile-ai/tilelang-ascend/pull/1948

2.2 昇騰:RFC が同期実装をメインラインのコアと独立した Z3 証明サービスに置き換えることを提案(#1971)

本 RFC は高速化の結論を前提とせず、比較の基準のみを固定する:Ascend リポジトリは TileLang 43b0b69 と TVM c2921fd 上にあり、IR 基盤は旧 tvm.tir である。メインラインは TileLang 1c0f402 と TVM 4211874e9e 上にあり、IR 基盤はすでに tvm.tirx と tvm.s_tir であり、オブジェクトと登録体系も新 FFI とリフレクション基盤に置き換わっている。したがって移行は InsertSync ファイルを 1 つコピーするだけでは済まない。推奨される路線は、メインラインの同期コアと独立した Z3 証明サービスを移植し、旧 TIR 適応層を通じて既存のコンパイルパイプラインに接続することであり、既存の TVM、スケジューリング、メモリプランニング、AscendC/PTO codegen とランタイム ABI を維持し、サポート範囲、正確性、性能、インストールの受け入れを完了した後にデフォルト実装を切り替え、旧同期アルゴリズムを削除する。対応 PR は #1965。

ソース:https://github.com/tile-ai/tilelang-ascend/issues/1971

2.3 昇騰レビュー中:TileLang-Ascend 全体をメインラインのマルチバックエンドアーキテクチャへ移行(#1975)

10-31 に提出され継続的に更新中。目標は提案 #1911 に従い、TileLang-Ascend を TileLang メインラインのマルチバックエンドアーキテクチャへ移行することである。説明には 2 つの差分対照が示されており、1 つは ascendc_pto ブランチに対するもの、もう 1 つはメインラインに対するものである。これは 2.2 の RFC と同じ収束経路の 2 つの側面であり、一方は同期アルゴリズムを変更し、他方はリポジトリの骨格を変更する。

ソース:https://github.com/tile-ai/tilelang-ascend/pull/1975

2.4 昇騰レビュー中:GLM-5.3 kpool の fp8_mqa_logits サンプル、デュアル kernel と AIV/Cube の分担(#1966)

メインリポジトリの kpool ディレクトリにある GLM-5.3 fp8_mqa_logits サンプルを対照として昇騰版を作成する。オペレータのセマンティクスは GLM-5.3-Flash 疎注意力 indexer のプーリング履歴スコアリングである:各 query 行について、有効な pool 区間内でページテーブルに従い 64-pool ページから E4M3 key(uint8 がバイトを保持し fp32 scale を付加)を読み、逆量子化後に 32 個の indexer ヘッドの MQA スコアを計算し、per-pool scale を乗じ、ReLU gate とヘッド別重み付きで各 pool につき 1 つの FP32 logit に帰約し、範囲外または無効ページは負の無限大を出力する。実装はデュアル kernel:mask kernel は 64-pool tile ごとにレーン単位の 0 または負の無限大マスクを生成してホスト側の事前充填を置き換え、main kernel は各行・各ページにつき 1 ブロック、2 つの AIV がそれぞれ 32-pool の半ページを処理し、Cube がページ全体を読み 64×32×128 の GEMM を 1 回実行する。ヘッド数 32、次元 128、ページサイズ 64。

ソース:https://github.com/tile-ai/tilelang-ascend/pull/1966

2.5 昇騰:ドキュメントと API のファクトチェック 4 件がマージ、clamp が PTO 上で実際に有効化(#1899 / #1893 / #1620 / #1600)

4件はいずれも10-30にマージ済みで、継続的に進められているAPIファクトチェックのバッチに属する:#1899はT.tile.bitwise_xorのドキュメントを照合(#1681の再提起)、#1893はT.tile.bitwise_rshiftを照合(#1676の再提起)、#1620はT.tile.clampをPTO上で実際に有効化しドキュメントを同期、併せてテストとAPIドキュメントを補完、#1600はaxpyのdocstringを更新し、テストを強化してAPIドキュメントを補完。同バッチには他に#1968、#1967、#1974がレビュー中で、それぞれsigmoidとroundのカウント半減、シンボル形状解析キャッシュ、ブロック全体の行分割時にtileサイズが誤って半減される不具合の修正である。

来源:https://github.com/tile-ai/tilelang-ascend/pull/1620、https://github.com/tile-ai/tilelang-ascend/pull/1899

2.6 昇騰:デイリーテスト2970件が全通過、11-01にworkflow失敗が1回(#1977 / #1976)

11-02 06:42のデイリーテスト記録は2970項、通過2970項、失敗0項で通過率100%;10-31 06:56の回も同樣に2970項全通過。中間の11-01 05:08の回はworkflow test job failureと記録され、本調査期間内の#1975の移行変更、#1971のRFCと同期して出現しており、安定した回帰ではなく留意すべき変動である。

来源:https://github.com/tile-ai/tilelang-ascend/issues/1977、https://github.com/tile-ai/tilelang-ascend/issues/1976

2.7 海光:MLS境界と継続的WASP同期の修正がマージ、gfx948互換はレビュー中(#31 / #32)

#31は10-30 10:56にマージされ、3点:動的MLS境界推論とMatrixStoreのstride処理の改善;MMACとblockscaled GEMMのclear_accum沈み込みの修正;継続的WASPパスでMパーティションコンシューマと独立したA/Bフェンスに切り替え、同時にslotとphaseのローテーションを保持しテールコンシューマに同期を追加。#32はレビュー中で、gfx948をgfx946互換として扱い、既存命令が新型号上でそのまま通るようにする。前回の調査期間で報道した通常コピーのLDS swizzle(#30)は同期間に着地済み。

来源:https://github.com/tile-ai/tilelang-hygon/pull/31、https://github.com/tile-ai/tilelang-hygon/pull/32

2.8 mlir-ascend:CIから内部キャッシュサービス参照を除去、Codexワークフローはレビュー中(#206 / #208)

#206は10-31 07:24にマージされ、CI内の内部キャッシュサービスを指す内容を除去、再現性のクリーンアップに属する。#208はレビュー中で、Operator Harnessに初のCodexワークフローを追加:反復質問によるプロジェクト初期化、既存オペレータリポジトリの接続、永続化コンテキストからの開発・チューニング・分析の復元;3つのskillは.workspace/配下の編集可能なMarkdown記録を共有し、タスク引き継ぎでは「現在の候補」と「検証済みの最良候補」を区別し、失敗とロールバックした実験を保持する。著者は今回実際のNPU実測は行っていないと明言しており、NPU実行適配とnpm配布は今後の作業として挙げられている。

来源:https://github.com/tile-ai/tilelang-mlir-ascend/pull/206、https://github.com/tile-ai/tilelang-mlir-ascend/pull/208

2.9 摩尔線程と沐曦は調査期間内にプッシュなし(11-02)

tilelang-metaxの最終プッシュは10-26で停止、tilelang-musaは09-30で停止しており、両リポジトリとも本調査期間の72時間以内にコミットはない。これは今回のバックエンド動向が昇騰、海光、mlir-ascendの3側に集中していることを意味する。

来源:https://github.com/tile-ai/tilelang-metax、https://github.com/tile-ai/tilelang-musa


3. エコシステムと採用側(TileOPs / TileFoundry / TileKernels / FlashQLA)

3.1 TileOPs:72時間で15件マージ、13件が11-01に集中、ほぼ全件が実測表とチェックリスト回帰ゲートを伴う(11-01)

v0.1.0 のリリース後、TileOPs は 11-01 の一日で 13 件をマージし、さらに 10-30 の #2794 と 10-31 の #2795 を加えると、72 時間で計 15 件となる。変更はほぼすべて perf 系で、Attention、GEMM、elementwise、reduction、MoE をカバーし、いずれも H200 上の busy と back-to-back の 2 組の時間、または vLLM、FlashInfer との対照を示し、manifest に既測行の回帰がないことを宣言している。この「表付きマージ」の方式は、オペレータライブラリがすでに機能追加ではなく、shape ごとの行単位キャリブレーションの段階に入ったことを示している。

出典:https://github.com/tile-ai/TileOPs/commits/main

3.2 TileOPs:GQA 稠密前方は 1 本の実測ルールで decode または prefill プログラムを選択、選択リグレットが 1.818 から 1.017 に低下(#2808)

11-01 13:04 にマージ。GQADenseFwdOp と GQADenseWithLSEFwdOp は、同一のルール AttentionCall.dense_decode_program によってどちらのプログラムを使うかが決まるようになり、入力は query と key の長さ、batch、ヘッドグループ、head dim、RoPE、SM 数である:2 から 64 個の query 位置は warp 専用 decode を使い、1 つの KV ヘッドグループ内の各位置を 64 行ブロックにパックする。単一 query 位置の場合は 32 セグメントに分割して一波を埋めるか、1 シーケンスあたり 1 から 2 個の KV ヘッドの batch-1 プログラムを使う。最速の利用可能なプログラムに対する選択リグレット(幾何平均と最大値):単一位置は 1.068 と 1.87 から 1.018 と 1.69 に、2 から 128 位置は 1.818 と 25.2 から 1.017 と 1.81 に低下した。同時にメインラインの 2 つの不具合を修正:score scale に log2(e) を掛けた後、FP32 で消えて NaN または誤値になる問題;D256 の複数位置呼び出しが SM90 上で共有メモリ不足により起動に失敗する問題。

出典:https://github.com/tile-ai/TileOPs/pull/2808

3.3 TileOPs:ページド MHA decode を共有メモリに収まるすべての head dim に拡張、GQA ページド前方から旧 decode カーネルを削除(#2807 / #2797)

#2807 は 11-01 12:30 にマージされ、ページド MHA decode を「1 ブロックの共有メモリに収まる」前提のもとで各 head dim に拡張した。以前はより大きな head dim に遭遇するとこのパスを通らなかった。#2797 は同日 03:54 にマージされ、GQAPagedFwdOp から旧 paged decode kernel を削除し、ページド MHA decode の上限をコンパイル可能な head dim に圧縮した。これは前バージョンが残した範囲外の能力を收回するに等しい。2 件を合わせると「まず能力を拡張し、次に冗長性を削る」という締めくくりである。

出典:https://github.com/tile-ai/TileOPs/pull/2807、https://github.com/tile-ai/TileOPs/pull/2797

3.4 TileOPs:coop2 プロデューサを単一 warp に集約、192 幅の転置ブロックを追加、W4A8 の部分一波を 1 CTA 1 tile に変更(#2806 / #2805)

#2806 は 11-01 12:02 にマージされ、Hopper GEMM の coop2 プロデューサをマルチ warp から 1 つのロード warp に集約し、共有メモリが 3 段パイプラインを許す場合に 192 幅の均一な転置ブロックを提供する。H200 上で wgrad-q-b は 384.9 マイクロ秒から 382.3 に、mlp-up fp16 は 317.9 マイクロ秒から 311.9 に低下(back-to-back はそれぞれ 458.5 から 449.6、369.0 から 367.3)。作者は既測 GEMM 行の回帰がないことを宣言しており、本件は #2791 目標の一部で、デュアルカードでの確認は未完了である。#2805 は同日 10:36 にマージされ、少なくとも SM の 4 分の 3 を埋める部分一波 W4A8 prefill グリッドを stream-K ではなく 1 CTA 1 tile に変更した。llama-8b-up-b33 は 23.52 マイクロ秒から 17.98 に(vLLM 20.42)、b128 は 31.33 から 23.39 に(vLLM 24.05)。リスト外の M 33 から 128 の 44 組の N/K スキャンでは、スケジューリング形状の変更により 5% から 36% 高速化、中央値 18%、遅くなったものはなかった。

出典:https://github.com/tile-ai/TileOPs/pull/2806、https://github.com/tile-ai/TileOPs/pull/2805

3.5 TileOPs:コンパイルキャッシュをビルドターゲットでキー制御、オペレータ層で出力と入力の重なりを統一的にチェック(#2802 / #2801)

#2802 は 11-01 11:31 にマージされ、コンパイラキャッシュのクロスデバイス再利用の問題を修正した。ビルダーと Op エントリのいずれもビルドターゲットごとにキー付けされ、遅延コンパイルと自動チューニングは想定デバイス上に留まり、受け入れは 99 項目のターゲット分離、ベンダーとグループ化 GEMM テストで行われた。#2801 は同日 10:33 にマージされ、「出力は他のいかなる呼び出しテンソルともバイトを共有してはならない」というチェックをオペレータ層に引き上げ、manifest の overlaps フィールドによるオペレータごとの宣言で例外を認め、MoE unpermute、MoE グループ化 GEMM、持続 GEMM テンプレートなど 4 箇所のカーネル側チェックを削除した。併せてメインラインの競合状態を 1 件修正した。IndexedExpertMLPFwdOp は out と topk_weights の重複を許容するが、後者は書き込み時に依然としてリダクション読み取りされていた。MoEPostPermuteFwdOp で out を持つ場合のホスト所要時間は 51.48 マイクロ秒から 39.33 に短縮された。

出典:https://github.com/tile-ai/TileOPs/pull/2802、https://github.com/tile-ai/TileOPs/pull/2801

3.6 TileOPs で修正中の不具合:Norm の 4 オペレータがゼロから遠い行で精度を失い、約 1e36 でオーバーフローして NaN になる(#2812)

11-01 に新規起票。LayerNorm、AdaLayerNorm(-Zero を含む)、GroupNorm、BatchNorm はいずれも現在、元の行の fp32 を直接合計して平均と分散を求めており(BatchNorm は E[x²] から平均の二乗を引く)、これは #2773 で FusedAddLayerNorm に対して修正され、#2811 で InstanceNorm の訓練カーネルに対して修正中の同一種の不具合である。症状は次のとおり。定数 10000.1 の fp32 行は正規化後の出力が bias ではなくプラスマイナス weight にほぼ等しくなり、10000 に乱数を加えた行は fp32 の許容誤差で float64 の参照と一致せず、1e36 に近い行は合計がオーバーフローし、fp32 と bf16 のいずれでも全出力が NaN になる。影響を受ける経路は fragment、共有メモリ走査、1 行 1 warp、タイル化、ストリーミングなど多様な実装に及ぶ。

出典:https://github.com/tile-ai/TileOPs/issues/2812

3.7 TileFoundry:lowering が issuing mesh とウィンドウ分割を 1 箇所の意思決定に集約、83 個のスケジューリングフィクスチャがバイト単位で一致(#280 / #282)

#280 は 10-31 00:47 にマージされ、「各呼び出しで何を発行するか」の決定を 1 箇所に集約した。#282 は 11-01 11:47 にマージされ、さらに「どの mesh が発行するか」と「ウィンドウをどう切るか」も 1 箇所に集約した。analysis/emission.py に copy_mesh、issue_owner、issue_mesh を新設し、copy_mesh と issue_owner はヘルパーを共有、両者の唯一の違い(Partial の読み方)は 1 箇所にのみ残した。3 箇所に重複していた Slice 分割は _cut ヘルパーに統一された。受け入れはバイト単位の照合で行われ、83 個のスケジューリングフィクスチャのうち 75 個の finalize 出力がメインラインと完全に一致し、残り 8 個はメインラインでも同様に失敗する。docs/spec/passes.md の第 7.1 節にこの mesh 意思決定が仕様として書き込まれた。

出典:https://github.com/tile-ai/TileFoundry/pull/282、https://github.com/tile-ai/TileFoundry/pull/280

3.8 TileFoundry:サイトで 0.3 版スケジューリング記事「Scheduling, Designed for Agents」を公開(#4 / #281)

サイトリポジトリは 10-30 に #4 をマージし、0.3 版記事「Scheduling, Designed for Agents」を公開した。併せて記事と図版のディレクトリ構造、数式の MathJax サポート、図注と表のスタイル、各図表のアンカーを追加し、トップページの Blog カードはブログインデックスを開くように変更、インデックスには 2 本の記事が列挙される。upstream-ref は変わらず、サイトは依然として v0.0.3 をレンダリングしている。リポジトリ側では #281 が 10-31 に README でこの記事を告知した。TileFoundry のこのラインにとって、これは「agent 向けスケジューリング」をコードとリリースノートから公開の語りへと移す一歩である。

出典:https://github.com/tile-ai/TileFoundry.github.io/pull/4、https://github.com/tile-ai/TileFoundry/pull/281

3.9 採用側:FlashQLA が SM120 の Dual-CP 前後方伝播をマージ、2 枚の RTX 5090 上で 32K から 128K の系列を Inter-CP と比較(#51)

10-30 03:02 マージ。変更内容は SM120 に Dual-CP のフォワードとリバースを追加するもの:フォワードは既存の state-scan kernel を再利用してカード級の状態集約を行い、整序された M 積は 32 列ごとのブロックで計算して共有メモリ内に収める;リバースは転置された M で状態を逆順に伝播し、フォワードでキャッシュした M 行列を再利用する;同時にリバース kernel 内の共有メモリ競合を 1 箇所修正し、その方法は第 7 フェーズと dV 格納 warp を同期させること。性能は 2 枚の RTX 5090 上で BF16、chunk 32、系列長 32K から 128K で Inter-CP と比較し、各例 3 回の中央値、毎回 25 回のウォームアップに加え 100 回の計時を行う。

出典:https://github.com/QwenLM/FlashQLA/pull/51

3.10 採用側:TileKernels は 10-14 以降プッシュなし(11-02)

深度求索の TileKernels の最終プッシュは 10-14 に止まり、当調査期間で変化はない。採用側の今期の有効な動きはすべて通義 FlashQLA からのものである。

出典:https://github.com/deepseek-ai/TileKernels


4. コミュニティ、チュートリアル、イベント

4.1 RISC-V 研究チェーンが形を成す:3 つのリポジトリが Numba CUDA Python を TileLang に変換し、さらに制限付き PrimFunc を単一 hart の RVV C に落とす(10-31)

コミュニティ研究者 zishu0131-png は 10-31 同日に 3 つのリポジトリを整理した:tilelang-riscv は総合エントリとして研究目標、2 段のコンパイルチェーンとバージョン組み合わせを説明する;numba2tilelang は Numba CUDA Python を静的解析して TileLang ソースに変換する役割を担う;tilelang2rvv はサポートされる実際の tvm.tirx.PrimFunc を RVV intrinsic C に変換し、さらに Clang で RV64GCV ELF にコンパイルして、QEMU virt 上で単一 hart として実行する。作者は境界を明確に記している:これは TileLang 公式に登録されたバックエンドではなく、汎用 GPU モデルシミュレータでもなく、threadIdx に依存するアドレッシング、hart 間同期、未サポートの IR は一律に拒否し、ブロックは順次実行し、shared と fragment は単一 hart のローカル配列にマッピングする;研究環境は TileLang 0.1.15、Clang 23.1.3、QEMU 11.1.0 であり、他のバージョンの互換性は保証せず、また上流のスレッド級成果物を自動的にこのバックエンドが受け入れる入力と見なすことはできないと明言している。

出典:https://github.com/zishu0131-png/tilelang-riscv

4.2 PTO-ISA/tilelangGym が PTO-ISA/tilelang から独立リポジトリ化、主回帰ゲートは昇騰 SimtVF 経路(10-30)

この敏感性・回帰テストセットは PTO-ISA/tilelang の examples/ascend/t_parallel_st_suite から切り出されたもので、その理由はテストセットが TileLang と PTOAS のバージョンを独立して固定できるようにするためである。現在の 3 本の主経路:昇騰 SoftLib SimtVF(target=ascend、cython、主回帰ゲート、remat バージョン上で全通過)、VectorizeParallelToPTO と VL の vload/vstore、そして benches 下で @pto.jit を用いて書かれた手書き SIMD DSL 対照実装;各ケースディレクトリには config.toml と VERDICT.md があり、さらに週次および CI 回帰スクリプトがある。

出典:https://github.com/PTO-ISA/tilelangGym

4.3 ニュース側:Google News の中英文クエリ、Hacker News、arXiv はいずれも調査期間内に実質的ヒットなし(11-02)

3 日間の Google News 中英文クエリは調査期間内に該当する TileLang 関連報道を一切返さず、Hacker News と arXiv にも新規エントリはない;候補リストの 20 件はすべて GitHub リポジトリのプッシュに由来し、通常のコード活動であってニュースではない。今期の情報面はしたがって完全にリポジトリ側とコミュニティリポジトリで構成されている。

出典:https://news.google.com/


5. トレンド観察

この調査期間で最も記録に値する判断は上流自身によるものである:正確性の改善を巻き戻してでも、ThreadSync の複雑度をクリティカルパスから外すことを選んだ。ロールバックの説明にはその代償が明記されている——商ガード、正確な関与スレッド境界、非矩形スレッド集合という 3 種類の改善を一括して撤回し、旧来の保守的経路のみを残し、#3732 は TIRX 移行完了後に改めて最適化を議論する形で保留された。あるコンパイラプロジェクトが「我々の証明器の予算が足りないので、まず保守的実装に戻す」と公開の場で書くことは、機能をどれだけ積み増すよりも、現段階の真の制約をよく示している:TIRX 移行が主線の第一優先であり、他の最適化はすべてそれに道を譲らなければならない。

これと呼応するのは昇騰側の2つの「メインラインへの収束」に関する文書である:#1971 の RFC は同期アルゴリズムをメインラインのコアと独立した Z3 証明サービスに置き換えるもので、まず調査し、その後置き換え、中間に旧 TIR 適配層を残す;#1975 は Ascend リポジトリ全体をメインラインのマルチバックエンドアーキテクチャへ直接移行する。どちらの道も移行コストを伴うため、当面の可視的な作業は基盤系に偏る:#1948 は毎回の呼び出しにかかる固定ホストオーバーヘッドを約 450 マイクロ秒から約 106 マイクロ秒へ削減し、4 件のドキュメント事実確認、CI の内部キャッシュ参照の整理も、いずれもこの種の作業である。

TileOPs のリズムは「リリース」から「チューニング」へ切り替わった。72 時間で 15 件のマージのうち 13 件が同じ日に集中し、ほぼすべてに H200 の実測表と「manifest に回帰なし」の宣言が付され、さらに選択後悔のような指標でスケジューリングルールの良し悪しを記述し始めている(#2808 は 1.818 から 1.017 へ)。これは、オペレータライブラリの競争点が「そのオペレータがあるか否か」から「各 shape ごとに正しいプログラムを選べているか」へ移ったことを意味し、まさにこれが TileLang のような DSL が手書き kernel に対して持つ長期的価値である。

エコシステム側には新たな2つの分岐が現れた。1つはハードウェア方言:海光は gfx948 を gfx946 互換として扱い、昇騰は PTO ドキュメントとシンボル形状の補完を続ける。もう1つは言語出口:RISC-V 研究チェーンは制限付き PrimFunc を単一 hart の RVV C へ降ろす。スター数は非常に少なく、作者も公式バックエンドではないと明言しているが、TileLang の IR を可搬資産として使うものであり、昇騰や海光のリポジトリ級ブランチ適配と同じ類のシグナルである。複数の分岐が同時に存在する中、上流の TIRX 移行が安定した IR 境界を示せるかどうかが、これらの下流投資が定着するか手戻りになるかを決める。


付、素材と核查説明

情報源核查表

情報源 核查結果
tile-ai 組織(29 リポジトリ) 調査期間内に 10 リポジトリへプッシュ
メインリポジトリ tilelang メインブランチ 7 件マージ;新規 issue 4 件;ドキュメントサイト 3 件
TileOPs メインブランチ 15 件マージ(13 件は 11-01);新規 issue 3 件;サイト 1 件
TileFoundry 3 件マージ;サイト 1 件
tilelang-ascend 5 件マージ;新規 issue 4 件(日次テスト記録と RFC を含む)
tilelang-hygon 2 件マージ;審査中 1 件新規
tilelang-mlir-ascend 1 件マージ;審査中 1 件新規
tilelang-metax / tilelang-musa / TileRT / tilescale / DeepStack 調査期間内にプッシュなし
リリースページ(tilelang / TileOPs / TileFoundry / tilelang-ascend / tilelang-hygon / mlir-ascend) 調査期間内に新バージョンなし
FlashQLA 1 件マージ(#51)
TileKernels 10-14 以降プッシュなし
RISC-V 研究チェーン 3 リポジトリ / PTO-ISA/tilelangGym プッシュあり、研究チェーン 3 リポジトリは同日にチェーン構築
Google News / Hacker News / arXiv 調査期間内に実質的なヒットなし

完全な情報源リスト

WASP 同期(#31)— https://github.com/tile-ai/tilelang-hygon/pull/31

** TileFoundry リリースページ — https://github.com/tile-ai/TileFoundry/releases