TileLang 每日动态报告(2026-10-20)
调研窗口:2026-10-19 07:00 ~ 2026-10-20 07:00(北京时间,24 小时)。
信源:GitHub(tile-ai 组织 29 仓库推送全量核查,窗口内 9 个仓库有推送:TileOPs、TileOPs-nightly、TileOPs.github.io、tilelang、tilelang.github.io、TileFoundry、tilelang-ascend、tilelang-hygon、tilelang-mlir-ascend;组织窗口内合并 36 笔〔TileOPs 19、tilelang 11、TileFoundry 3、TileOPs.github.io 1、tilelang-ascend 1、tilelang-mlir-ascend 1〕、在审 52 笔〔tilelang 24、tilelang-ascend 15、TileOPs 11、tilelang-hygon 2〕;非默认分支逐查〔ascendc_pto、snapshots、stats〕)+ 发布页与版本文件核查 + 规格统计分支核查 + 采用方仓核查(TileKernels / FlashQLA)+ 社区仓核查 + 夜间流水线核查 + Google News 中英文多组查询(走代理)+ Hacker News + arXiv。
本期索引
- 今日重点:SM89 一日两笔 GEMM 转正,TileOPs 规格与基准覆盖双报 205/205,主仓把 Windows ARM64 纳入 CI(10-19)
- 一、核心项目进展
- 1.1 主仓:Windows ARM64 进 CI,CUDA 13.4 arm64 装包与 clang 兼容层(#2962)(10-19)
- 1.2 主仓:共享缓冲上的 T.cumsum 在 warp 特化下补线程偏移(#3536)(10-19)
- 1.3 主仓:call_extern 的裸 data 变量保守标记为写入(#2618)(10-19)
- 1.4 主仓:lower trace 拆分宿主与设备源码,改可编辑基线(#3496)(10-19)
- 1.5 主仓:Autotuner 透传 profiler 参数、ROCm FP4 常量打印与两笔 CI 维护(#3337 / #3548 / #3565 / #3567)(10-19)
- 二、多后端适配(昇腾 / 沐曦 / 海光 / 摩尔线程)
- 2.1 昇腾:宿主算子与设备内核在 msprof 下建立关联(#3321)(10-19)
- 2.2 昇腾:VF 域外标量 sqrt 走标准数学库、PTO Ramp 按类型化向量发射(#3466 / #3535)(10-19)
- 2.3 昇腾:四个逐元素算子的中文 API 文档与用例补齐(#1657)(10-19)
- 2.4 昇腾在审队列 15 笔:GLM-5.3 压缩算子与三条反向算子(10-19)
- 2.5 海光:在审两笔把 MLS 窗口常量 K 与寄存器流水线补齐(#25 / #18)(10-19)
- 2.6 沐曦 / 摩尔线程 / MLIR-Ascend:两侧无新推送,MLIR 线修 TVM 隔离(#204)(10-19)
- 三、生态与采用方(TileOPs / TileFoundry / 算子库)
- 3.1 TileOPs:SM89 块缩放 FP8 分组 GEMM 与 INT8 W8A8 同日合入(#2659 / #2655)(10-19)
- 3.2 TileOPs:五笔 foundry 算子补齐 MLA 分页、KV 写入与融合归一化(#2642 / #2635 / #2639 / #2634 / #2651)(10-19)
- 3.3 TileOPs:GQA 分页 FP8 前向转 implemented,36 例对标 FA3(#2648)(10-19)
- 3.4 TileOPs:线性注意力与 GEMM 的逐点位性能收口系列(#2650 / #2645 / #2637 / #2636 / #2641 / #2640 / #2646 / #2652)(10-19)
- 3.5 TileOPs:Mamba-1 选择性扫描落地,MoE 路由枚举加收敛上限(#2638 / #2653)(10-19)
- 3.6 TileOPs:规格与基准覆盖双报 205/205,夜间报表新增算子栏(#2656)(10-19)
- 3.7 TileFoundry:Apple AMX 支持与 Qwen 预填充示例跑通 M2 Pro(#244 / #240 / #245)(10-19)
- 3.8 采用方与夜间流水线:TileKernels / FlashQLA 无推送,快照推进至 10-20(10-20)
- 四、社区、教程与活动
- 4.1 文档:六个新算子写入 API 页,主仓文档站自动更新(#77)(10-19)
- 4.2 社区仓:W4A16 kernel 实践仓与 CUDA 调试技能仓进入视野(10-19)
- 4.3 版本线:主仓 0.1.15 仍未换代,TileOPs 继续锁 0.1.12(10-19)
- 4.4 媒体与学术:新闻检索三条命中均非直接相关,arXiv 无新论文(10-19)
- 五、趋势观察
- 5.1 SM89 成为新算子的默认落点
- 5.2 线性注意力固定成「每 chunk 一次矩阵乘 + 按 SM 波次选策略」
- 5.3 TileFoundry 走出 CUDA:Apple AMX 与 Qwen 预填充
- 5.4 可观测性成为编译器硬化主线
- 5.5 昇腾算子库转向对话模型专用算子
- 附:素材与核查说明
- 完整信源清单
今日重点:SM89 一日两笔 GEMM 转正,TileOPs 规格与基准覆盖双报 205/205,主仓把 Windows ARM64 纳入 CI(10-19)
本窗口主机位仍是中国时间夜里活跃:组织内合并 36 笔,TileOPs 独占 19 笔,其中 SM89(Ada 级)的块缩放 FP8 分组 GEMM 与 INT8 W8A8 GEMM 同日落地,配合五笔新算子把 MLA 分页、KV 缓存写入、QK-Norm-RoPE 融合与逐 token 量化 RMSNorm 一次补齐;组织规格统计分支随即刷新为「已实现 205/205、已基准 205/205」,即算子库自述的规格覆盖与基准覆盖同时满格。主仓 tilelang 合并 11 笔,分量最重的是把 Windows ARM64 纳入发布流水线(12 文件、CUDA 13.4 arm64 安装脚本与 clang 兼容头),另有两笔正确性修复(共享缓冲上的 T.cumsum、call_extern 写入标注)和一笔调试基建改造(lower trace 拆分宿主与设备源码)。后端侧,昇腾把宿主演算子与设备内核在 msprof 下对上号,海光两笔在审补寄存器流水线与常量 K 寻址,TileFoundry 则首次把 Qwen 预填充示例搬到 Apple M2 Pro 的 AMX 单元上跑通 128 token。
一、核心项目进展
1.1 主仓:Windows ARM64 进 CI,CUDA 13.4 arm64 装包与 clang 兼容层(#2962)
该笔把 Windows on ARM 作为正式构建目标接进发布流水线:新增 PowerShell 安装脚本,从 NVIDIA 预发布通道拉取 CUDA 13.4 的 windows_arm64 本地安装包并落到固定路径;新增 CMake 的 FindPipCUDAToolkit 模块与 windows_arm64_clang_compat.h 兼容头,解决 MSVC 工具链在 ARM64 上的头文件与内建差异;同步调整 pyproject 与两份 requirements,并改动布局模块与 MSVC 辅助模块以适配新平台。共 12 文件、新增 356 行、删除 45 行。此前组织侧已连续补 ROCm 与昇腾两端,这笔把 Windows ARM64 补成第三个非 x86 交付面,对采用骁龙 X 系列笔记本做本地内核开发的用户是直接可用性改进。
来源:tile-ai/tilelang#2962(10-19)
1.2 主仓:共享缓冲上的 T.cumsum 在 warp 特化下补线程偏移(#3536)
warp 特化把生产者与消费者分到不同 warp 后,扫描类原语在共享缓冲上算出的线程号仍按整块 CUDA 块计,导致 cumsum 的行归属错位。改动在 CUDA 与 HIP 两套 scan 模板中引入 thread_offset 参数,由下层参数中的线程下界(thread_bounds 的最小值)传入,模板据此把 lane 与行索引重新对齐;后台通用实现与 Python 侧用例同步更新,共 4 文件、新增 101 行、删除 38 行。这类问题只在实际启用 warp 特化且缓冲落在共享内存时暴露,属规模化使用后回灌的边界条件。
来源:tile-ai/tilelang#3536(10-19)
1.3 主仓:call_extern 的裸 data 变量保守标记为写入(#2618)
只读参数标注原先靠别名分析判断缓冲是否被写,但外部调用(call_extern)通过裸指针写入时分析看不到写操作,被误判为只读后恒定折叠或提前复用。改动在该 pass 中专门识别 call_extern,把其裸数据变量一律保守标记为已写,并新增 69 行用例覆盖「call_extern 写输出缓冲」的写法。方向上是宁可少做优化也不做错优化,与近期主仓一批正确性修复同调。
来源:tile-ai/tilelang#2618(10-19)
1.4 主仓:lower trace 拆分宿主与设备源码,改可编辑基线(#3496)
调试工具 lower trace 原先只落一份生成源码,宿主侧包装与设备侧内核混在一起,改一处难以回滚。改动把两侧拆成独立产物:设备侧输出 codegen_device.cpp 及其 .original 基线与 .latest 最新版,宿主侧在宿主代码生成执行时另出 codegen_host.cpp 与同结构的基线文件,report.html 以软链接指向最近一次运行;文档同步改写编辑与重编译流程,共 6 文件、新增 121 行、删除 63 行。
来源:tile-ai/tilelang#3496(10-19)
1.5 主仓:Autotuner 透传 profiler 参数、ROCm FP4 常量打印与两笔 CI 维护(#3337 / #3548 / #3565 / #3567)
#3337 仅三行,但修的是自动调优的度量口径:装饰器上的 warmup、rep、timeout 此前没有传给调优器,用户在装饰器上改这三个参数实际不生效,现在按参数透传。#3548 补 ROCm 侧 FP4(e2m1)浮点常量的打印,因该类型只有按原始字节构造,改为在设备端经辅助函数从 float32 转换生成常量,避免 HIP 代码生成报错。另两笔为维护性改动:cibuildwheel 版本从 4.2 升到 4.3,以及为 ROCm 线增加一名 CodeRabbit 审查人。
来源:tile-ai/tilelang#3337、#3548、#3565、#3567(10-19)
二、多后端适配(昇腾 / 沐曦 / 海光 / 摩尔线程)
2.1 昇腾:宿主算子与设备内核在 msprof 下建立关联(#3321)
昇腾侧的 profiler 此前只能报出设备内核耗时,宿主演算子与内核之间没有对应关系,自动调优拿到的样本无法归因到具体调用。该笔新增原生 profiling 通道:构建时探测 CANN 的 profiling 头(兼容 msprof 与 profiling 两种安装布局),装了就启用、没装则跳过,不引入面向用户的编译开关;运行时侧补 ascend_profiling.h 与主机侧 profile 模块,把宿主演算子的下发与设备内核的执行按调用序对应起来,并让分组编译路径复用同一套上报。共 13 文件、新增 676 行、删除 13 行,是昇腾线度量能力的一次结构补齐。
来源:tile-ai/tilelang#3321(10-19)
2.2 昇腾:VF 域外标量 sqrt 走标准数学库、PTO Ramp 按类型化向量发射(#3466 / #3535)
#3466 处理标量 sqrt 落在向量化域(VF)之外的情形:下层原本统一把它降为 sqrtf,但在标量核上该实现不可用,改动在域外且类型为 float32 时改走 AscendC::Std::sqrt,并按需引入标准数学头,新增 126 行含用例。#3535 修 PTO 代码生成中 Ramp 表达式的发射方式,改为由各 lane 表达式组装类型化向量,用例覆盖并行索引与显式步长两种 Ramp 的向量化存储生成与执行。
来源:tile-ai/tilelang#3466、#3535(10-19)
2.3 昇腾:四个逐元素算子的中文 API 文档与用例补齐(#1657)
昇腾适配仓把 T.tile 下的 relu、leaky_relu、sigmoid、silu 四个逐元素算子补齐中文 API 文档,写明功能、参数、返回值与典型用法(例如 leaky_relu 的负斜率语义),并同步补测试用例与文档入口,共 6 文件、新增 451 行、删除 19 行。这是昇腾线少见的以文档为主体的合入,说明该仓的算子面已进入需要对外承诺语义的阶段。
来源:tile-ai/tilelang-ascend#1657(10-19)
2.4 昇腾在审队列 15 笔:GLM-5.3 压缩算子与三条反向算子(10-19)
昇腾仓是本窗口在审最集中的地方(15 笔)。算子侧出现明显的对话模型取向:GLM-5.3 的 kpool 压缩算子(#1910)、KDA 的 chunk 反向(#1895)、indexer 反向(#1887)、situ_glu 及其梯度(#1891 / #1877)。示例侧补 cann-bench 的 lstm 与 gru 两条(#1892 / #1902)。编译器侧两笔属稳定性:#1907 在 UB 到 L1 的暂存中保留块注解与 ND 偏移,#1903 修并发内核缓存的发布与缓存被删后的恢复。另有五笔针对位运算算子的 API 事实核对(#1651 / #1655 / #1656 / #1659 / #1893),其中 #1893 是上周被回退后的重新提交,其余四笔为新增核对。
来源:tile-ai/tilelang-ascend#1910、#1895、#1887、#1891、#1907、#1903(10-19)
2.5 海光:在审两笔把 MLS 窗口常量 K 与寄存器流水线补齐(#25 / #18)
海光仓默认分支窗口内无合入,但两笔在审都有实质推进。#25 修 MLS 资源提升在循环展开后丢失常量窗口偏移的问题:先校验未更新轴再决定采用单轴更新或前向差分寻址,必要时保守重建窗口,并在既有 MLS 测试中补回归。#18 为 HCU 后端加寄存器流水线,可与既有的共享内存流水线叠加,按流水级插入对应的提交与屏障指令,并在 warp 数超过 4 时启用 warp_diverge;PR 自述 example_gemm 的性能已接近 rocblas。
来源:tile-ai/tilelang-hygon#25、#18(10-19)
2.6 沐曦 / 摩尔线程 / MLIR-Ascend:两侧无新推送,MLIR 线修 TVM 隔离(#204)
tilelang-metax 最后推送停在 10-16,tilelang-musa 停在 09-30,两者窗口内均无提交,属正常静默。tilelang-mlir-ascend 合入一笔 TVM 隔离修复(#204),处理该仓与 TVM 命名空间、符号可见性之间的相互污染,规模不大但直接影响多后端共存时的链接稳定性。
来源:tile-ai/tilelang-mlir-ascend#204(10-19)
三、生态与采用方(TileOPs / TileFoundry / 算子库)
3.1 TileOPs:SM89 块缩放 FP8 分组 GEMM 与 INT8 W8A8 同日合入(#2659 / #2655)
#2659 把块缩放的 FP8 分组 GEMM(MoE 场景)扩到 SM89:四套显式配置、六条含拷贝的基准用例,测试覆盖未知键、非法 tile 尺寸、掩码计数与 slab 尾块、调优、输出别名、非对齐输入、空闲专家保持与输入不可变,两套 TileLang 基线(0.1.12 与 0.1.15 开发版)各 35 项通过;用例从原来的 42 项增至 77 项,新增 12 项 SM89 用例。#2655 在同一架构上启用 INT8 W8A8 GEMM,13 项 SM89 接口用例与原有 29 个 INT8 基准工作负载均对 vLLM 通过正确性核对,并声明不主张 SM90 运行结果。两笔合在一起,意味着 TileOPs 的低精度 GEMM 不再只以 Hopper 为唯一目标。
来源:tile-ai/TileOPs#2659、#2655(10-19)
3.2 TileOPs:五笔 foundry 算子补齐 MLA 分页、KV 写入与融合归一化(#2642 / #2635 / #2639 / #2634 / #2651)
这一批都由 TileFoundry 的规格流水线产出,每个算子先有 HIR 规格与参考实现,再有布置、调度与运行时孪生。#2642 新增 MLA 分页前向,按请求走页表、fp32 累加打分、在线 softmax,返回输出与 lse,六行用例在 4e-3 绝对误差内对齐参考,行内以 576 与 512 列两次乘积累加判定为算力受限。#2635 新增 MLA 的 KV 缓存写入,逐 token 把 kv_c 与 k_pe 拼接、fp32 旋转后落盘、按 scale 缩放并钳位转 E4M3,六行用例对 vLLM 的同名接口通过。#2639 的 QK-Norm-RoPE 融合覆盖七种行/精度组合,支持 NeoX 与相邻对两种旋转布局。#2634 的逐 token 量化 RMSNorm 融合残差加法,12 个工作负载对齐 vLLM 同名接口,实现为一行一 CTA、4096 列内 128 线程、更长用 512 线程。#2651 补 INT8 W8A8 的算子封装。
来源:tile-ai/TileOPs#2642、#2635、#2639、#2634、#2651(10-19)
3.3 TileOPs:GQA 分页 FP8 前向转 implemented,36 例对标 FA3(#2648)
该笔让 GQA 分页前向直接接受 FP8 的 Q 与 KV,并把算子状态从规格推进到已实现。参考实现按请求与 KV 头维度写 HIR,查询头成组堆叠成打分行,每个可见页作一个键 tile,FP8 操作数按各自 scale 反量化后相乘;36 个用例全部通过,含 NaN 与 Inf 检查。比较对象选 FA3 的同类分页实现,并按「每请求、每 KV 头」的 descala 展开成对应形状。附带改动涉及 17 文件、新增 2601 行,含分页解码、批 1 解码、FP8 解码、warp 特化与 RoPE 预处理多条内核路径。
来源:tile-ai/TileOPs#2648(10-19)
3.4 TileOPs:线性注意力与 GEMM 的逐点位性能收口系列(#2650 / #2645 / #2637 / #2636 / #2641 / #2640 / #2646 / #2652)
八笔 [Perf] 延续上周的收口节奏,套路高度一致:把每 chunk 的矩阵乘压到一次、把同步点前移或合并、按硬件波次决定策略。#2650 把 GDN 前填的 chunk 求逆改为按 warp 组求解,并以「每 SM 约容纳七个 warp 组求解」为界,低于一波时仍走单 warp 更划算;#2645 让 DeltaNet 前向状态每 chunk 只做一次矩阵乘;#2637 让 GLA 反向状态梯度在其链上不再插入矩阵乘;#2636 把批量 GEMM 的每个 tile 存储挪到下一 tile 首个 WGMMA 之下以重叠写回;#2641 对长行归约改用 512 线程折叠;#2640 让最大池化二维索引核的行按 evict-last 读进 L2;#2646 在缩放因子恰为 1 时绕开 bf16 除法的全区间缩放;#2652 用近似倒数实现 float32 取余与向下整除的向下取整。
来源:tile-ai/TileOPs#2650、#2645、#2637、#2636、#2641、#2640、#2646、#2652(10-19)
3.5 TileOPs:Mamba-1 选择性扫描落地,MoE 路由枚举加收敛上限(#2638 / #2653)
#2638 新增 Mamba-1 的选择性扫描前向,九行工作负载覆盖 Mamba-2.8B 的 4096 token 前填与单 token 解码、2.8B 批 64 解码、1.4B 前填、130M 无门控、带序列索引的打包前填、分组状态与裸扫描,参考实现与布置、调度发生器一并入库,说明状态空间模型正式进入算子清单。#2653 修 MoE 分组 GEMM 的路由枚举:此前全量枚举分组路由,组合数超限时白白耗时,改为并集超过上限即停止枚举。
来源:tile-ai/TileOPs#2638、#2653(10-19)
3.6 TileOPs:规格与基准覆盖双报 205/205,夜间报表新增算子栏(#2656)
组织规格统计分支在最后一笔合入后随即刷新,徽章数据为「已实现 205/205、已基准 205/205」,两项均为满格,与本期连续补入的算子相印证。#2656 给夜间报表加两件事:把当期未测量过的算子单列成「新算子」栏,并把历史数据项的读取从旧式字符串表示改为 JSON 解析、非映射内容一律丢弃;用例从 43 项增至 47 项。#2656 自述的一段历史数据也值得记录:10-18 的夜间报表(统计窗口 10-05 至 10-17)列出 109 项改进、6 个新算子、共 121 行,其中 W4A8 GEMM 占 98 行。
来源:tile-ai/TileOPs#2656、TileOPs 规格统计分支(10-19)
3.7 TileFoundry:Apple AMX 支持与 Qwen 预填充示例跑通 M2 Pro(#244 / #240 / #245)
#244 把四个 AMX 操作(X/Y 载入、FP16 外积配 FP32 累加、Z 存储)纳入 TileFoundry,并让 Copy 与 Fill 可落在 Apple 核与 AMX 执行器作用域上;示例目录给出整模型 HIR、调度后 HIR、Python 运行时孪生与 C++ 投影核,首次使用时构建并缓存本地内核,权重复用已备好的 GGUF Q8_0。实测在 M2 Pro 上 Qwen3-1.7B 与 Qwen3.5-4B 均完成 128 token 前填,输出 logits 有限、下一个 token 编号分别为 1813 与 306。这是 TileLang 生态第一次把整模型推理示例放到非 CUDA 加速器上。#240 修四处 CUDA 侧降级缺口(效果形式 Cast 无生成处理器、Fill 写到内核参数裸指针、切片坐标走 Dim 算术无法解析),仅改代码生成目录、45 行增 10 行删。#245 统一分析层的估值上下文与作用域快照。
来源:tile-ai/TileFoundry#244、#240、#245(10-19)
3.8 采用方与夜间流水线:TileKernels / FlashQLA 无推送,快照推进至 10-20(10-20)
deepseek-ai/TileKernels 仍停在 10-14 的 v2.1.0 发布合并,QwenLM/FlashQLA 停在 10-14 的修复提交,两者窗口内均无推送,采用方侧本日静默。TileOPs-nightly 的 snapshots 分支在窗口内新增一次快照(10-20 05:39),前一档为 10-19 05:41,夜间基准保持在每日一次的节奏。
来源:TileOPs-nightly snapshots(10-20)
四、社区、教程与活动
4.1 文档:六个新算子写入 API 页,主仓文档站自动更新(#77)
TileOPs 文档站随算子合入把六个新实现补进 API 页(#77),逐项写明调用约定与当前状态,沿用上周建立的「已实现即入页」规则。tilelang 主仓文档站在窗口内有一次自动构建推送,无人工内容变更。
来源:tile-ai/TileOPs.github.io#77(10-19)
4.2 社区仓:W4A16 kernel 实践仓与 CUDA 调试技能仓进入视野(10-19)
社区侧出现几个围绕 TileLang 的第三方仓库:fanyuxiao-ui/w4a16-tilelang 建于 10-10,用 TileLang 加手写 CUDA 在 A800(SM80)上做 W4A16 量化推理的 GEMM 与 GEMV;sablin39/tilelang-cuda-skills 建于今年 5 月、已有 145 星,提供书写 TileLang 与用 CUDA 工具链调试的技能包,作者同时是 TileFoundry 的活跃贡献者;localizethedocs/tilelang-docs-l10n 做官方文档本地化;chaigua/tilelang-agent 于 10-19 新建。四者均为社区自发,非组织官方仓库。
来源:fanyuxiao-ui/w4a16-tilelang、sablin39/tilelang-cuda-skills、localizethedocs/tilelang-docs-l10n(10-19)
4.3 版本线:主仓 0.1.15 仍未换代,TileOPs 继续锁 0.1.12(10-19)
主仓版本文件仍为 0.1.15,对应 09-30 的发布,窗口内无新标签或发布。TileOPs 的依赖声明仍写死 0.1.12,上周尝试升到 0.1.15 的 PR 已关闭,本期新合入的 SM89 用例也同时跑了 0.1.12 与 0.1.15 开发版,说明升级闸门仍以双基线验证为前提。
来源:tile-ai/tilelang VERSION、tile-ai/TileOPs pyproject(10-19)
4.4 媒体与学术:新闻检索三条命中均非直接相关,arXiv 无新论文(10-19)
Google News 中英文多组查询(TileLang、tile-ai、TileOPs、TileFoundry、tilelang 算子等)在窗口内仅三条命中:两篇 DeepSeek 与华为芯片的产业报道(The Information、Business Upturn),以及 Prime Intellect 的 prime-rl 0.10.0 发布稿;逐篇核对后未在可读内容中找到 TileLang 具体事实,按非直接相关处理,不计入条目。Hacker News 的 tilelang 检索无相关命中,arXiv 全字段检索最近一篇相关论文仍是 07-24 的 TileSight(tile 中心式 GPU 性能分析模型),窗口内无新增。
来源:Google News TileLang 检索、arXiv TileLang 检索(10-19)
五、趋势观察
5.1 SM89 成为新算子的默认落点
昨日 TileOPs 的重点还是 Hopper 上的 W4A8 与 SM90 集群协作,本窗口两笔新 GEMM 全部以 SM89 为首发目标,并在 PR 中明确声明不主张 SM90 运行结果。Ada 级显卡(L40S、4090 一类)是国内开发者手里的主力硬件,把低精度 GEMM 先落到 SM89,意味着算子库开始按「可获得性」而不只是「峰值性能」排优先级。
5.2 线性注意力固定成「每 chunk 一次矩阵乘 + 按 SM 波次选策略」
GLA、GDN、KDA、DeltaNet 四条线本期共八笔性能改动,手法收敛为两条:把 chunk 链上的矩阵乘压到每块一次,以及按 SM 能容纳的 warp 组数决定用分组求解还是单 warp。这种「先算波次再选内核」的写法此前只见于手写 GEMM 库,现在进入了算子库的默认路径。
5.3 TileFoundry 走出 CUDA:Apple AMX 与 Qwen 预填充
TileFoundry 一直定位为「给 agent 用的算子工厂」,但此前所有示例都在 NVIDIA 上。本期 AMX 支持加上 Qwen 整模型前填在 M2 Pro 跑通,说明其规格、布置、调度三层抽象并非绑定 CUDA,而是可以降到 Apple 的矩阵协处理器。若这条线继续,TileFoundry 的定位会从「TileLang 的前端」变成「跨加速器的规格到内核编译器」。
5.4 可观测性成为编译器硬化主线
本窗口三笔改动指向同一件事:让编译产物可度量、可归因。lower trace 把宿主与设备源码分开落盘、Autotuner 把装饰器参数真正透传到度量、昇腾把宿主演算子与设备内核在 msprof 下对上号。在算子面接近铺满(规格统计已报 205/205)之后,剩下的差距要靠度量找,而不是靠加算子。
5.5 昇腾算子库转向对话模型专用算子
昇腾在审队列里出现 GLM-5.3 的 kpool 压缩、KDA 与 indexer 的反向、situ_glu 及其梯度,这些不是通用算子,而是特定对话模型结构里的部件。配合上周的 PTO 自动向量化,昇腾线的工作重心已从「把 TileLang 跑在昇腾上」转为「把国内主流模型的关键算子先在昇腾上做出来」。
附:素材与核查说明
- 本窗口为常规 24 小时窗口,覆盖 10-19 07:00 至 10-20 07:00,与上一期(10-16 07:00 至 10-19 07:00 的三天窗口)不重叠。
- 组织级仓库列表与推送状态经 GitHub 接口全量拉取,29 个仓库中 9 个在窗口内有推送;各仓库主分支提交经 Atom feed 逐条核对,非默认分支(tilelang-ascend 的 ascendc_pto、TileOPs-nightly 的 snapshots、TileOPs 的 stats)单独核查。
- 合入与在审数量取自 GitHub 搜索接口的真值检索(is:merged 与 is:open 各一次,带窗口起始时间戳),未使用逐仓拉取列表累加,避免重复计数。
- 组织接口匿名额度在采集后段耗尽,PR 正文与改动统计改由网页与补丁文件读取,未影响条目事实核对;已合入状态一律以 is:merged 检索结果为准。
- 规格与基准覆盖数字取自组织统计分支的徽章数据,该分支在窗口内最后一笔合入后刷新,属项目自述口径。
- 夜间快照计数按 snapshots 分支 Atom feed 的 UTC 时间换算为北京时间后判定是否落在窗口内。
- 新闻侧三条命中已逐篇核对,其中两篇产业报道无法在可读内容中确认与 TileLang 的具体关联,按未核实处理,不计入本期条目;arXiv 与 Hacker News 均为零新增。
- 报告不含任何本机环境信息。
完整信源清单
- [1] tile-ai/tilelang PR #2962 Windows ARM64 支持与 CI — https://github.com/tile-ai/tilelang/pull/2962
- [2] tile-ai/tilelang PR #3536 共享缓冲上的 T.cumsum 线程偏移 — https://github.com/tile-ai/tilelang/pull/3536
- [3] tile-ai/tilelang PR #2618 call_extern 裸数据变量标记写入 — https://github.com/tile-ai/tilelang/pull/2618
- [4] tile-ai/tilelang PR #3496 lower trace 拆分宿主与设备源码 — https://github.com/tile-ai/tilelang/pull/3496
- [5] tile-ai/tilelang PR #3337 Autotuner 透传 profiler 参数 — https://github.com/tile-ai/tilelang/pull/3337
- [6] tile-ai/tilelang PR #3548 ROCm FP4 浮点常量打印 — https://github.com/tile-ai/tilelang/pull/3548
- [7] tile-ai/tilelang PR #3565 cibuildwheel 升级 — https://github.com/tile-ai/tilelang/pull/3565
- [8] tile-ai/tilelang PR #3567 ROCm 线新增审查人 — https://github.com/tile-ai/tilelang/pull/3567
- [9] tile-ai/tilelang PR #3321 昇腾 msprof 宿主与设备关联 — https://github.com/tile-ai/tilelang/pull/3321
- [10] tile-ai/tilelang PR #3466 昇腾 VF 域外标量 sqrt — https://github.com/tile-ai/tilelang/pull/3466
- [11] tile-ai/tilelang PR #3535 昇腾 PTO Ramp 类型化向量 — https://github.com/tile-ai/tilelang/pull/3535
- [12] tile-ai/tilelang-ascend PR #1657 四个逐元素算子中文文档 — https://github.com/tile-ai/tilelang-ascend/pull/1657
- [13] tile-ai/tilelang-ascend PR #1910 GLM-5.3 kpool 压缩算子 — https://github.com/tile-ai/tilelang-ascend/pull/1910
- [14] tile-ai/tilelang-ascend PR #1895 KDA chunk 反向算子 — https://github.com/tile-ai/tilelang-ascend/pull/1895
- [15] tile-ai/tilelang-ascend PR #1887 indexer 反向算子 — https://github.com/tile-ai/tilelang-ascend/pull/1887
- [16] tile-ai/tilelang-ascend PR #1907 UB 到 L1 暂存保留块注解 — https://github.com/tile-ai/tilelang-ascend/pull/1907
- [17] tile-ai/tilelang-ascend PR #1903 并发内核缓存发布修复 — https://github.com/tile-ai/tilelang-ascend/pull/1903
- [18] tile-ai/tilelang-hygon PR #25 MLS 窗口常量 K 起点 — https://github.com/tile-ai/tilelang-hygon/pull/25
- [19] tile-ai/tilelang-hygon PR #18 寄存器流水线与 warp_diverge — https://github.com/tile-ai/tilelang-hygon/pull/18
- [20] tile-ai/tilelang-mlir-ascend PR #204 TVM 隔离修复 — https://github.com/tile-ai/tilelang-mlir-ascend/pull/204
- [21] tile-ai/TileOPs PR #2659 SM89 块缩放 FP8 分组 GEMM — https://github.com/tile-ai/TileOPs/pull/2659
- [22] tile-ai/TileOPs PR #2655 SM89 INT8 W8A8 GEMM — https://github.com/tile-ai/TileOPs/pull/2655
- [23] tile-ai/TileOPs PR #2642 MLA 分页前向 — https://github.com/tile-ai/TileOPs/pull/2642
- [24] tile-ai/TileOPs PR #2635 MLA KV 缓存写入 — https://github.com/tile-ai/TileOPs/pull/2635
- [25] tile-ai/TileOPs PR #2639 QK-Norm-RoPE 融合 — https://github.com/tile-ai/TileOPs/pull/2639
- [26] tile-ai/TileOPs PR #2634 逐 token 量化 RMSNorm 融合 — https://github.com/tile-ai/TileOPs/pull/2634
- [27] tile-ai/TileOPs PR #2651 INT8 W8A8 算子封装 — https://github.com/tile-ai/TileOPs/pull/2651
- [28] tile-ai/TileOPs PR #2648 GQA 分页 FP8 前向转已实现 — https://github.com/tile-ai/TileOPs/pull/2648
- [29] tile-ai/TileOPs PR #2650 GDN 前填按 warp 组求解 — https://github.com/tile-ai/TileOPs/pull/2650
- [30] tile-ai/TileOPs PR #2645 DeltaNet 前向状态每 chunk 一次矩阵乘 — https://github.com/tile-ai/TileOPs/pull/2645
- [31] tile-ai/TileOPs PR #2637 GLA 反向状态梯度去矩阵乘 — https://github.com/tile-ai/TileOPs/pull/2637
- [32] tile-ai/TileOPs PR #2636 批量 GEMM 瓦片写回重叠 — https://github.com/tile-ai/TileOPs/pull/2636
- [33] tile-ai/TileOPs PR #2641 长行归约 512 线程折叠 — https://github.com/tile-ai/TileOPs/pull/2641
- [34] tile-ai/TileOPs PR #2640 最大池化索引行 L2 逐出策略 — https://github.com/tile-ai/TileOPs/pull/2640
- [35] tile-ai/TileOPs PR #2646 bf16 除法缩放旁路 — https://github.com/tile-ai/TileOPs/pull/2646
- [36] tile-ai/TileOPs PR #2652 float32 取余与向下整除取整 — https://github.com/tile-ai/TileOPs/pull/2652
- [37] tile-ai/TileOPs PR #2638 Mamba-1 选择性扫描前向 — https://github.com/tile-ai/TileOPs/pull/2638
- [38] tile-ai/TileOPs PR #2653 MoE 分组路由枚举收敛 — https://github.com/tile-ai/TileOPs/pull/2653
- [39] tile-ai/TileOPs PR #2656 夜间报表新算子栏与历史解析 — https://github.com/tile-ai/TileOPs/pull/2656
- [40] tile-ai/TileOPs 规格统计分支(205/205) — https://github.com/tile-ai/TileOPs/tree/stats
- [41] tile-ai/TileFoundry PR #244 Apple AMX 支持与 Qwen 预填充示例 — https://github.com/tile-ai/TileFoundry/pull/244
- [42] tile-ai/TileFoundry PR #240 CUDA 代码生成四处缺口 — https://github.com/tile-ai/TileFoundry/pull/240
- [43] tile-ai/TileFoundry PR #245 估值上下文统一 — https://github.com/tile-ai/TileFoundry/pull/245
- [44] tile-ai/TileOPs-nightly snapshots 分支 — https://github.com/tile-ai/TileOPs-nightly/commits/snapshots
- [45] tile-ai/TileOPs.github.io PR #77 六个新算子写入 API 页 — https://github.com/tile-ai/TileOPs.github.io/pull/77
- [46] tile-ai/tilelang 版本文件 0.1.15 — https://github.com/tile-ai/tilelang/blob/main/VERSION
- [47] tile-ai/TileOPs 依赖声明 tilelang 0.1.12 — https://github.com/tile-ai/TileOPs/blob/main/pyproject.toml
- [48] fanyuxiao-ui/w4a16-tilelang 社区实现 — https://github.com/fanyuxiao-ui/w4a16-tilelang
- [49] sablin39/tilelang-cuda-skills 社区技能包 — https://github.com/sablin39/tilelang-cuda-skills
- [50] localizethedocs/tilelang-docs-l10n 文档本地化 — https://github.com/localizethedocs/tilelang-docs-l10n
- [51] Google News TileLang 检索 — https://news.google.com/search?q=TileLang
- [52] arXiv TileLang 检索 — https://arxiv.org/search/?query=TileLang&searchtype=all