Triton 在 8 月 28 日发布 3.8.0,tag 打在 c01b677。
两款新 sanitizer 是这一版最值得装的东西。FpSan 靠编译器插桩检查 kernel 的不同变体是否保持同一个符号化浮点计算,覆盖 NVIDIA 以及 AMD 的 gfx942、gfx950 和 gfx1250,dot、scaled-dot、WGMMA 和 MMAv5 路径都在内,配套加了 tl.expect_zero。GSan 是实验性的数据竞争检测,管的是 GSan 分配器所管理内存上的竞争,范围含读写、原子操作、部分异步操作、对称内存和多节点拓扑。已有的 ConSan 补上了 AMD 支持,覆盖面扩到多 CTA kernel、barrier、TMA、多播和 Cluster Launch Control。FpSan 与 ConSan 现在从驱动提供的默认分配器取全局暂存空间,不再强制自定义分配器。
公开 API 这边,triton.aggregate 和 gluon.aggregate 转正,支持继承字段、默认值、自动生成构造函数和不可变实例。tl.topk 加了 descending 参数,传 False 取最小值。Layout.storage_shape 可以直接查布局的物理存储形状,不必先物化一次转换。
硬件方面 NVIDIA Rubin(SM107)拿到初步支持,含 MMA 更新、多播 barrier 到达和一个 Rubin 专属 Gluon 模块,另有四路 FP8/FP4 打包运算 add4、sub4、mul4 和 fma4。AMD 侧 gfx1250 也就是 CDNA 5 的支持大幅铺开,Gluon 里 cdna5 是它的别名,此外新增 gfx906 目标。
破坏性改动列了七条。tt.make_tensor_ptr 和 tt.advance 被删除,块指针挪进 Python 前端。tl.dot 在累加器非 FP32 且未指定 out_dtype 时,结果类型改为跟随累加器。环境变量 TRITON_PREFER_TMEM_16x256_LAYOUT 移除。