AGENT PULSESJCPal Special EditionAI 行业证据与趋势
2026年9月26日 · PyTorch

viable/strict/1790398311: [ROCm][Inductor][UT] Enable the FP8 scaled_mm swizzle v2 tests (#198600)

发生了什么

PyTorch PR #198600 在 ROCm 上启用 FP8 scaled_mm swizzle v2 测试。证据说明:Inductor 模板不处理 swizzled MX scales,因此 test_scaled_mm_v2_swizzle_compile 验证编译回退到 ATen _scaled_mm_v2 kernel;该路径此前在 ROCm 被跳过,因为 SWIZZLE_32_4_4 没有 hipBLASLt scale mode。ROCm 7.14 上的 gfx950 将 MX FP8 scales 打包为 SWIZZLE_32_8,因此移除 skipIfRocm 并用 rocm_mx_swizzle 选择布局;较旧 ROCm 与非 gfx950 仍跳过。测试命令为 pytest test/inductor/test_fp8.py -k test_scaled_mm_v2_swizzle_compile。

EVENT STORY

发展脉络

  1. 首次出现viable/strict/1790398311: [ROCm][Inductor][UT] Enable the FP8 scaled_mm swizzle v2 tests (#198600)PyTorch Core
  2. 行业反馈trunk/36739e0856ebe768e44f9d411f535d68f51e38a5: [ROCm][Inductor][UT] Enable the FP8 scaled_mm swizzle v2 tests (#198600)PyTorch Core
  3. 当前判断证据只显示 PyTorch 在 ROCm 上对齐 FP8 测试路径,未给出性能或采用数据。可观察的下一信号是 AMD 与 PyTorch 是否继续把 FP8/MX 相关测试从跳过改为启用,以及是否伴随 hipBLASLt 侧能力补齐。Agent Pulse · 分析
改变了什么

PyTorch 合并 PR #198600,在 ROCm 上启用 FP8 scaled_mm swizzle v2 测试。证据指出,Inductor 没有任何模板处理 swizzled MX scales,所以 test_scaled_mm_v2_swizzle_compile 检查的是编译回退到 ATen _scaled_mm_v2 kernel 的行为。此前该路径在 ROCm 被跳过,原因是 SWIZZLE_32_4_4 缺少 hipBLASLt scale mode。ROCm 7.14 上的 gfx950 将 MX FP8 scales 打包为 SWIZZLE_32_8,因此改动移除 skipIfRocm 并通过 rocm_mx_swizzle 选择布局;较旧 ROCm 与非 gfx950 仍保持跳过。验证方式为运行 test/inductor/test_fp8.py 中对应测试。

能力边界怎么变了

从证据看,这是测试覆盖面的调整而非新算子实现:Inductor 对 swizzled MX scales 仍走 ATen 回退路径,ROCm 侧依赖 gfx950 与 ROCm 7.14 的 SWIZZLE_32_8 布局。可验证的下一信号是 Inductor 是否出现原生 swizzle 模板,或 hipBLASLt 是否补齐 SWIZZLE_32_4_4 的 scale mode。

为什么重要

证据只显示 PyTorch 在 ROCm 上对齐 FP8 测试路径,未给出性能或采用数据。可观察的下一信号是 AMD 与 PyTorch 是否继续把 FP8/MX 相关测试从跳过改为启用,以及是否伴随 hipBLASLt 侧能力补齐。

对谁有影响

对使用 AMD 加速器做 FP8 推理或训练的团队,这条改动意味着相关回退路径开始被测试覆盖,可降低升级 ROCm 时的静默回归风险;但证据未提供性能收益,采购与迁移决策仍需自行基准验证。

接下来观察

若后续 PR 继续减少 ROCm 上的 skip 条件,说明 FP8 低精度路径在 AMD 平台上的覆盖趋于完整;反之若长期停留在 gfx950 与 ROCm 7.14 限定,则说明兼容面仍窄。