Triton 3.7.1 补丁版本发布,修复两个回归:异步拷贝缺少 fence 导致共享内存竞态,以及 LLVM InstCombine 优化误判。无新功能或 API 变更。
Triton(GPU 编程框架)于 6 月 18 日发布 v3.7.1,这是基于 3.7.0 的补丁版本,无新功能或 API 变更。本次更新修复了两项回归问题:
1. 异步拷贝 fence 缺失:当 st.shared(共享内存写入)后紧跟 async_copy_local_to_global(异步拷贝到全局内存)时,缺少必要的 fence 指令,可能导致异步拷贝在共享内存写入完成前读取未完整数据,产生错误结果。现在 FenceAsync 会自动插入所需 fence(PR #9610)。
2. LLVM InstCombine 优化误判:Triton 依赖的 LLVM 版本中,InstCombine 化简加法常量时只利用了右操作数的 known-zero bits,忽略左操作数对应位也为零的情况。该问题由 Triton 触发并上报(llvm/llvm-project#174380),现已修复。
为什么值得关注:Triton 是 AI 框架和 GPU 编程的重要基础设施,尤其是针对 CUDA 的高效算子编写。本次修复的两个回归均直接影响正确性——缺少 fence 可能导致静默数据错误,LLVM 优化误判则可能生成错误代码。对于在生产环境中使用 Triton 的团队,建议升级到 v3.7.1 以避免潜在 bug。
原文链接: https://github.com/triton-lang/triton/releases/tag/v3.7.1