TileLang Daily Intelligence Report (2026-09-22)
Research window: Past 24 hours (2026-09-21 07:00 ~ 2026-09-22 07:00, Beijing time). This is a regular daily window with no overlap with the previous issue. Sources: GitHub (push verification across 28 repositories in the tile-ai organization; 10 repositories had pushes within the window; 6 merges and three newly opened review queue items in the main repo in a single day; two merges and four follow-ups for TileOPs roofline governance and the composite GEMM selector; two merges in TileFoundry; three Ascend reverts and daily test recovery; a new Hygon branch, MetaX upstream sync, Sunrise release, two newly opened MLIR Ascend items; documentation site deployment), Google News RSS multi-language queries (via proxy, zero hits), Hacker News, arXiv, third-party ecosystem repositories
Index
- Today’s Highlights: Six merges into the main repo in a single day—two Fuzzer ICE fixes, AllReduce silent error interception, and frontend Pythonic support (09-21)
- I. Core Project Progress
- 1.1 Main Repo Review Queue: NVRTC chaining and magic division open two new lines, SM120 patch pending review (09-21)
- 1.2 TileOPs: Major roofline governance merge—manifest formulas become the single source of execution and are re-counted (09-21)
- 1.3 TileOPs: Combined GEMM selector refit against measurements, gap to torch._grouped_mm corrected (09-21)
- 1.4 TileOPs: Three governance follow-ups—bypass fix, manifest rule evaluation issue, and W4A16 preparatory weight order (09-21)
- 1.5 TileOPs: Unification queue—DeltaNet prefill draft and variable-length GQA pipeline exploration (09-21)
- 1.6 Overnight Snapshot: 1046 benchmarks with zero failures, correctness result files not released with this snapshot (09-21)
- 1.7 TileFoundry: Loop-aware buffer lifetime and CuTe-style swizzle merged (09-21)
- II. Multi-Backend Adaptation (Ascend / Hygon / MetaX / Sunrise / Moore Threads)
- 2.1 Ascend: Three reverts withdraw ten-thousand-line merge and two docs, daily tests back to all green 2448/2448 (09-21/09-22)
- 2.2 Ascend: mhc_bwd example merged, two new fix PRs opened (09-21)
- 2.3 Hygon: New branch shares FP32 MMAC K, ds_read fragment changed to packed copy (09-21)
- 2.4 MetaX: main synced to latest upstream HEAD, dev branch untouched (09-21)
- 2.5 Sunrise: Released 0.1.14+sunrise.1.1.0, includes CI and sparse mask fixes (09-21)
- 2.6 Moore Threads: MUSA external backend integration exposes three API gaps (09-21)
- 2.7 MLIR Ascend: Packed sort and explicit memory control opened (09-21)
- III. Ecosystem and Adopters
- 3.1 Adopters: TileKernels and FlashQLA no pushes in window (04-23 / 09-18)
- 3.2 Community Projects: Teaching repo PTO frontend examples and documentation localization synced (09-21)
- IV. Community, Tutorials, and Events
- 4.1 Documentation Site: One automated deployment each for main repo and TileOPs (09-21)
- 4.2 Media and Academia: Zero additions in window (09-22)
- 4.3 Release Cadence: New Sunrise release, main repo v0.1.14 at 20 days (09-21)
- V. Trend Observations
- 5.1 Depth of Fixes: Six in one day, covering Fuzzer to runtime
- 5.2 Ascend’s Revert and Recovery: Validation cost of large merges paid upfront
- 5.3 TileOPs Trust Engineering Enters “Anti-Regression” Phase
- 5.4 Gaps and Risk Points
- Appendix: Sources and Verification Notes
Today’s Highlight: Six Merges into the Main Repo in a Single Day — Two Fuzzer ICE Fixes, AllReduce Silent-Error Interception, and Frontend Pythonic Support
Date: 2026-09-21 to 2026-09-22 Source: tilelang #3207/#3206/#3260/#3266/#3262/#3230
Six merges landed in the main repo during the window (Beijing time 09-21 13:28 to 09-22 01:42, concentrated within just over a day), closing 5 issues — the highest density in recent memory. Item by item:
- Two Fuzzer ICE fixes (#3206, #3207, merged back-to-back within two minutes at 01:41 / 01:42): #3206 downgrades plain
assertinside kernel bodies to device-side legal checks — previously CUDA codegen inherited the generic visitor, writing host-only error-reporting calls andreturn -1into__global__kernels, which nvcc rejected outright (fixes #3019); #3207 fixes a call-time crash when dynamically shaped outputs precede the inputs that supply their shapes — symbol table construction now visits inputs first, and both the tvm_ffi and cython adapters place input tensors before allocating outputs, with scalar branches aligned with lists (fixes #3017). Both original tickets were filed by the same reporter on the same day, 08-17, marking a targeted cleanup of the fuzzer queue. - AllReduce silent-error interception (#3266, 21:18): XOR butterfly reduction requires participating threads’ stride to be a power of two, but only the logical width was checked previously; a
(32, 3)fragment reduced along dimension 0 would be lowered toAllReduce<MaxOp, 96, 3>, silently mixing columns with replicas, and with exactly 96 or 192 threads the shared-memory exchange went out of bounds. The fix folds stride validation intoCheckAllReduceWidth(shared bytl.reduceandtl.finalize_reducer), adds a static assertion to the template, and has the reducer v2 planner fall back to the wide scheme in such cases. - NVRTC fix (#3260, 00:15): fixes a warp reduction compilation issue (fixes #3259), adding the nvrtc_std.h template header. About 14.5 hours from issue filing (09-21 09:48) to merge.
- Frontend Pythonic support (#3230, 13:28): compile-time loops now accept Python iterables and comprehensions; 5 files, +1084/-24, including 766 lines of new tests; also gives clear rejections for misuse of
PrimExpr,Buffer, etc. Closes two long-standing Feature Requests — #2451 (ForFrame not iterable) and #2308 (zero-overhead expression list indexing insideT.unroll). - #3262 (16:23): removes the warning for rebinding immutable variables, a net deletion of 14 lines.
Interpretation: the six are not a homogeneous pile-up but three layers of depth — compiler frontend/boundaries (two Fuzzer fixes), the runtime wrapper layer (NVRTC), and codegen and scheduling (AllReduce). The AllReduce item is the most significant in nature: what it intercepts is a class of silent errors that “appear to run but quietly produce wrong results,” pushing the line of defense forward into static assertions and planner fallback; the frontend Pythonic work is the landing of a multi-week item (filed 09-15).
I. Core Project Progress
Window Overview: Main repo 6 merges (see today’s highlights), 3 PRs newly opened and 1 closed, 2 issues newly opened; TileOPs 2 merges, 4 newly opened/follow-ups, 1 nightly snapshot; TileFoundry 2 merges, 2 newly opened.
1.1 Main Repo Review Queue: NVRTC Chain and Magic Division Two New Lines, SM120 Patch Awaiting Review (09-21)
Date: 2026-09-21 Source: #3263/#3265/#3267 and six others (full list in appendix)
NVRTC line: after the fix merged, the same author opened #3263 that morning—the NVRTC wrapper layer fails to pass host-side scalar parameters; the same day’s patch #3264 was closed (not merged), and #3265 (sinking integer arithmetic for launch invariants to the host side) was opened to continue in queue. Dynamic-shape division overhead spawned a separate line: requirement issue #3261 and implementation #3267 (tl.LowerMagicDiv, precomputing magic division from the divisor’s runtime value) were both opened the same day. Additionally #3268 (CMake preserving SDK paths given by backend environment variables) was newly opened; the SM120 block-scaling patch #3257 was updated within the window (6 files +252/-42, two commits) and still awaits review; #3245 (intercepting unsupported GEMM dtype combinations before CUDA codegen) remains open.
1.2 TileOPs: Major roofline Governance Merge—Manifest Formula Becomes the Sole Execution Source and Is Recounted (09-21)
Date: 2026-09-21 Source: TileOPs #2158
Merged 09-21 21:02 (opened 09-20 07:29, completed within two days). Three things: first, making the manifest’s roofline field the single source of truth read by all consumers—one source (the entry), one evaluation surface (the generated eval_roofline()); previously 98 of 175 implemented operators ran a separately written method alongside the entry, so changing the entry did not change the numbers and there was no way to verify. Second, correcting the formulas, 15 classes of errors in total: intermediate quantities counted, common inputs/outputs omitted, implementation artifacts priced in, operators priced by the wrong dtype or shape, etc., involving Conv3d, FFT, the RoPE series, Mamba2, DeltaNetAutograd, paged GQA, batch normalization, grouped matmul, and more. Third, giving the checks something decidable: a structural oracle recounts all 175 operators per PR; the NCU audit remains manual (it needs counter permissions CI cannot grant), but a single full run over 78 buildable operators found the last two formula defects.
Assessment: from “readings, criteria, provenance” to “formula and run unified,” what is “read out” and what is “written down” are proven to be the same thing; this merge closes out this governance line and leaves the re-verification capability in CI.
1.3 TileOPs: Grouped GEMM Selector Refit to Measurements, Gap to torch._grouped_mm Corrected (09-21)
Date: 2026-09-21 Source: TileOPs #2157
Merged 09-21 22:57. The selector had three static cost models contradicted by device facts, each corrected: first, the model could not see WGMMA instruction counts (non-power-of-2 N issues two), reading 192-wide tiles as cheap—measured on tight rows its best config trailed the descriptor by a median 1.38x, worst 3.82x, losing all 74 comparisons, so block_n=192 was added to the exclusion list; second, the shallow-ring penalty looked only at wave count, wrongly penalizing shapes where “three waves fill the device”—changed to a dual condition of “few waves and tiles insufficient to fill the SMs”; third, the tiered epilogue previously served only one tile shape—changed to be gated by ring depth and extended to m-grouped / K-grouped. Background: in measurements grouped GEMM lost to torch._grouped_mm 14 times out of 120 test points, by up to 3.3x. Also: fused silu rewritten as 0.5 + 0.5 * tanh(g / 2) (eliminating expf and exact division, bit-identical output), MoE pre-permute capacity rounded by row block, and the generic grouped GEMM’s two metadata tables declared by both prim_funcs but dereferenced by no one removed.
1.4 TileOPs: Three Governance Follow-ups—Bypass Fix, Manifest Rule Evaluation Issue, and W4A16 Prepacked Weight Order (09-21)
Date: 2026-09-21 Source: #2167/#2161/#2168
- #2167 (opened 22:34): roofline bypass fix.
maybe_install_eval_roofline()silently yields to classes that defineeval_roofline, which is exactly the mechanism by which 98 operators run hand-written methods; after #2158 merged, 3 overrides remained, and this PR deletes two of the GQA overrides, replacing them with a unified approach of “layering call-time payload onto the attribute,” and adds explicit errors for two misuses: “payload is None” (caller timing issue) and “payload not a mapping” (author wiring error). - #2161 (11:20, issue): helper definitions in the manifest’s
shape_rulesare never evaluated. 15 conv/pool entries define intermediates like_kW,_sWvia equations, but the validator evaluates each rule independently without binding the left-hand side, causing 234 rules to be silently skipped with NameError (window constraints and all output-range rules were inoperative). The author tested three fixes and listed all as “tested and rejected,” awaiting a decision. - #2168 (23:14, draft): W4A16 GEMM reading prepacked weight order. Currently each pair of FP16 weights produced requires shift+mask+spread+LOP3 decode, measured at 9.5% to 11.3% of the kernel; adds
W4A16RepackFwdOp(one repack at checkpoint load, three-in three-out) andGemmW4A16PrepackedKernel. Also fixes a declaration defect:weight_scaledeclared as FP32—Machete rejects it outright, Marlin does not check and silently computes wrong (reporting [inf, -1531.0, nan] against the reference implementation); roofline’smetadata_bytescorrected accordingly.
1.5 TileOPs: Unification Queue—DeltaNet Prefill Draft and Variable-Length GQA Pipeline Exploration (09-21)
Date: 2026-09-21 Source: #2163/#2162/#2160
- #2163 (15:03, draft): migrates equal-length prefill (T not less than 64 and divisible by 64) into the unified
DeltaNetFwdOpcontract (BTHD input, returns o and FP32 final_state), and retires the old public prefill/decode Op; decode migration left for later, with packed variable-length and in-kernel Q/K L2 normalization currently spec-only. The author notes GPU validation pending CI. - #2162 (14:30, draft): performance exploration for variable-length GQA—whole-tile skipping of redundant masks, a dense warp-specialized pipeline prototype, and introducing a FlashInfer baseline; 36 correctness cases pass on H200; the author explicitly states “no advantage over FlashInfer established, no performance claims made.”
- #2160 (migration PR from the previous window) updated once within the window, still under review.
- Two other old entries #2085 and #2088 were closed on the morning of 09-21 (not merged).
1.6 Nightly Snapshot: 1046 Benchmarks Zero Failures, Correctness Results File Not Published with This Snapshot (09-21)
Date: 2026-09-21 Source: snapshot commit 201e809c/snapshot environment metadata
Generated 09-22 02:41 for cbf29a82 (#2157 merge point): 1046 benchmarks, 0 failures, 3 skipped (still the three GQA paged cases), case count on par with the previous snapshot—#2157 added no new benchmark cases. Environment unchanged from last period: H200, CUDA 13.2, driver 595.71.05, TileLang 0.1.11+cu132 plus codename version, torch 2.13.0, power and frequency settings unchanged. Observation point: this snapshot published only bench_results.xml and meta.json; the previous two snapshots both included test_results.xml (correctness results), absent this time for unexplained reasons, to be rechecked with the next snapshot.
1.7 TileFoundry: Loop-Aware Buffer Lifetime and CuTe-Style Swizzle Two Merges (09-21)
Date: 2026-09-21 Source: TileFoundry #170/#174 and four others (full list in appendix)
- #170 (merged 14:14, 12 files +1214/-172): loop-aware buffer lifetime solving (fixes #169)—derives physical reuse constraints from structured SSA intervals and real/synthetic use events, replacing “summing logical lifetimes”;
peak_bytesis the placement high-water mark for gmem/smem and the maximum projected value for rmem; CP-SAT retains all logical boxes and locks in per-level peaks across 52 analysis corpus cases. - #174 (merged 17:44): introduces XOR swizzle in CuTe’s style—
Swizzle(bits, base, shift)ported as a frozen functor,ComposedLayout.innerwidened with layout algebra specializations added (apply/cosize/coalesce/inverse/composition); CUDA codegen emitscute::make_composed_layoutverbatim; device-side projection rules and spec documents (shard.md, runtime.md) updated accordingly. - Two newly opened: #175 (analysis supporting loop starts in dependency units, 20:20), #176 (normalizing memory metadata and traffic, next day 01:58).
II. Multi-Backend Adaptation (Ascend / Hygon / MetaX / Sunrise / Moore Threads)
2.1 Ascend: Three Reverts Withdraw a Ten-Thousand-Line Merge and Two Docs, Daily Tests Back to All-Green 2448/2448 (09-21 to 09-22)
Date: 2026-09-21 to 2026-09-22 Source: Ascend #1818/#1819/#1820/reverted #1753/daily test #1823/#1817
The previous window’s batch-merge day ended in a revert, with three reverts merged in succession:
- #1818 at 10:02 withdrew #1753 in full (the “FP32 row reduction optimization and Ascend sync fix” merged on 09-20, then 72 files +10117/-3618). The revert commit is likewise 72 files, +3618/-10117, precisely symmetric; it includes the deletion of implementations such as
reduce_2d_v2.h(953 lines) and the row_reduce documentation. - #1819 at 14:32 and #1820 at 14:33 reverted the transpose and select documentation enhancements respectively (3 files +10/-407 and 3 files +74/-452, including their newly added tests and API docs).
- None of the three revert PRs carried an explanation; the reasons were not elaborated on the repository side.
Recovery verification: the daily test #1823 at 06:35 on 09-22 reported 2448/2448 all passing (workflow run 35658878616); the earlier report on 09-21 at 06:01 (#1817) was a workflow-level failure. For comparison, the passing ticket on 09-20 before the merge wave was 1936/1936—after the three reverts the regression scale did not fall back but increased by 512 items. The two follow-up tickets (#1815 PTO V2C serialization, #1816 automatic C/V attribution for pure Vector operators) saw no updates within the window and remain open.
Interpretation: the revert is another form of closure in the “merge, verify, correct” chain—after a large merge brings risk downstream, it is paid back head-on within one working day. Watch points: when the withdrawn #1753 returns in corrected form, and the fate of #1815/#1816 after the revert.
2.2 Ascend: mhc_bwd Example Merged, Two New Fix PRs Opened (09-21)
Date: 2026-09-21 Source: #1633/#1821/#1822
#1633, opened a month ago (08-19), was merged at 17:16 (5 files +607): it adds an NPU-side mhc_bwd (Sinkhorn implicit conjugate gradient) operator example, including three scheduling trims and verification hardening—the CG loop’s matvec hoists the tile-invariant part (the +x in A times the split vector) out of the serial loop (2 dispatches replacing 2 times tilesize), and when x0=0 it skips the initial matvec and uses b directly as the initial value; interleaved A/B measurements show seqlen 256/512/1024 within noise, and 2048/4096 improved by 3.1% (2.02 down to 1.95, 4.03 down to 3.90 ms); it also adds fp32 assertions, folds reference CG validation into the PASSED criterion (measured 5.96e-08 to 1.79e-07), and migrates batch cases into pytest (following the same organization as mhc_pre). Two new fixes opened: #1821 (reject non-contiguous flattened UB BufferRegion) and #1822 (make in-place T.tile.silu safe on AscendC), neither merged.
2.3 Hygon: New Branch Shares FP32 MMAC K, ds_read Fragment Switched to Packed Copy (09-21)
Date: 2026-09-21 Source: branch commit 11007fd5/#11 example support
At 19:50 a commit was pushed to the feat/hcu-ds-read-fp32-mmac-k branch (3 files +50/-32): MmacMicroKDim was moved into the new file mmac_micro_k.hpp so that ds_read_format and gemm share the architecture-dependent FP32 K (x4 for gfx92a/gfx946, x8 for gfx938); fragment copies were changed to packed 4B/8B words, bypassing clang’s i8 extraction legalization issue. The branch has no corresponding PR yet; the example support PR #11 remains open (last updated 09-20).
2.4 MetaX: main Synced to Upstream Latest Head, dev Branch Untouched (09-21)
Date: 2026-09-21 Source: metax main commit eab74a4a
At 09:59 main was fast-forwarded from its own v0.1.14 release point (e10a13e3, 09-01) to upstream’s latest eab74a4a—that is, the previous window’s main-repo GLM-5.3 k-pool chain merge—syncing nearly three weeks of upstream increments; the development-line dev branch has been untouched since 09-17, and tags were not updated. This is a routine upstream-following sync, with no new MUSA-side activity observed.
2.5 Sunrise: Releases 0.1.14+sunrise.1.1.0, Including CI and sparse mask Fixes (09-21)
Date: 2026-09-21 Source: release 0.1.14+sunrise.1.1.0/release PR #6
At 16:00 a new version tag 0.1.14+sunrise.1.1.0 was released (the previous version 0.1.13+sunrise.1.0.0 was on 09-08). The release path went from a candidate branch (pushed at 11:06) to release PR #6 (merged at 15:33) and then to tagging. The content is mainly engineering work: fixing sparse mask execution and stopping CI after device recovery failures; a major CI expansion (adding ci/run.sh, ci/install.sh, and a junit-to-JSONL script, with a major overhaul of ci/lib.sh); adding a compile-speed benchmark and docs for compile-only and lower-trace tools; and updates to tvm_sunrise’s z3 prover switch and integer analysis.
2.6 Moore Threads: MUSA External Backend Integration Exposes Three API Gaps (09-21)
Date: 2026-09-21 Source: TileOPs #2164/#2165/#2166
A new integration mode has appeared in the TileOPs tracker: integrating MUSA as an “external backend” rather than a built-in backend (measured on MTT S5000). Three issues point to three mechanisms by which official Ops fail before reaching the registered MUSA builder—the CUDA-only input validation of Dropout and the RoPE series directly rejects MUSA tensors; zero-input external calls are rejected; and a CUDA device query is still performed before external dispatch. The control group behaves normally (LogSumExp reaches the builder and completes execution). Two more: #2165, where the binary autotune test still takes the built-in CUDA build path for the external MUSA backend; and #2166, where Op.iter_kernels misses externally implemented backend Kernels. Together the three questions point to the boundary between “registered external backends” and existing CUDA assumptions.
2.7 MLIR Ascend: Two New PRs on Packed Ordering and Explicit Memory Control (09-21)
Date: 2026-09-21 Source: #189/#190
Two new PRs target IR engineering in the prefill stage: #189 (A2 platform packed ordering and bundled toolchain, opened 09-20, updated within the window) and #190 (explicit memory and pipeline control, opened 09-21 at 16:24), both open and unmerged.
III. Ecosystem and Adopters
3.1 Adopters: No Pushes from TileKernels or FlashQLA Within the Window (04-23 / 09-18)
Date: 2026-09-22 (verification) Source: TileKernels/FlashQLA
Neither adopter pushed within the window: TileKernels’ latest push remains at 04-23; FlashQLA’s last push was 09-18. The adopter side remains silent.
3.2 Community Projects: Teaching Repo PTO Frontend Examples and Docs Localization Sync (09-21)
Date: 2026-09-21 Source: tilelang-tutorials commits/tilelang-docs-l10n
- The teaching repo easy-tilelang/tilelang-tutorials added a set of init_core examples (22:42, 4 files +114): demonstrating TileLang usage in three forms of the PTO frontend (pure Cube, pure Vector, mixed), with authors from Huawei; the repo is a newly established community teaching direction.
- The docs localization repo (Crowdin workflow) completed a round of README translation sync across all languages (10:02).
IV. Community, Tutorials, and Events
4.1 Docs Sites: One Automatic Deployment Each for the Main Repo and TileOPs (09-21)
Date: 2026-09-21 Source: main repo docs site/TileOPs docs site
The main repo docs site had one automatic “Update docs” commit at 13:31; the TileOPs docs site had one gh-pages deployment at 07:59. Both are automated pipeline behavior, with no substantive change to site content.
4.2 Media and Academia: Zero Additions Within the Window (09-22)
Date: 2026-09-22 Source: Google News RSS (multiple Chinese and English queries, via proxy)/Hacker News/arXiv
Multiple Google News queries in Chinese and English (TileLang over the past 2 days and past 7 days, GPU kernel combinations) returned zero hits within the window; the relevant Hacker News query yielded only one unrelated item with a coincidental name match; the latest arXiv topic search remains the 07-24 TileSight performance-model paper, with no new preprints in the window.
4.3 Release Cadence: New Sunrise Release, Main Repo v0.1.14 Now 20 Days Old (09-21)
Date: 2026-09-21 Source: tilelang v0.1.14/Sunrise release
The main repo’s latest release remains v0.1.14 from 09-02 (now 20 days old); this issue adds Sunrise 0.1.14+sunrise.1.1.0 (09-21). The rest are unchanged: Ascend v0.1.2.000 (09-09), MLIR Ascend v0.1.2.020.sglang.poc (09-09), Moore Threads v0.1.14+musa.1 (09-11), MetaX v0.1.14 (09-17).
V. Trend Observations
5.1 The Depth of Fixes: Six in a Day, Covering Fuzzer to Runtime
The main repo’s six merges today form a three-layer depth: compiler frontend and boundaries (two Fuzzer ICEs), the runtime wrapper layer (NVRTC), and code generation and scheduling (AllReduce). The two Fuzzer tickets were opened by the same reporter on the same day, 08-17, and are now settled in a targeted way, indicating that the fuzzer queue is being handled systematically rather than incidentally; the AllReduce fix intercepts an error that “runs but silently computes wrong,” moving the check forward to static assertions and planner fallback—this parallels the TileOPs-side trust engineering of “formulas must be named and traceable,” the same idea appearing in different repositories.
5.2 Ascend’s Revert and Recovery: The Verification Cost of a Large Merge Is Paid Head-On
Yesterday’s “red” turned “green” within 24 hours: three reverts withdrew the ten-thousand-line merge and two docs, and today’s daily test closed out with all 2448 items passing. The revert is not a failure narrative—merge (09-20 afternoon), verification failure (09-21 early morning), revert (09-21 morning to afternoon), recovery to all-green (09-22 early morning), the complete chain in under two days. Watch points: in what corrected form the withdrawn #1753 returns; and the composition of the regression scale’s increase from 1936 to 2448 (which merges’ tests entered the system accordingly) is worth comparing next week.
5.3 TileOPs Trust Engineering Enters a “Prevent Regression” Phase
The past few days were about “fixing what’s wrong” (semantics, physics, provenance, formulas); this window shifts to “keeping wrong things out and right things from leaving”: #2167 removes the bypass mechanism that circumvented the checklist formula and pairs misuse with exceptions; #2161 advances the “written down but never executed” problem from the formula layer to the rule layer (234 silent skips); #2157 changes the GEMM selector’s three cost models from intuition to reading actual measurements. The common thread is equipping governance with regression capability rather than settling the accounts once more.
5.4 Gaps and Risk Points
Four points: first, the four remaining k-pool stack tickets (#3250, #3251, #3253, #3255) have seen no closing action for a second consecutive day, with content already on the mainline while the tickets hang open; second, the main repo’s release stagnation has reached 20 days, with the review queue clearing at an hourly pace while the release window remains unopened; third, Ascend’s reverted FP32 row reduction and two docs have yet to see a rework schedule; fourth, the three TileOPs external-backend questions (MUSA) have no response yet—if “registered integration” is the direction for the next phase, these three gaps will be prerequisites for cross-chip rollout.
Appendix: Sources and Verification Notes
Source Verification Table
| Source | Verification Result |
|---|---|
| tile-ai org (28 repos) | 10 repos had pushes in the window: tilelang, TileOPs, TileOPs-nightly, tilelang-ascend, tilelang-hygon, tilelang-sunrise, TileFoundry, tilelang-metax, tilelang.github.io, TileOPs.github.io (the latter two are site deployments) |
| Main repo tilelang default branch | 6 merges (#3207, #3206, #3260, #3266, #3262, #3230); newly opened #3265, #3267, #3268 and issues #3261, #3263; #3264 closed without merge; #3257, #3245 awaiting review; four k-pool stack entries with no updates |
| TileOPs | 2 merges (#2158, #2157); newly opened #2167, #2168, #2163, #2162 (the latter two drafts) and issue #2161; #2160 updated; #2085, #2088 closed; MUSA-related #2164 through #2166 opened |
| TileOPs-nightly | 1 snapshot (201e809c, corresponding to the #2157 merge point): 1046 benchmarks with zero failures; correctness result files not published this time |
| TileFoundry | 2 merges (#170, #174); 2 newly opened (#175, #176) |
| Ascend | 3 reverts (#1818, #1819, #1820) and 1 merge (#1633); newly opened #1821, #1822; daily tests restored to 2448/2448 |
| Hygon | 1 push to a new branch (FP32 MMAC K sharing and ds_read packing) |
| MetaX | main upstream sync (e10a13e3 to eab74a4a); dev untouched |
| Sunrise | Released 0.1.14+sunrise.1.1.0 (release PR #6) |
| MLIR Ascend | 2 newly opened (#189, #190) |
| Adopters | TileKernels, FlashQLA had no pushes in the window |
| Community repos | tilelang-tutorials added an init_core example; tilelang-docs-l10n translation sync |
| Google News RSS (multiple Chinese/English queries, via proxy) | Zero hits in the window |
| Hacker News | No topic hits (one coincidental string match) |
| arXiv | Latest paper dated 07-24, no new preprints in the window |
| Doc sites | One automated deployment each for the main repo and TileOPs, no substantive content changes observed |
Full Source List
- [1] tilelang #3207 dynamic shape output allocation fix (merged) — https://github.com/tile-ai/tilelang/pull/3207
- [2] tilelang #3206 kernel-body assert downgraded to device check (merged) — https://github.com/tile-ai/tilelang/pull/3206
- [3] tilelang #3260 NVRTC warp reduction fix (merged) — https://github.com/tile-ai/tilelang/pull/3260
- [4] tilelang #3266 AllReduce stride validation (merged) — https://github.com/tile-ai/tilelang/pull/3266
- [5] tilelang #3262 remove immutable variable rebinding warning (merged) — https://github.com/tile-ai/tilelang/pull/3262
- [6] tilelang #3230 frontend support for Python iterables and comprehensions (merged) — https://github.com/tile-ai/tilelang/pull/3230
- [7] tilelang #3019 Fuzzer original ticket: kernel-body assert — https://github.com/tile-ai/tilelang/issues/3019
- [8] tilelang #3017 Fuzzer original ticket: dynamic shape output — https://github.com/tile-ai/tilelang/issues/3017
- [9] tilelang #3259 NVRTC reduction compilation failure original ticket — https://github.com/tile-ai/tilelang/issues/3259
- [10] tilelang #2451 ForFrame non-iterable original ticket — https://github.com/tile-ai/tilelang/issues/2451
- [11] tilelang #2308 T.unroll expression list indexing original ticket — https://github.com/tile-ai/tilelang/issues/2308
- [12] tilelang #3263 NVRTC missing host scalar argument (issue) — https://github.com/tile-ai/tilelang/issues/3263
- [13] tilelang #3265 sink launch invariant integer arithmetic — https://github.com/tile-ai/tilelang/pull/3265
- [14] tilelang #3267 LowerMagicDiv magic division — https://github.com/tile-ai/tilelang/pull/3267
- [15] tilelang #3261 LowerMagicDiv request ticket — https://github.com/tile-ai/tilelang/issues/3261
- [16] tilelang #3268 CMake preserve environment variable SDK paths — https://github.com/tile-ai/tilelang/pull/3268
- [17] tilelang #3257 SM120 block scaling patch (awaiting review) — https://github.com/tile-ai/tilelang/pull/3257
- [18] tilelang #3245 GEMM dtype combination interception — https://github.com/tile-ai/tilelang/pull/3245
- [19] TileOPs #2158 roofline manifest formula merged — https://github.com/tile-ai/TileOPs/pull/2158
- [20] TileOPs #2157 combined GEMM selector refit — https://github.com/tile-ai/TileOPs/pull/2157
- [21] TileOPs #2167 roofline bypass fix — https://github.com/tile-ai/TileOPs/pull/2167
- [22] TileOPs #2161 manifest helper unevaluated (issue) — https://github.com/tile-ai/TileOPs/issues/2161
- [23] TileOPs #2168 W4A16 prepacked weight order — https://github.com/tile-ai/TileOPs/pull/2168
- [24] TileOPs #2163 DeltaNet prefill draft — https://github.com/tile-ai/TileOPs/pull/2163
- [25] TileOPs #2162 variable-length GQA pipeline exploration — https://github.com/tile-ai/TileOPs/pull/2162
- [26] TileOPs #2160 variable-length GQA migration (under review) — https://github.com/tile-ai/TileOPs/pull/2160
- [27] TileOPs #2085, #2088 closed entries — https://github.com/tile-ai/TileOPs/pull/2085
- [28] TileOPs-nightly snapshot 201e809c — https://github.com/tile-ai/TileOPs-nightly/commit/201e809c
- [29] TileOPs-nightly snapshot environment metadata — https://github.com/tile-ai/TileOPs-nightly/blob/snapshots/meta.json
- [30] TileFoundry #170 loop-aware buffer lifetime (merged) — https://github.com/tile-ai/TileFoundry/pull/170
- [31] TileFoundry #174 CuTe-style swizzle (merged) — https://github.com/tile-ai/TileFoundry/pull/174
- [32] TileFoundry #175 dependency-unit loop start — https://github.com/tile-ai/TileFoundry/pull/175
- [33] TileFoundry #176 memory metadata normalization — https://github.com/tile-ai/TileFoundry/pull/176
- [34] Ascend #1818 revert FP32 row reduction — https://github.com/tile-ai/tilelang-ascend/pull/1818
- [35] Ascend #1819 revert transpose docs — https://github.com/tile-ai/tilelang-ascend/pull/1819
- [36] Ascend #1820 revert select docs — https://github.com/tile-ai/tilelang-ascend/pull/1820
- [37] Ascend #1753 reverted merge — https://github.com/tile-ai/tilelang-ascend/pull/1753
- [38] Ascend daily test #1823 (2448 all passing) — https://github.com/tile-ai/tilelang-ascend/issues/1823
- [39] Ascend daily test #1817 (failure ticket) — https://github.com/tile-ai/tilelang-ascend/issues/1817
- [40] Ascend daily test #1814 (1936 passing baseline) — https://github.com/tile-ai/tilelang-ascend/issues/1814
- [41] Ascend #1633 mhc_bwd example (merged) — https://github.com/tile-ai/tilelang-ascend/pull/1633
- [42] Ascend #1821 non-contiguous UB region rejection — https://github.com/tile-ai/tilelang-ascend/pull/1821
- [43] Ascend #1822 in-place silu safety — https://github.com/tile-ai/tilelang-ascend/pull/1822
- [44] Ascend #1815, #1816 two follow-up tickets — https://github.com/tile-ai/tilelang-ascend/pull/1815
- [45] Hygon branch commit 11007fd5 — https://github.com/tile-ai/tilelang-hygon/commit/11007fd5
- [46] Hygon PR #11 example support — https://github.com/tile-ai/tilelang-hygon/pull/11
- [47] MetaX main commit eab74a4a — https://github.com/tile-ai/tilelang-metax/commit/eab74a4a
- [48] Sunrise release 0.1.14+sunrise.1.1.0 — https://github.com/tile-ai/tilelang-sunrise/releases/tag/0.1.14%2Bsunrise.1.1.0
- [49] Sunrise release PR #6 — https://github.com/tile-ai/tilelang-sunrise/pull/6
- [50] MUSA external backend three questions: #2164 — https://github.com/tile-ai/TileOPs/issues/2164
- [51] MUSA external backend three questions: #2165 — https://github.com/tile-ai/TileOPs/issues/2165
- [52] MUSA external backend three questions: #2166 — https://github.com/tile-ai/TileOPs/issues/2166
- [53] MLIR Ascend #189 packaging ordering and toolchain — https://github.com/tile-ai/tilelang-mlir-ascend/pull/189
- [54] MLIR Ascend #190 explicit memory and pipeline control — https://github.com/tile-ai/tilelang-mlir-ascend/pull/190
- [55] TileKernels (adopter, no pushes) — https://github.com/deepseek-ai/TileKernels
- [56] FlashQLA (adopter, no pushes) — https://github.com/QwenLM/FlashQLA
- [57] tilelang-tutorials (community tutorial repo) — https://github.com/easy-tilelang/tilelang-tutorials
- [58] tilelang-docs-l10n (docs localization) — https://github.com/localizethedocs/tilelang-docs-l10n
- [59] Main repo latest release v0.1.14 — https://github.com/tile-ai/tilelang/releases/tag/v0.1.14
- [60] tilelang.github.io (doc site) — https://github.com/tile-ai/tilelang.github.io
- [61] TileOPs.github.io (doc site) — https://github.com/tile-ai/TileOPs.github.io