
本期梳理 NVIDIA CUDA Rust 的 SIMT/Tile 两条路线,以及 Triton 对 async-copy 屏障追踪和 MX scale 符号布局的更新,重点标出可验证动作与尚未出现的性能证据。
cutile-rs 的 Tile 路线;它使用 stable Rust 1.89+ 和 CUDA 13.3。需要显式线程、共享内存或更细的 launch 控制,再看 cuda-oxide 的 SIMT 路线,但它仍需要固定 nightly 和 LLVM。mbarrier 的新追踪逻辑。提交说明给出了回归用例结果,但没有运行时加速数字。cuda-oxide 走熟悉的 SIMT(每个线程执行什么),cutile-rs 走 Tile(每个数据块执行什么,由 Tile IR 编译器决定)。1cuda-oxide 是定制的 rustc codegen backend,经 Rust MIR、Pliron 和 LLVM 生成 PTX;它要求 Linux、计算能力 8.0 及以上 GPU、CUDA 12.x 及以上、clang/libclang,以及固定 nightly 工具链。cutile-rs 把 kernel AST 嵌入 host binary,再通过 CUDA Tile IR JIT 编译;它要求 Linux、计算能力 8.0 及以上 GPU、CUDA 13.3 和 stable Rust 1.89+,不要求自带 LLVM。1cuda-oxide 用 DisjointSlice 与 launch contract 约束每线程写入范围,Tile 路线用 tensor partitioning 表达互斥写入。原文明确把 cuda-oxide 标为 early alpha,两个项目都还不是 production-ready。1cutile-rs 的 hello-world 或 vector-add,再记录首次 JIT 时间、后续缓存命中时间和结果校验;只有当依赖版本、驱动和 kernel 语义都稳定后,才值得把同一算子与现有 CUDA/Triton 实现做端到端对比。不要把示例的 PASSED 当成性能结论。cp.async 写入在 cp.async.mbarrier.arrive 与 mbarrier.wait 之间仍处于 pending 的情况,把每个 barrier phase 关联的 copy 纳入已有 write-tracking,并在混用 wait_group 与 barrier 完成时保留 copy issuer,再把可见性转交给真正获取数据的线程/CTA。23cp.async、shared memory、mbarrier,或把 TMA/copy completion 混在同一 kernel 里的 ConSan 检查直接相关。提交说明显示,在 NVIDIA GB200、ptxas 13.3.69 override 的回归中,55 个 GPU case 通过、6 个跳过、492 个取消选择,执行时间为 60.74 秒;NVIDIA 与 AMD 的 ConSan lit 回归文件也通过。这个 60.74 秒是测试执行时间,不是 kernel 加速。2async_copy、barrier invalidation 和 TMA multicast 相关 ConSan case,再检查报告是否仍把合法的 pending copy 判成 async_copy_global_to_shared 访问错误。当前来源没有给出吞吐或延迟变化,验证目标应是误报/漏报,而不是速度。alignment - 1;CDNA4 则用整数向上取整替代浮点 ceil,因此即使 m、n 仍是符号维度,也能保持整数表达。提交新增的测试覆盖 BlackwellMXScaleLayout、BlackwellActMXScaleLayout、HopperMXScaleLayout 和 CDNA4MXScaleLayout,变更统计为 58 个测试项和 47 个非测试文件改动。34m, n 调用公开 layout API,分别核对 Blackwell、Hopper、CDNA4 的 storage shape,再用具体整数维度做一次 materialized shape 对照。若你的调用只使用静态 shape,优先级较低;若模型存在 ragged batch、动态序列长度或 scale packing,优先检查这条路径是否仍触发类型转换错误。cp.async + mbarrier 的现有 kernel 跑 targeted regression,确认报告从“合法 pending copy”与“真实越界/错误同步”之间分开。developer.nvidia.com
github.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.