TileLang週報(2026-10-19 ~ 2026-10-23)
報告週期:2026 年 10 月 19 日(週一)至 10 月 23 日(週五),共 5 個工作日 素材來源:本刊每日 TileLang 社群動態日報 5 期(10-19、10-20、10-21、10-22、10-23),五期採集視窗合計 10-16 07:00 至 10-23 07:00;另經 tile-ai 組織 29 個倉庫的 168 小時視窗補充核查與各倉庫釋出頁、標籤、VERSION 檔案複核(詳見附錄)
一、本週要聞
-
TileFoundry 0.0.3 正式釋出,把指令級排程交給 agent,H200 上 Qwen3.8-27B 預填三檔全面快於 SGLang(10-21):10-21 10:26 打出 v0.0.3,PyPI 為
tilefoundry==0.0.3,代號「Agent-driven scheduling」。核心變化是排程權歸屬——編譯器列出每個 HIR 操作可由哪些指令實現、各自需要什麼,agent 在候選中選定,編譯器再把選定的排程下降為 TIR;配套 CLI 增加schedule candidates與schedule facts,指令以 AtomSched 操作宣告並帶顯式 TIR 運算元契約,從 CUDA MMA atom、SM90 WGMMA 與非同步複製起步。效能面給出三組真實數字:Qwen3.8-27B 預填在單張 H200 上 1024 / 4096 / 8192 token 分別為 80.29 / 309.61 / 631.19 ms,SGLang 為 89.06 / 317.11 / 638.25 ms;短序列 128 / 256 / 512 / 1024 token 分別是 SGLang 的 1.88 / 1.41 / 1.10 / 1.03 倍。已知問題兩項:wheel 尚未打包 CUDA 執行時標頭檔案(從安裝包出發編不出 CUDA kernel,需原始碼 checkout,下個版本修),以及效能時間線對insert_slice、tf.zeros跨 mesh 位置的定價有誤(#239)。 -
SemiAnalysis 設 TileLang Ascend 專章:六個獲昇騰支援的倉庫中,文章寫作時只有 TileLang 可用(10-21 ~ 10-22):10-21 釋出的《The Huawei-DeepSeek Symbiosis》副題直接列出華為 Ascend 950PR 微基準、DSv4.1 Flash 分析、DeepSeek 的昇騰支援、AICPU 與 TileLang Ascend。與 TileLang 直接相關的三點:其一,獲得昇騰支援的六個倉庫(TileLang、DeepGEMM、DeepEP、TileKernels、FlashMLA、DeepSelect)中,寫作時只有 TileLang 可用,因為 CANN 9.2.0 尚未釋出,而 DeepSeek 要求 CANN 9.2.0 與 C++20 編譯器,9.2.0-beta.2 不提供後者;其二,昇騰 950 後端已併入 TileLang 主倉、而非只存在於單獨適配倉,提供原生編譯、排程、同步與執行時整合,AutoSchedule 依據資料依賴與預估執行時間決定重疊與片上緩衝槽數,在 950PR 上對小尺寸單運算元最多縮短 40%;其三,與 CANN、Triton-ascend 對比時「某些尺寸可以打平或超過 CANN」,最優實現隨尺寸切換(作者註明為熱快取下的樸素基準)。文章同時點出生態缺口:多數最佳化面向超節點,x86 主機上 vLLM-Ascend 0.26.0rc1 仍有多處問題。10-22 南華早報《Jensen’s nightmare》轉述同一份報告,屬二次傳播,不構成新的技術進展,但說明該判斷正在進入主流媒體口徑。
-
主倉一週完成三輪正確性硬化,缺陷型別從「算錯數」擴到「選錯目標」與「編譯期狀態失真」(10-19 ~ 10-23):第一輪清 warp 特化與流水線幾何——#3503 讓純 TMA 生產者每個執行緒都到達正向屏障(修 #3470 的 parity 掛死)、#2342 讓兄弟流水線共享緩衝只展開一次(修 #2309 的四維 LayoutInference 崩潰)、#3536 給共享緩衝上的
T.cumsum補執行緒偏移、#2822 保留傳遞性複製依賴。第二輪清靜默數值錯誤——#2818 要求不支援的 MMA tile 顯式 K 填充(原先會悄悄縮小 K 原子)、#2815 修(64,1)保留維歸約崩潰、#3550 讓 TIR 謂詞隨整數位寬提升同步改寫、#3070 修批式finalize_reducer只歸約首個輸出塊、#3350 對 cast 的源/目標/舍入三組合前置校驗、#2860 讓無 arch 的 CUDA target 報錯而非靜默填sm_50。第三輪清編譯期狀態——#3579 把非零迴圈下界納入向量化分析(10 檔案 +818/-198,關掉 #2669 與 #2616)、#3612 在向量化重寫前克隆 analyzer、#3226 修並行迴圈切分後舊 analyzer 繫結失效。三批的共同點是不報錯、只在特定尺寸或迴圈形態下給出不可信結果。 -
昇騰線重心移到訓練反向與底層資料通路,單週合入 11 筆適配倉 PR 並開出 sparse_mla 雙向(10-20 ~ 10-23):訓練側運算元集中落地——#1887 的
indexer_bwd(+1294,服務 DSA 稀疏微調,同時支援 AscendC 與 PTO 雙後端,分快速、通用、cast 三檔 kernel)、#1877 的 SiTU-GLU 反向(+854,語義對齊 CANN 的aclnnSituGluGrad,用於 Kimi K3 Stable LatentMoE 門控啟用反向,910B3 上與官方 aclnn 交叉校驗最大相對誤差約 3e-3)、#1892 的 LSTM(+2304,12 個 jit kernel,支援多層堆疊、雙向、LSTMP 投影)與 #1902 的 GRU(+2267,8 個 kernel,手動關掉 AUTO_SYNC 以避開每時間步約 58 個 PipeBarrier)。在審佇列接著補sparse_mla前向與反傳(#1929 / #1928)、GLM-5.3 的 kpool 壓縮(#1910)與 WY fast 系列(#1827 等)。資料通路一側,#3530 以 18 檔案 +993/-256 讓壓縮 NZ 緩衝支援部分 UB→L1 複製並顯式給出 C0 組行距;#1795 定位到亞 32B 緊湊行距源無法表達,實測第二個 burst 讀到 element 8 而非 element 1,修掉 keepdim reduce 的輸出錯亂;#1903 把 JIT 快取改為原子釋出並在快取被刪除時恢復。 -
TileOPs 一週合入 68 筆,SM89 與 SM90 並列成主線,規格與基準覆蓋同時報 205/205(10-19 ~ 10-23):組織統計分支在 10-18 單日 20 筆、視窗 44 筆合入後重新整理為「已實現 205/205、已基準 205/205」,兩項同時滿格。SM90 方向一週新增六個 warp 特化 kernel——分頁 GQA 前向(#2668)、FP8 lightning indexer 雙 consumer warpgroup(#2666)、MLA 解碼錯位蹺蹺板(#2665)、dense prefill 持久化遍歷(#2706)、dense GQA decode(#2694)、因果滑窗 band(#2696)。SM89 方向則為消費級與單卡場景集中補位:塊縮放 FP8 分組 GEMM(#2659)與 INT8 W8A8(#2655)同日落地、FP8 BMM 預設瓦片改 64×64(#2681,1×16×64×128 從 5.161 降到 3.799 us)、W4A16 的 M 上界擴到 64(#2672,M=17 / 32 / 64 分別下降 43.35 / 47.20 / 40.00 個百分點)、分頁 DSA 用 MMA 實現(#2669,0.269 ms 對 PyTorch FP32 參考 0.727 ms)、NSA top-k 擴到 2048 個壓縮塊(#2675)。同期兩筆 NaN 修復都出現在 warp 特化路徑上:共享記憶體活躍期判斷錯誤(#2708)與 fast math 下 FMA 融合溢位(#2699)。
-
PTO 從「獨立執行路徑」走向「自動向量化 + 預設執行後端」(在審,10-18 起):主倉 PTO 向量化框架 #3512 讓使用者在
T.SimdVF(lanes=L)內書寫標量並行的T.Parallel(逐元素、控制流、歸約),由編譯器向量化為 PTO VMI 指令、經 PTOAS 編譯後在 Ascend 950 上執行,規模從 10-18 的 44 檔案、18988 行增至 10-21 的 50 檔案、21022 行;#3516 擬讓target="pto"配execution_backend="auto"解析到tvm_ffi並設為預設。已合入的配套為一串儲存、謂詞與歸約語義修復:#3514 的T.alloc_ss、#3437 的 SimdVF dim=1 歸約、#3582 的 PTO 整數符號性、#3581 的謂詞指數增長、#3523 的 SIMT 向量區域性變數分配。主倉同時用 #3511 補 AscendC 側的 L0 區域性複製顯式 pitch(24 檔案 +1458/-187,讓一個 GEMM tile 可由多次複製拼成)——兩條路徑是並行推進而非替換關係。 -
下游分發形態出現第二例:Sunrise 打出 0.1.15+sunrise.1.2.0 釋出 PR(10-22):#9 於 10-22 16:48 建
candidate/sunrise-0.1.15-1.2.0-20261019分支並開 PR,把 Sunrise 分發版更新到0.1.15+sunrise.1.2.0,納入 TileLang 0.1.15 及配套評審過的 TileOPs、TileKernels、TVM、tvm-ffi 變更;源匯入與合併、分發適配分開提交,最終適配 TANG 後端的 wheel 並修掉切片 GEMM 迴歸。自報驗證為本機契約測試 55 透過、TANG 流水線 codegen 測試 54 透過、兩個 lint job 與信任邊界檢查透過;但 S2 wheel 構建出包後,裝後 import 冒煙檢查在tangGetDeviceCount處失敗。該 PR 尚未合入。 -
社群側一週出現多個新倉:中文系統教程、CANN 社群運算元倉、agent 工作流與 Hexagon 後端實驗(10-20 ~ 10-22):
huandu/tilelang-tutorial於 10-20 建倉,定位「從零到一的 TileLang 中文系統教程」,覆蓋運算元編寫、編譯期機制與 NVIDIA、昇騰兩條後端,是成體系中文教程倉的首次出現;Atlas-Ascend-Fork/ops-tilelang於 10-20 建倉,是 CANN 社群面向昇騰 NPU 的運算元資產倉(統一管理 kernel 實現、自動化測試、標準工作負載與效能基線),10-22 首次推送修復;tilelang/agent於 10-22 推送,README 本身是一段可執行 prompt 模板,以@tilelang-operator-dev/SKILL.md注入領域知識,按十步閉環走運算元最佳化;另有SoilSoi1/tilelang-hexagon(10-20 建倉,Hexagon 後端社群實驗)與主倉在審的 #2155 Hexagon HMX 後端支援相呼應。
二、核心專案進展(主倉 tilelang)
版本與釋出
- 主倉最新標籤與釋出仍為 v0.1.15(09-30 釋出),全周無新標籤、無新發布頁條目,至本週五已 23 天。
VERSION檔案核查仍為 0.1.15,README 的最新里程碑仍停在 09-30 的 Ascend 950 後端。 - TileFoundry 0.0.3 是本週唯一的新版本(10-21 10:26),也是組織內 09-30 以來第一個新標籤。適配線標籤全周未動:沐曦
v0.1.14(09-17)、摩爾執行緒v0.1.15+musa.1(09-30)、MLIR 昇騰v0.1.2.020.sglang.poc(09-09)、昇騰v0.1.2.000。 - 下游約束仍卡在 0.1.12 與 0.1.15 之間:TileOPs 的
pyproject.toml至今寫死tilelang==0.1.12,10-18 嘗試升到 0.1.15 的 #2554 已關閉且未合併。PR 自述的阻塞是 29 個在 0.1.12 上透過的 smoke test 在 0.1.15 上失敗:其中 28 個源於動態 extent 的T.Pipelined在 cp.async 尾聲留下ptx_wait_group(3 - t * 2)、CUDA codegen 報 Downcast 失敗,另 1 個是 LegalizeSafeMemoryAccess 在摺疊為 False 的分支下判空失敗。本週新合入的 SM89 用例同時跑了 0.1.12 與 0.1.15 開發版,說明升級閘門以雙基線驗證為前提。
編譯器、語言層與執行路徑
- Windows ARM64 進發布流水線(#2962,10-19 合入,12 檔案 +356/-45):新增 PowerShell 安裝指令碼從 NVIDIA 預釋出通道拉取 CUDA 13.4 的 windows_arm64 本地安裝包並落到固定路徑,新增
FindPipCUDAToolkit模組與windows_arm64_clang_compat.h相容頭,解決 MSVC 工具鏈在 ARM64 上的標頭檔案與內建差異,同步調整 pyproject、兩份 requirements 與佈局、MSVC 輔助模組。這是繼 ROCm 與昇騰之後補上的第三個非 x86 交付面。 - lower trace 拆分宿主與裝置原始碼(#3496,10-19 合入,6 檔案 +121/-63):裝置側輸出
codegen_device.cpp與.original基線、.latest最新版,宿主側另出codegen_host.cpp與同結構基線,report.html以軟連結指向最近一次執行。與之呼應,在審的 #3583(13 檔案 +106/-4390)把 lower trace 實現、專屬環境配置與相關測試從主倉整體抽走,只保留共享的編譯器插樁介面,讓追蹤工具獨立演進。 - CUDA 16 位數學降級補齊(#3172,3 檔案 +463/-8):asin、acos、asinh、acosh、atanh、log1p、atan2、hypot、copysign、ldexp、nextafter 缺 CUDA 專用下降規則,float16 與 bfloat16 呼叫在 codegen 階段無人接管。修復把它們註冊進 CUDAMath 並補
half_t、bfloat16_t過載:十個運算元按 float32 求值再轉回,nextafter 改為按 16 位編碼做整數比較步進,以便在 fast math 下保住 bfloat16 次正規數。 - eager 前端保留 Python 原始碼位置(#3558,4 檔案):把生成的迴圈呼叫對映回
for語句、上下文包裝對映回with語句,並補上可迭代引數解包的位置,修 traceback 與覆蓋率錯位。 - BF16→FP32 向量化轉換改走內聯 PTX(#3595,4 檔案 +19/-7):新增成對 lane 一次轉 f32x2 的實現,替掉逐 lane 標量提升,2、4、8 三種 lane 寬度均保持支援,語義不變、只動指令序列。
- 展開 pass 與 ROCm Select(#2887):迴圈展開不再消掉 trip count 為 0 的 stepped 迴圈,ROCm 側向量化
Select改為逐 lane 下降,避免整組下降在不支援的目標上失敗。 - softmax 跨 16-CTA 叢集分裂(#2632,10-18 合入):針對 lm-head 這類少行長行(4×102400)新增核,舊實現每行 58 段經全域性記憶體交換
(max, sum)並跨 grid 屏障,新實現把一行攤到 16-CTA 叢集的暫存器上,每個元素只取一次指數,跨 warp、跨 CTA、跨叢集用 shuffle 樹按 max-first 摺疊。 - 在審方向:除 PTO 兩筆外,
[Transform] Locate VerifyBufferInit reads outside tile ops(#3620)、[Codegen] Add unsigned mulhi intrinsic(#3617)、[Transform] Keep assumption checks with local dependencies in scope(#3611)、[Transform] Preserve tl.assume predicates that simplify to true(#3610)、[CPU] Support clz in C and C host code generation(#3609)在視窗內有更新;#3597 的混合符號移位修復與tile-ai/tvmfork 的 #87
成對提交,另 #86 把上游迴圈作用域修復回移。fork 在審 25 筆、主倉在審 163 筆,TIRx 側先行、主倉跟進這條協作路徑本週第二次出現。
正確性與缺陷修復
- 10-16 ~ 10-18(週一三天視窗):純 TMA 生產者納入正向屏障(#3503,1 至 3 號生產者 warp 只等背壓屏障、可能落後兩個相位並在複用的 parity 上掛死整塊);兄弟流水線共享緩衝只展開一次(#2342,修兩條
T.Pipelined共用緩衝且 num_stages 不同導致四維(4,2,64,32)觸發 LayoutInference ICHECK);Profiler 三連修(#3559 跨裝置 CUDA Graph 捕獲為空、#3560 後續呼叫覆蓋前快照輸出、#3561 把 cache-flush 時間排除出早停判據)。 - 10-19:共享緩衝上的
T.cumsum在 warp 特化下補執行緒偏移(#3536,4 檔案 +101/-38,CUDA 與 HIP 兩套 scan 模板引入thread_offset);call_extern的裸 data 變數保守標記為寫入(#2618,新增 69 行用例覆蓋「call_extern 寫輸出緩衝」,方向是寧可少做最佳化也不做錯最佳化)。 - 10-20:向量化分析納入非零迴圈下界(#3579,10 檔案 +818/-198,原實現隱含假設迴圈從 0 起,下界非零時 unit-step 向量化會把不同 lane 的地址算成同一組);共享記憶體跨執行緒 WAW 檢測改用兩個執行緒例項(#2821,3 檔案 +153/-19,原 WAW 檢查對兩次訪問複用同一執行緒變數故漏判、漏插屏障);不支援 MMA tile 要求顯式 K 填充(#2818,FP16 K=8 會算出錯誤結果,K=20 / 28 等不規則尺寸在佈局推斷階段直接失敗);fragment reduce 支援保留維度目標(#2815,8 檔案 +343/-63);TIR 謂詞隨整數位寬提升同步改寫(#3550,4 檔案 +950/-27,新增
IndexPredicateRewriter);CuTeDSL scan 補參與執行緒偏移(#3576,2 檔案 +30/-6,tl.CumSum1D(32, False, 0)此前直接報構造引數錯誤)。 - 10-21:批式
finalize_reducer此前只歸約首個輸出塊(#3070,2 檔案 +29/-5,輸出維度大於 batch 時後續各段拿到未初始化值,修後按ceil(OutputDim / batch)逐塊發射,L40S 上 23 項用例透過、外部復現矩陣 16 例零失配);cast 的源/目標/舍入三組合前置校驗(#3350,f32→E8M0 的 helper 向正無窮舍入、根本不接受舍入引數,而向量化分支從未讀過round);無 arch 的 CUDA target 拒絕而非靜默填sm_50(#2860,1 檔案,修 #1049,錯誤裡給出兩種顯式 arch 寫法);軟體流水保留傳遞性複製依賴並讓執行緒域參與區域衝突判定(#2822)。 - 10-22:向量化重寫前克隆 analyzer(#3612,1 檔案 +2/-1);並行迴圈切分後舊 analyzer 繫結失效([#3226](https:/
/github.com/tile-ai/tilelang/pull/3226),6 檔案 +55/-19,涉及 loop_partition、loop_vectorize、lower_tile_op 三處 pass);deepseek_v32 top-k 選擇器候選緩衝越界(#3280,2 檔案 +91/-10,tl_topk_impl 把 radix 候選裝進固定 [2, 4096] 共享緩衝且不約束第一輪閾值桶大小,低位尾數相同的 FP32 分數或全等輸入會越界寫並崩在 CUDA_ERROR_ILLEGAL_ADDRESS,改法是在 tl_topk 包裝層申請 (batch, 2, seq_len) 全域性 workspace);sm8x 稀疏後設資料非雙射形狀改為拒絕(#3125,單檔案 +6/-0)。
執行時、CI 與工具鏈
- 效能迴歸任務鎖定 H100(#3569,1 檔案 +15/-1):組織正在引入自託管 H20 容量機型做常規正確性 CI,其標籤集與既有
[self-hosted, nvidia]重合。H20 的 FP16 稠密算力約 148 TFLOPS,對 H100 的約 990 TFLOPS 差約七倍,若被靜默接走基準任務,每個基準都會報出並不存在的迴歸。現要求pr-regression必須帶h100標籤並在開工前校驗分配到的卡確為 H100,標籤寫錯即快速失敗。 - Autotuner 透傳 profiler 引數(#3337,3 行):裝飾器上的 warmup、rep、timeout 此前沒有傳給調優器,使用者改這三個引數實際不生效。同批維護性改動另有三筆:ROCm 側 FP4(e2m1)浮點常量列印(#3548,改為在裝置端經輔助函式從 float32 轉換生成常量)、cibuildwheel 從 4.2 升到 4.3(#3565)、ROCm 線增加一名審查人(#3567)。
- 昇騰 CI 合入單 check 分步(#3564,1 檔案 +61/-9):把構建與測試結果收進同一個
Test for AscendPR 檢查,CANN 環境只裝配一次、構建一次,AscendC 示例、PTO 示例與 Ascend 單測作為同一 job 的三個步驟分別執行;某套件失敗後仍繼續跑其餘套件,最終整體仍判失敗。 - 文件站:
tilelang.github.io一週內共 15 次自動構建推送(10-19 至 10-22,均隨主倉合入觸發);TileOPs 文件站三筆人工內容更新——八個新運算元寫入 API 頁(#76)、六個新運算元寫入(#77)、兩個 MLA 反向 op 寫入 Attention 頁(#78,起因是check_api_pages.py報主倉匯出 207 個 op 中有兩頁缺失)。
評審佇列觀察
- 主倉開放 PR 由 167(10-21 口徑)降至 163(10-22 口徑),TileOPs 由 16 降至 9,昇騰適配倉維持 235 至 236 的高位——「主倉與運算元庫收緊、適配倉仍厚」的格局與上週一致,但 TileOPs 的下降幅度是本週組織內最大的一處。
- 組織內視窗在審更新量:52 筆(10-20)→ 71 筆(10-23)。主倉 10-19 口徑的 51 筆在審中 27 筆標
[BugFix],集中在 ThreadSync、Transform 與 codegen 三處,屬規模化使用後回灌的邊界條件。 - 10-20 11:30 前後有 64 筆在審 PR 的
updated_at同時重新整理,抽查其中三筆在對應時刻無評論、無評審、無分支推送事件,判為平臺側批次重算,未計入開發活動;在審數量以各倉is:open計數為準。
三、多後端適配(昇騰 / 海光 / 沐曦 / 摩爾執行緒)
昇騰(Ascend):從補運算元轉向訓練反向與資料通路
- 本週合入 11 筆適配倉 PR:逐元素運算元中文文件(#1657,relu / leaky_relu / sigmoid / silu 四運算元補齊功能、引數、返回值與典型用法,6 檔案 +451/-19)、
indexer_bwd(#1887)、SiTU-GLU 反向(#1877)、LSTM(#1892)、GRU(#1902)、CrossEntropy 基準中文版(#1801,參照 FA 與 SFA 的 en/zh 成對慣例)、亞 32B 行距修復(#1795)、JIT 快取原子釋出(#1903)、depthwise_conv_2d 示例(#1915)、Dilation2D 示例(#1916),以及同日回退 depthwise_conv_2d(#1919,提交資訊未給原因,示例倉處在「進一個、退一個」的狀態)。 - 主倉側的昇騰改動共 12 筆:
T.alloc_ss(#3514,dav-3510 上一個 AIC 與兩個 AIV 共享的標量儲存,組內 3 KiB SS 池、32 位元組對齊基址)、RNG 狀態重置(#3331,避免兄弟核心殘留的__asc_rng_state導致 bisheng 報未宣告識別符號)、SimdVF 歸約只存 lane 0(#3437)、VF 域外標量 sqrt 走標準數學庫(#3466)、PTO Ramp 按型別化向量發射(#3535)、L0 區域性複製顯式 pitch(#3511)、DeepGEMM 啟發式與 epilogue 對齊(#3577,29 檔案 +1392/-1036,覆蓋密集/批次/分組 GEMM 的融合 bias、Alpha、BF16 隨機舍入與 FP8 量化)、PTO 整數符號性(#3582,pto.redux_max/min拒絕帶型別的整數,用 ≥2^31 的 uint32 lane 暴露)、NZ 緩衝部分 UB→L1 複製(#3530)、MAD 方向謂詞指數增長(#3581)、SIMT 向量區域性變數按 lane 分配(#3523)、msprof 宿主與裝置關聯(#3321)。 #3321是度量能力的結構補齊:此前昇騰 profiler 只能報裝置核心耗時,宿主演運算元與核心之間沒有對應關係,自動調優樣本無法歸因到具體呼叫。該筆在構建時探測 CANN 的 profiling 頭(相容 msprof 與 profiling 兩種安裝佈局,裝了啟用、沒裝跳過,不引入面向使用者的編譯開關),執行時補ascend_profiling.h與主機側 profile 模組,把宿主演運算元下發與裝置核心執行按呼叫序對應,分組編譯路徑複用同一套上報(13 檔案 +676/-13)。#1795的技術含量最高:根因在模板層——copy_ub_to_gm無條件生成多 burst 的DataCopyPad,而 MTE3 引擎實現的是系統級「UB 窄行按 32B 槽存放」約定,源地址每 burst 前進ceil(blockLen/32) + srcStride個 32B 塊。對按 32B 邊界寫行的生產者這是精確匹配,但T.reduce_max的(M,1)fp32 輸出是 V-pipe 緊湊寫入、行距只有 4B,引擎無法表達。修復兩側皆 packed 且總量不超過 65535 時摺疊成一條 flat 單 burst,不可表達的非 32B 倍數行距改為trap()顯式中止;不降級的原因是 bisheng 的跨管道自動同步只覆蓋直線 intrinsics,用條件分支包裹DataCopyPad會讓 bisheng 生成壞的同步程式碼並導致裝置死鎖(實測逐行 DMA 被執行時分支包裹即觸發 aicore 異常)。PR 自述保留兩個邊界:亞 32B 緊湊行距且帶行距目的時仍走槽步進;blockCount > 4095(12 位欄位)仍會靜默截斷。- 在審佇列:
sparse_mla_fwd(#1929,varlen packed 隨機行 gather、線上 softmax、QK/PV 雙 GEMM 融合,落examples/dsa_sparse_finetune/,fast 路徑適用域寫死為 H=128 且 G=1、dim/tail 為 512/64、topk 為 256 的整數倍)與sparse_mla_bwd(#1928,dQ GEMM 鏈、P/dP 向量鏈、dKV 隨機行散射);indexer_topk_reducesum(#1917);GLM-5.3 的 kpool 壓縮(#1910);WY fast 與 chunk 系列(#1827 / #1828 / #1802 / #1803 / #1799,明顯對著線性注意力與門控 delta 網路的訓練鏈);另有 UB 到 L1 暫存保留塊註解與 ND 偏移(#1907)、併發核心快取釋出修復(#1903 合入前)、自動跨核同步配置校驗(#1854)、gemm_v0 的 W4A4 int4×int4 結果錯誤(#1731)。
海光(Hygon):常量視窗修復合入,效能定位進入分支
- #25 於 10-20 09:53 合入(2 檔案 +346):迴圈展開後 MLS 資源提升會丟掉常量視窗偏移,導致後續訪問落到錯誤區間;修法是在選擇單軸更新或前向增量定址之前先校驗未被更新的那一維,必要時保守地重新初始化視窗,並在既有 MLS 測試上補回歸覆蓋。這是本週海光主線唯一一筆合入,
main分支自此停在該筆。 - 在審三筆:#26 處理 fp4 MLS 的 warp 分割槽(14 檔案 +261/-144)、#18 補暫存器流水線與 warp-diverge 支援(自述
example_gemm效能已接近 rocblas)、#19 為分散式相關改動。 - feature 分支給出可複用的效能結論:
feat/hcu-smls-b-vgpr在 10-21 11:04 與 15:27 有三次推送。11:04 那筆把解碼 GEMM 的 k-loop 展開、讓 M>96 的 tile 回到 bn96,作者的關鍵判斷是「每步固定開銷來自地址鏈而不是 barrier」——符號化共享級索引(k+d) % 3會下降成v_mul_lo_u16、v_sub_u16、v_readfirstlane_b32並落在 matrix_load 的地址路徑上,佔掉 kernel 13%,而T.Pipelined本來就會發同樣的兩個 barrier。15:27 那筆把 M 在 64 至 128 之間的 wide-N 中段優先按 block 數切分,gate_up 在 M 在 64 至 96 之間取 bm96/bn128/bk128/ns2,並把解碼 GEMM 的記錄文件從 3825 行整理成 588 行的「結果 + 最佳化日誌」兩段式。 - 10-22
gcy_merge_main移除暫存器流水開關(6 檔案 +10/-24):把 HCU 暫存器軟流水的注入與流水規劃兩個 pass、pipeline_utils.h以及語言層的 loop 擴充套件一併改掉。刪開關通常意味著暫存器流水路徑已預設生效、雙軌維護不再划算,但這批改動還在合併分支上等落地。
沐曦(MetaX)/摩爾執行緒(MUSA)/MLIR 昇騰:全周靜默
- 沐曦:最後推送停在 10-16(dev 分支
#161把 main 合入 dev、#160修 MetaXGPU 的 xfail 用例),釋出仍停在 09-17 的 v0.1.14。全周無新提交、無新標籤。 - 摩爾執行緒:最後推送停在 09-30 的「Prepare public TileLang MUSA 0.1.15」,最新發布
v0.1.15+musa.1,全周零提交、零在審。 - MLIR 昇騰:10-19 合入 #204 的 TVM 隔離修復,處理該倉與 TVM 名稱空間、符號可見性之間的相互汙染,規模不大但直接影響多後端共存時的連結穩定性;此後無推送。
- 結論:本視窗全部後端改動由昇騰與海光兩條線承擔,另兩條線停在既有版本。這與上週「摩爾執行緒是唯一未對齊 v0.1.15 的後端」的判斷一致,且本週沐曦也轉為靜默。
四、生態與採用方(TileOPs / TileFoundry / 採用方)
TileOPs:一週 68 筆合入,兩條硬體主線同時推進
- 覆蓋度:組織規格統計分支在 10-18 單日 20 筆、視窗 44 筆合入後重新整理為「已實現 205/205、已基準 205/205」,兩項均滿格。本週合入的運算元覆蓋注意力、線性注意力、狀態空間、卷積、歸一化與 GEMM 六類:MLA 預填充反向 op 層(#2678,對齊 FA3 的
_flash_attn_backward介面)、MLA 反向 SM90 warp 特化 kernel(#2680,D_qk=192、D_v=128)、MLA 分頁前向(#2642)、MLA 的 KV 快取寫入(#2635)、QK-Norm-RoPE 融合(#2639,七種行/精度組合,支援 NeoX 與相鄰對兩種旋轉佈局)、逐 token 量化 RMSNorm 融合殘差(#2634,12 個工作負載對齊 vLLM 同名介面)、CausalConv1d 雙運算元(#2627,寬度 2 至 4、可選 bias 與 SiLU)、Hadamard 變換(#2624,base_order 1/12/20/28/40、n 至 2^28)、Mamba-1 選擇性掃描(#2638,九行工作負載覆蓋 Mamba-2.8B 的 4096 token 前填與單 token 解碼)、DSAPaged(#2633,FlashMLA 的 DeepSeek-V3.2 656 位元組行格式)、GQA 分頁 FP8 前向(#2648,36 個用例全部透過含 NaN 與 Inf 檢查)、dense GQA 的 FP32 attention sink(#2515,-inf關閉該 sink、+inf把該 head 輸出清零)。 - SM90 特化程式成組出現:分頁 GQA 前向換裝
GQAPrefillPagedWSKernel(#2668,8 檔案 +901/-103,服務 head dim 256 與單 KV head 上寬於 16 頭的 query 組,FP8 未覆蓋的維度 64 與 256 經頁的 16 位映象讀取、單次上限 4 GiB);FP8 lightning indexer 改雙 consumer warpgroup 輪流吃 64-key tile(#2666,原實現一次乾淨掃描以 2.5 TB/s 寫視窗外的 -inf,佔chunk-prefill-kscale472 微秒中的 425 微秒);MLA 解碼走錯位蹺蹺板(#2665,一個請求的 key 切成min(sm_count // blocks, tiles // 2)段後用 log-sum-exp 合併);dense prefill 持久化(#2706,query tile 數超 SM 數時一個 CTA 佔一個 SM 交替輪次走完自己的 tile,D64 上每 tile 192 行 query 攤給三個 64 行消費者、K/V 重讀減少三分之一);dense GQA decode(#2694,TMA 生產者 warp 填兩槽 K/V 環);因果滑窗 band(#2696,一個 CTA 對「query tile, KV head」把 band 的兩個 key/value tile 只裝一次);GQA 反向直接服務分組 KV head(#2685)。 - SM89 補齊消費級與單卡場景:塊縮放 FP8 分組 GEMM 擴到 SM89(#2659,四套顯式配置、六條含複製基準,用例從 42 項增至 77 項)、INT8 W8A8 在 SM89 上啟用(#2655,13 項 SM89 介面用例與 29 個 INT8 基準負載均對 vLLM 透過正確性核對)、FP8 BMM 預設瓦片降 64×64(#2681,1×16×64×128 從 5.161 降到 3.799 us、16×128×128×1024 從 12.943 降到 7.414 us)、W4A16 的 64 列預設 M 上界從 16 擴到 64(#2672)、分頁 DSA 用 MMA 實現(#2669,batch 4 / 128 head / 256 位置 0.269 ms 對 PyTorch FP32 參考 0.727 ms,作者明確寫「大用例基本打平,不構成普遍優勢」)、NSA top-k 擴到 1024 至 2048 壓縮塊(#2675)與 group48 複用 tiled 程式(#2674)、單行單列走向量 GEMM(#2660,按共享記憶體預算過濾候選,最大 staged ring 96 KiB)、SSD chunk scan 預設流水級數降到兩級(#2705)、paged DSA key 區間拆分(#2691)、NSA top-k 用 32 列 tile(#2690,八個用例的 GPU busy 中位數降
2.1% 至 15.0%)。
- 效能收口的固定套路:GLA、GDN、KDA、DeltaNet 四條線性注意力線共十餘筆,手法收斂為兩條——把 chunk 鏈上的矩陣乘壓到每塊一次(#2626、#2645、#2637、#2625),以及按 SM 能容納的 warp 組數決定用分組求解還是單 warp(#2650,自述「每 SM 約容納七個 warp 組求解」為界);另有批次 GEMM 瓦片寫回到下一瓦片首個 WGMMA 之下重疊(#2636)、長行歸約改 512 執行緒摺疊(#2641)、縮放因子恰為 1 時繞開 bf16 除法(#2646)、float32 取餘與向下整除用近似倒數(#2652)、謂詞廣播與布林運算元改 16 位元組向量讀(#2702 把
linear-bias-float32六種比較從 0.99 提到 1.06、#2697 把二值 kernel 全尺寸運算元改 evict-first 讀)。 - 兩筆 NaN 與三筆契約修復:共享記憶體規劃器把 warp 角色各自的緩衝讀成不同時段活躍,於是把 split handover 放到仍被 TMA 填充的 key 或 value 環地址上(#2708,2 檔案 +80/-30,在「七個單 token 請求排在 300 token 請求之前、4099 行 FP8 cache、48 行頁」的組合下返回 NaN);因果窗下 128×64 調優瓦片讓最後幾行連續遇到兩個全遮蔽 key tile,fast math 把
prev * scale - curr * scale融合成 FMA、舍入誤差約 2 的 99 次方溢位成 NaN(#2699,修法是在縮放重定標前先減 running maxima);varlen query RoPE 在奇數半旋轉寬度下並行度不能被旋轉分支執行緒數整除時丟掉迴圈上界(#2700,通用路徑直接掛死);分頁 decode 的 autotune 供給讓每個請求拿到同一張 block table(#2703,實測 MHA decode 調優器在opt-1.3b-b16上選了 block_N 128 即冷 80.0 us 而放棄 72.5 us,掉到 flashinfer 的 0.994);ref_program既當正確性參考又是 torch 基線計時物件、跟著輸入 dtype 走(#2692,GroupNorm 與 InstanceNorm 在 MTT S5000 上失敗,改為參考在 float32 或更寬上計算)。 - 夜間流水線與報表:#2656 給夜間報表加「新運算元」欄並把歷史資料項讀取從舊式字串表示改為 JSON 解析;其自述的 10-18 報表(統計視窗 10-05 至 10-17)列出 109 項改進、6 個新運算元、共 121 行,其中 W4A8 GEMM 佔 98 行。snapshots 分支本週 10-19 05:41、10-20 05:39 兩次快照,此後夜間報表口徑改為按日推進。
- 佇列:在審從 16 筆(10-21)降到 9 筆(10-22),是本視窗組織內唯一在審數量明顯下降的倉庫;合入 20 筆的兩天(10-21 期、10-23 期口徑)都伴隨這輪收縮。
TileFoundry:0.0.3 之前的重構周
- 釋出:0.0.3 於 10-21 10:26 打 tag(詳見要聞),README 的 Latest News 在 10-21 前已由 #247 補入三條 10/2026 條目(0.0.3 釋出、Qwen3.8-27B 預填充示例、Apple AMX 預填充示例),並把兩條 08/2026 條目移入摺疊的 Earlier 列表。提交說明指出 README 就是 PyPI 長描述(
pyproject.toml裡readme = "README.md"),因此公告必須在打 tag 之前落地。 - 結構性重構:儲存計劃與發射計劃分離(#243,39 檔案 +2543/-1889,把原始分配決策留在 analysis 層、移除可執行別名釋出,拆出只讀的 StoragePlan 與 IssuePlan,並修稀疏物理佈局下仍按邏輯位元組預留的共享記憶體放置問題);schedule 里程碑修正(#241,314 檔案 +53049/-69314,覆蓋 M1 至 M8,遷移兩個 Qwen 示例、重生成 31 個完整長組與全部 64 個短 TIR 檔案);測試重構(#246,51 檔案 +655/-366,本地與 CI 複用 ccache 與 torch extension 快取,兩處測試改用主機側編譯的 CuTe 參考比對 MMA 佈局以替掉手寫參考與數千條引數化用例)。
- 跨加速器:Apple AMX 支援並讓 Qwen 預填充示例在 M2 Pro 跑通(#244,四個 AMX 操作納入、Copy 與 Fill 可落在 Apple 核與 AMX 執行器作用域,Qwen3-1.7B 與 Qwen3.5-4B 均完成 128 token 前填,輸出 logits 有限、下一個 token 編號分別為 1813 與 306)。這是 TileLang 生態第一次把整模型推理示例放到非 CUDA 加速器上。
- 裝置建模與計價:新增 sm_89 架構與 RTX 6000 Ada 兩個目標描述並同步規格文件(#259,11 檔案 +392/-22),把裝置建模從 Hopper 擴到 Ada;gmem 計價改按足跡與執行 mesh 並繫結被調方維度(#258,74 檔案 +1128/-553,修 #239、#252、#253,原先 132 個 CTA 只探 40 個時 under-fill 看不出來);裝置拒絕啟動 kernel 時必須拋錯(#256,7 檔案 +69/-11,此前啟動器發出 kernel 後從不讀啟動狀態,在 sm_89 單卡上按捆綁 sm_90 目標編譯的測試只表現為值不對,
compute-sanitizer才顯示cudaLaunchKernel返回cudaErrorNoKernelImageForDevice)。
採用方與分發版
- TileKernels:DeepSeek 的採用方倉本週零提交,最後推送停在 10-14 的 v2.1.0-release 合併(星標 1991 至 2005)。該版本明確要求 TileLang 0.1.15、PyTorch 2.13、Ascend 950 NPU 與 CANN 9.2.0,是「0.1.15 基線」的第一份下游硬約束,也與 SemiAnalysis 指出的 CANN 9.2.0 未釋出形成呼應。
- FlashQLA:Qwen 的採用方倉同樣零提交,最後推送停在 10-14 的 SM120 修復(星標 732 至 737),版本仍為 09-30 的 v0.1.3。採用方側已連續兩週靜默,主線的動能仍在 tile-ai 組織內部。
- Sunrise 分發版:0.1.15+sunrise.1.2.0 釋出 PR(#9)在審,細節見要聞。它以 TANG 後端 wheel 為交付物,與主倉的 CUDA / ROCm / 昇騰交付面構成不同的分發形態,是 TileLang 出現第二個下游分發形態的標誌。
- TileRT / tilescale / DeepStack:三倉視窗內均無提交(最新分別 09-24、08-25、10-05)。
五、社群、教程與活動
- 中文系統教程倉出現:
huandu/tilelang-tutorial於 10-20 建倉並推送,定位為「從零到一的 TileLang 中文系統教程」,覆蓋面包括運算元編寫、編譯期機制、NVIDIA 與昇騰兩條後端。此前中文材料以單篇部落格與官方文件譯文為主,成體系的教程倉屬首次出現。同周還有RuneFang/tvm_tilelang_cookbook(34 星,10-21 推送)更新,自我定位是面向「能寫點 Python、聽過 CUDA 但沒讀過編譯器程式碼」的讀者,從@tilelang.jit一路講到.cubin。 - CANN 社群開設運算元倉:
Atlas-Ascend-Fork/ops-tilelang於 10-20 建倉,倉內已有src、tests、scripts、docs四層與OAT.xml、SECURITY.md等開放原子社群規範檔案;10-22 推送一筆修復「合法上界種子與用例雜湊組合後溢位導致 CPU 測試失敗」,更早的提交裡有「把 Ascend A5 引用替換為 Ascend 950」與「benchmark 失敗或中斷的會話仍覆寫效能基線」。以單一 DSL 為唯一實現語言的社群級運算元倉此前未見。 - agent 工作流成形:
tilelang/agent(08-28 建倉,10-22 推送)把 README 寫成可執行 prompt 模板——以@tilelang-operator-dev/SKILL.md注入領域知識,輸入只有運算元名、GPU/CPU 參考實現、shape 與「tilelang npu 交付、中文交付」約束,註釋寫明 agent 需在 A5 環境執行、載入後按十步閉環走,Skill 內含選型決策樹、8-CSV 規則、L0 到 L4 策略與 11 條陷阱。另cc-c122/TileLang-Remote-Autotuning-Agent(1 星,10-21 與 10-22 均有推送)也在把自動調優做成可遠端驅動的 agent。 - 後端實驗與工具鏈:
SoilSoi1/tilelang-hexagon於 10-20 建倉,是 Hexagon 後端的社群實驗,與主倉在審的 #2155 相呼應;PTO-ISA/tilelangGym(10-14 建倉、10-20 推送)用於測試不同 benchmark 與微基準在 PTO lowering 下的效能敏感度;easy-tilelang/tilelang-devkit-vscode(10-19 建倉、10-20 推送)定位為在 VS Code 裡探查 lowering pass、IR 差異與 CPU C JIT 編譯,與主倉把 lower trace 整體遷出(#3583)的方向一致。 - 第三方小倉:
fanyuxiao-ui/w4a16-tilelang(10-10 建倉,用 TileLang 加手寫 CUDA 在 A800 上做 W4A16 量化推理的 GEMM 與 GEMV)、sablin39/tilelang-cuda-skills(145 至 146 星,作者同時是 TileFoundry 的活躍貢獻者)、localizethedocs/tilelang-docs-l10n(官方文件本地化)、flytiger-eco/tilelang-wrapper-for-sail(10-21 建倉、10-22 推送,倉名指向為 SAIL 提供 TileLang 包裝,無說明無 README)、chaigua/tilelang-agent(10-19 新建)。均屬社群自發,非組織官方倉庫。 - 媒體與學術:Google News 中英文多組查詢在 10-19 視窗零新增、10-20 視窗三條命中(兩篇 DeepSeek 與華為晶片的產業報道、一篇 prime-rl 0.10.0 釋出稿,逐篇核對未找到 TileLang 具體事實,按非直接相關處理)、10-22 視窗三篇圍繞華為-DeepSeek 協同而僅 SemiAnalysis 一篇含 TileLang 專章、10-23 視窗兩條為同一報告的媒體轉載另有一條 DeepSeek 融資與主題無關已剔除。Hacker News 全周無相關討論;arXiv 以 TileLang 為標題或摘要關鍵詞檢索視窗內 0 條,最近相關條目仍是 07-24 的 TileSight。
六、趨勢觀察
- 正確性硬化的層次在遞進,而不是在同層重複:上週主倉清的是「形狀與幾何校驗」,本週三段各不相同——先是 warp 特化與流水線的幾何與屏障(#3503、#2342、#3536、#2822),再是靜默數值錯誤(#2818、#2815、#3550、#3070、#3350、#2860、#3125),最後落到編譯期狀態一致性(#3579、#3612、#3226)。第三段最值得留意:這類缺陷生成的 kernel 可能仍然正確,但編譯器對使用者說的和它實際做的不一致;TileLang 正在接入 agent 自動寫 kernel,編譯期狀態能否自洽會直接決定 agent 迭代閉環能不能收斂。
- 昇騰側的瓶頸已從運算元數量移到記憶體模型、執行時邊界與訓練反向:本週 11 筆適配倉合入裡,反向與遞迴運算元佔五筆(indexer_bwd、SiTU-GLU 反向、LSTM、GRU、CrossEntropy 文件),主倉側最大的一筆是 NZ 佈局的 UB→L1 行距表達(#3530,18 檔案),技術密度最高的是亞 32B 緊湊行距不可表達只能顯式中止(#1795)。加上 JIT 快取原子釋出(#1903)與 PTO 謂詞指數增長(#3581),這條線的主題是「讓已有運算元在邊界條件下不出錯」。配合 CANN 社群另起 ops-tilelang 運算元倉,可以讀出分工:運算元資產由社群倉承載,主倉專注後端語義與 codegen。
- SM89 與 SM90 成為並列的兩條硬體主線,且排優先順序的標準從峰值效能轉向可獲得性:SM90 方向本週產出六個 warp 特化 kernel,SM89 方向則把塊縮放 FP8、INT8 W8A8、FP8 BMM、W4A16、分頁 DSA、NSA top-k 六條路徑同時推進,且 PR 普遍附帶單卡實測並寫明「不主張 SM90 執行結果」「大用例基本打平,不構成普遍優勢」。Ada 級顯示卡(L40S、4090 一類)是國內開發者手裡的主力硬體,這一取向與 SemiAnalysis 指出的「最佳化多面向超節點、通用性落後於效能」正好互補。
- 生態層的組織動作多於程式碼層:主倉本週無釋出、無 breaking change,但組織外出現了中文系統教程倉、CANN 社群運算元倉、agent SKILL 工作流、Hexagon 後端實驗、VS Code 擴充套件與 SAIL 包裝倉;組織內則有 TileFoundry 0.0.3 的 agent 排程、Sunrise 的第二個分發形態、TileOPs 的規格滿格。把「人寫規則、agent 調優、倉裡沉澱基線」三者合看,昇騰側與 TileLang 整體的工程分工正在重排,而程式碼節奏本身是平靜的。
- 分析機構開始把 TileLang 當作昇騰可用性的判據:SemiAnalysis 用「六個倉庫中只有 TileLang 當時可用」來定義 DeepSeek 昇騰支援的完成度,這比任何單篇技術部落格都更能說明 TileLang 在國產算力敘事裡的位置——從實驗性 DSL 變成預設承載層。同一篇報告也給出反向訊號:最佳化集中在超節點、x86 主機支援仍不完整,效能與通用性之間存在明顯取捨。SCMP 的轉述說明該判斷正在進入主流媒體口徑。
- 下一期關注點:主倉 v0.1.16 是否釋出(已靜默 23 天);TileOPs 的 0.1.12 鎖定能否解除(#2554 關閉後未見新版方案,雙基線驗證仍是閘門);PTO 的 #3512 與 #3516 能否合入(決定 PTO 是否成為預設執行後端);TileFoundry 0.0.3 的 wheel 缺標頭檔案與 #239 定價問題是否在下個版本修復;Sunrise 的 S2 wheel 在
tangGetDeviceCount處的失敗如何處置;昇騰sparse_mla前向與反傳(#1929 / #1928)、GLM-5.3 kpool(#1910)的落地節奏;海光gcy_merge_main的暫存器流水開關清理何時進 main。
附錄:素材與核查說明
- 素材:本刊每日 TileLang 社群動態日報 5 期(10-19、10-20、10-21、10-22、10-23),五期採集視窗合計 10-16 07:00 至 10-23 07:00(北京時間)。其中 10-19 期為週一三天視窗,覆蓋 10-16 07:00 至 10-19 07:00,主體是 10-16 至 10-18 的週末動態,本報告將其作為背景納入、不計入本週合入統計;10-20 至 10-23 四期嚴格落在本週內。
- 合入統計口徑:本週合入 129 筆,按四期日報口徑為 36(10-20 期)、26(10-21 期)、32(10-22 期)、35(10-23 期),分倉為主倉 tilelang 37、TileOPs 68、昇騰適配倉 11、TileFoundry 8、海光 1、MLIR 昇騰 1、文件站 3。10-19 期另有 61 筆,屬 10-16 至 10-18 週末視窗,未計入上表。
- 補充核查:168 小時視窗的組織級核查確認 tile-ai 29 個倉庫中 11 個在視窗內有推送(TileOPs、tilelang、tilelang-ascend、tilelang-hygon、tilelang-mlir-ascend、tilelang-sunrise、TileFoundry、TileFoundry 文件站、TileOPs 文件站、tilelang 文件站、TileOPs-nightly),與各期日報的逐倉結論一致;週五 07:00 之後的組織動態按慣例併入下一期日報,本報告不預估其內容。
- 口徑與邊界:效能資料均為 PR 說明或釋出說明的自述(H100、H200、L40S、M2 Pro、910B3、MTT S5000 等),本刊無對應硬體、未做獨立復現;規格與基準 205/205 取自組織統計分支的徽章資料,屬專案自述口徑;釋出時間以各倉庫標籤與釋出頁複核為準,適配倉的釋出頁與分支推進可能存在滯後;SemiAnalysis 與 SCMP 的判斷為第三方分析,非廠商官方宣告。在審數量在不同期的統計口徑不完全一致(有的取倉庫
is:open總數、有的取視窗內更新數),引用時已在正文註明。 - 下一期週期建議:2026-10-26 ~ 2026-10-30。
信源核查表
| 信源 | 核查結果 |
|---|---|
| tile-ai 組織(29 倉庫) | 168 小時視窗內 11 個倉庫有推送;本週四期口徑合入 129 筆,在審視窗更新 52 至 71 筆 |
| 主倉 tilelang | 本週合入 37 筆;開放 PR 167 降至 163;VERSION 仍 0.1.15,全周無新標籤、無釋出(已靜默 23 天) |
| TileOPs | 本週合入 68 筆(另週末視窗 44 筆);在審 16 降至 9;規格與基準覆蓋報 205/205;仍 pin tilelang 0.1.12 |
| TileOPs-nightly | snapshots 分支 10-19 05:41、10-20 05:39 兩次快照;報表新增「新運算元」欄 |
| TileFoundry | 本週合入 8 筆;v0.0.3 於 10-21 10:26 釋出(本週唯一新版本);在審 1 至 4 筆 |
| 昇騰(tilelang-ascend + 主倉內昇騰改動) | 適配倉合入 11 筆、在審 11 筆以上;主倉內昇騰相關合入 12 筆;sparse_mla 前向與反傳在審 |
| 海光(tilelang-hygon) | main 合入 1 筆(#25);在審 3 筆;feature 分支三次推送給出解碼 GEMM 的地址鏈定位 |
| 沐曦 / 摩爾執行緒 / MLIR 昇騰 | 三倉視窗內均無提交,分別停在 10-16 / 09-30 / 10-19 |
| Sunrise | 0.1.15+sunrise.1.2.0 釋出 PR(#9)在審;S2 wheel 裝後 import 在 tangGetDeviceCount 處失敗 |
| 採用方(TileKernels / FlashQLA) | 均停在 10-14,全周無提交;版本要求仍指向 TileLang 0.1.15 與 CANN 9.2.0 |
| TileRT / tilescale / DeepStack | 均無視窗內推送(最新分別 09-24、08-25、10-05) |
| 社群與第三方倉 | 新倉 4 個(tilelang-tutorial、ops-tilelang、tilelang-hexagon、tilelang-wrapper-for-sail),活躍 5 個以上(cookbook、devkit-vscode、tilelangGym、w4a16-tilelang、tilelang-cuda-skills) |
| 媒體與學術 | Google News 中英文多組查詢視窗內共 6 條命中,僅 SemiAnalysis 一篇含 TileLang 專章,其餘為轉載或非直接相關;Hacker News 無相關討論;arXiv 視窗內 0 條 |
主要引用
- TileFoundry v0.0.3 釋出說明 — https://github.com/tile-ai/TileFoundry/releases/tag/v0.0.3
- SemiAnalysis《The Huawei-DeepSeek Symbiosis》 — https://newsletter.semianalysis.com/p/huawei-deepseek
- SCMP 轉載 SemiAnalysis 報告 — https://www.scmp.com/tech/tech-war/article/3371806/jensens-nightmare-huawei-deepseek-narrow-ai-chip-ecosystem-gap-nvidia-report
- 主倉純 TMA 生產者正向屏障(#3503) — https://github.com/tile-ai/tilelang/pull/3503
- 主倉兄弟流水線共享緩衝(#2342) — https://github.com/tile-ai/tilelang/pull/2342
- 主倉共享緩衝 T.cumsum 執行緒偏移(#3536) — https://github.com/tile-ai/tilelang/pull/3536
- 主倉軟體流水傳遞性依賴(#2822) — https://github.com/tile-ai/tilelang/pull/2822
- 主倉向量化分析納入非零迴圈下界(#3579) — https://github.com/tile-ai/tilelang/pull/3579
- 主倉共享記憶體跨執行緒 WAW 檢測(#2821) — https://github.com/tile-ai/tilelang/pull/2821
- 主倉 MMA tile 顯式 K 填充(#2818) — https://github.com/tile-ai/tilelang/pull/2818
- 主倉 fragment reduce 保留維(#2815) — https://github.com/tile-ai/tilelang/pull/2815
- 主倉 TIR 謂詞隨位寬提升(#3550) — https://github.com/tile-ai/tilelang/pull/3550
- 主倉批式 finalize_reducer(#3070) — https://github.com/tile-ai/tilelang/pull/3070
- 主倉 cast 三組合前置校驗(#3350) — https://github.com/tile-ai/tilelang/pull/3350
- 主倉拒絕無 arch 的 CUDA target(#2860) — https://github.com/tile-ai/tilelang/pull/2860
- 主倉 deepseek_v32 top-k 越界(#3280) — https://github.com/tile-ai/tilelang/pull/3280
- 主倉向量化前克隆 analyzer(#3612) — https://github.com/tile-ai/tilelang/pull/3612
- 主倉並行迴圈切分後 analyzer 繫結(#3226) — https://github.com/tile-ai/tilelang/pull/3226
- 主倉 Windows ARM64 支援(#2962) — https://github.com/tile-ai/tilelang/pull/2962
- 主倉 lower trace 拆分宿主與裝置(#3496) — https://github.com/tile-ai/tilelang/pull/3496
- 主倉 CUDA 16 位數學降級(#3172) — https://github.com/tile-ai/tilelang/pull/3172
- 主倉效能迴歸鎖定 H100(#3569) — https://github.com/tile-ai/tilelang/pull/3569
- 主倉昇騰 msprof 關聯(#3321) — https://github.com/tile-ai/tilelang/pull/3321
- 主倉昇騰 L0 區域性複製顯式 pitch(#3511) — https://github.com/tile-ai/tilelang/pull/3511
- 主倉昇騰 NZ 緩衝部分 UB→L1 複製(#3530) — https://github.com/tile-ai/tilelang/pull/3530
- 主倉 Ascend DeepGEMM 啟發式與 epilogue(#3577) — https://github.com/tile-ai/tilelang/pull/3577
- 主倉 PTO 向量化框架(#3512,在審) — <https://github.com/
tile-ai/tilelang/pull/3512>
- 主倉 PTO tvm_ffi 執行後端(#3516,在審) — https://github.com/tile-ai/tilelang/pull/3516
- 昇騰倉亞 32B 行距修復(#1795) — https://github.com/tile-ai/tilelang-ascend/pull/1795
- 昇騰倉 JIT 快取原子釋出(#1903) — https://github.com/tile-ai/tilelang-ascend/pull/1903
- 昇騰倉 indexer_bwd(#1887) — https://github.com/tile-ai/tilelang-ascend/pull/1887
- 昇騰倉 SiTU-GLU 反向(#1877) — https://github.com/tile-ai/tilelang-ascend/pull/1877
- 昇騰倉 cann-bench LSTM(#1892) — https://github.com/tile-ai/tilelang-ascend/pull/1892
- 昇騰倉 cann-bench GRU(#1902) — https://github.com/tile-ai/tilelang-ascend/pull/1902
- 昇騰倉 sparse_mla_fwd(#1929,在審) — https://github.com/tile-ai/tilelang-ascend/pull/1929
- 昇騰倉 sparse_mla_bwd(#1928,在審) — https://github.com/tile-ai/tilelang-ascend/pull/1928
- 海光 MLS 視窗常量 K(#25) — https://github.com/tile-ai/tilelang-hygon/pull/25
- 海光解碼 GEMM 效能定位分支 — https://github.com/tile-ai/tilelang-hygon/tree/feat/hcu-smls-b-vgpr
- MLIR 昇騰 TVM 隔離修復(#204) — https://github.com/tile-ai/tilelang-mlir-ascend/pull/204
- TileOPs 分頁 GQA warp 特化(#2668) — https://github.com/tile-ai/TileOPs/pull/2668
- TileOPs FP8 lightning indexer(#2666) — https://github.com/tile-ai/TileOPs/pull/2666
- TileOPs MLA 解碼蹺蹺板(#2665) — https://github.com/tile-ai/TileOPs/pull/2665
- TileOPs SM89 塊縮放 FP8 分組 GEMM(#2659) — https://github.com/tile-ai/TileOPs/pull/2659
- TileOPs SM89 INT8 W8A8(#2655) — https://github.com/tile-ai/TileOPs/pull/2655
- TileOPs SM89 FP8 BMM 瓦片(#2681) — https://github.com/tile-ai/TileOPs/pull/2681
- TileOPs SM89 W4A16 M64(#2672) — https://github.com/tile-ai/TileOPs/pull/2672
- TileOPs MLA 預填充反向 op 層(#2678) — https://github.com/tile-ai/TileOPs/pull/2678
- TileOPs MLA 反向 SM90 kernel(#2680) — https://github.com/tile-ai/TileOPs/pull/2680
- TileOPs Mamba-1 選擇性掃描(#2638) — https://github.com/tile-ai/TileOPs/pull/2638
- TileOPs attention sink(#2515) — https://github.com/tile-ai/TileOPs/pull/2515
- TileOPs FP8 分頁共享記憶體別名(#2708) — https://github.com/tile-ai/TileOPs/pull/2708
- TileOPs masked softmax FMA 溢位(#2699) — https://github.com/tile-ai/TileOPs/pull/2699
- TileOPs 參考實現改 float32(#2692) — https://github.com/tile-ai/TileOPs/pull/2692
- TileOPs 規格統計分支
— https://github.com/tile-ai/TileOPs/tree/stats
- TileFoundry 儲存與發射計劃分離(#243) — https://github.com/tile-ai/TileFoundry/pull/243
- TileFoundry Apple AMX 與 Qwen 示例(#244) — https://github.com/tile-ai/TileFoundry/pull/244
- TileFoundry sm_89 與 RTX 6000 Ada(#259) — https://github.com/tile-ai/TileFoundry/pull/259
- TileFoundry 啟動失敗拋錯(#256) — https://github.com/tile-ai/TileFoundry/pull/256
- Sunrise 0.1.15+sunrise.1.2.0 釋出 PR(#9) — https://github.com/tile-ai/tilelang-sunrise/pull/9
- 採用方 TileKernels — https://github.com/deepseek-ai/TileKernels
- 採用方 FlashQLA — https://github.com/QwenLM/FlashQLA
- CANN 社群 ops-tilelang 運算元倉 — https://github.com/Atlas-Ascend-Fork/ops-tilelang
- 中文系統教程 tilelang-tutorial — https://github.com/huandu/tilelang-tutorial
- tilelang/agent 運算元最佳化 skill — https://github.com/tilelang/agent
- TileLang Cookbook — https://github.com/RuneFang/tvm_tilelang_cookbook
- Hexagon 後端社群實驗 — https://github.com/SoilSoi1/tilelang-hexagon
資料來源:每日 TileLang 社群動態日報(2026-10-19 至 2026-10-23 共五期)及本週期實測核查;報告週期為 2026 年 10 月 19 日至 10 月 23 日。