viable/strict/1790054880: [ROCm] Skip conv_transpose1d complex32 reference test on MI200 (#198025)
PyTorch 提交 #198025 在 MI200(gfx90a)上跳过 conv_transpose1d complex32 参考测试。该测试在 MI200 CI 上间歇失败:56 个元素中 1 个偏差 1.09,超出 0.05 + 5% 容差,同一 job 内结果一致。根因在 MIOpen 而非测试:complex32 卷积被分解为三个 fp16 卷积,conv_transpose 以 backward-data 卷积形式交给 MIOpen,其 backward-data find 在三个耗时接近的 solver 间选择;其中 ConvAsmImplicitGemmGTCDynamicBwdXdlopsNHWC 在 gfx90a 上精度约为正确舍入 fp16 结果的 1/10,强制该 solver 可每次复现失败,强制另外两个则从不失败。已提交 C++ 复现 ROCm/rocm-libraries#12322。跳过按架构区分,因为 DISABLED 只能全 ROCm 平台禁用,而失败仅限 MI200:2026-09-03 至 2026-09-08 的 8 个失败 main job 全为 mi200,mi300 与 mi350 分片通过。
Development
- First Reportviable/strict/1790054880: [ROCm] Skip conv_transpose1d complex32 reference test on MI200 (#198025)PyTorch Core
- Industry Responsetrunk/67d293ec29ed79d56d5ec34bc7117e45c93d0516: [ROCm] Skip conv_transpose1d complex32 reference test on MI200 (#198025)PyTorch Core
- Current Assessment判断:AMD ROCm 生态的算子库精度一致性仍是与 CUDA 竞争时的隐性成本,此类问题会以 CI 间歇失败形式消耗框架维护者精力。可验证下一信号:MIOpen 后续版本发布说明中是否提及 backward-data solver 精度修复。Agent Pulse · analysis
PyTorch 在 MI200 上跳过 conv_transpose1d complex32 参考测试(#198025),原因是 MIOpen 的 backward-data solver 选择存在精度缺陷。complex32 卷积被分解为三个 fp16 卷积,conv_transpose 作为 backward-data 卷积下发;MIOpen 在三个耗时接近的 solver 间按运行时计时选择,其中 ConvAsmImplicitGemmGTCDynamicBwdXdlopsNHWC 在 gfx90a 上精度约为正确舍入 fp16 的 1/10,强制它可稳定复现 CI 失败,强制另外两个则从不失败,因此表现为间歇性。失败仅限 MI200:2026-09-03 至 2026-09-08 的 8 个失败 main job 全为 mi200,mi300 与 mi350 分片通过。由于 DISABLED 只能全 ROCm 平台禁用,故采用按架构跳过,并保留 C++ 复现 ROCm/rocm-libraries#12322。
判断:这是 solver 选择与数值正确性耦合的典型问题——同一算子在不同硬件上因计时差异落到不同 kernel,导致结果精度不可复现。可验证下一信号:ROCm/rocm-libraries#12322 是否给出该 solver 的修复或从候选集中移除,以及 PyTorch 是否在修复后撤销该架构级跳过。
判断:AMD ROCm 生态的算子库精度一致性仍是与 CUDA 竞争时的隐性成本,此类问题会以 CI 间歇失败形式消耗框架维护者精力。可验证下一信号:MIOpen 后续版本发布说明中是否提及 backward-data solver 精度修复。
判断:对使用 MI200 做复数或半精度卷积训练/推理的团队,此问题意味着同一代码在不同 AMD 卡上可能得到不同精度结果,需在部署前做硬件相关数值校验。可验证下一信号:复现 issue 的修复状态与受影响 solver 的默认选择策略变化。
判断:若 MIOpen 未修复,MI200 上的 complex32 conv_transpose 路径将持续被跳过,相关数值覆盖在旧架构上缺失。可验证下一信号:该测试在 MI200 分片是否重新启用。