AGENT PULSESJCPal Special EditionAI Industry Evidence & Trends
Sep 17, 2026 · PyTorch

viable/strict/1789642231: [ROCm] Unskip assorted GPU tests and fix two ROCm arch skips (#197340)

What Happened

PyTorch 发布 viable/strict/1789642231 分支更新(PR #197340),移除多项不再对应失败的 ROCm 跳过标记:五个不使用 RPC 的 ShardedTensor 测试、test_float8_scale_result、半结构化 cutlass_mm functionalization 分解测试、test_torchinductor 中的 test_var_mean 与 test_cpu_scalar_with_gpu_tensor_cpp,以及 test_pp_fsdp_unshard_reshard_runtime 中导致测试空过的 ROCm 提前返回。test_scaled_mm_v2_fullgraph 取消 ROCm 跳过,改用 e4m3_type 构建输入而非硬编码 float8_e4m3fn,因为在 gfx942 上仅支持 fnuz fp8 类型,硬编码类型会报 HIPBLAS_STATUS_NOT_SUPPORTED。另修正两处跳过:test_addmm_relu_tunableop 不再在 MI350 上跳过 float64;test_svd_lowrank 的 complex128 跳过原为 MI200 专属,但 gfx942 与 gfx950 上 GPU 用例同样不收敛。

EVENT STORY

Development

  1. First Reportviable/strict/1789642231: [ROCm] Unskip assorted GPU tests and fix two ROCm arch skips (#197340)PyTorch Core
  2. Current AssessmentPyTorch 持续投入 ROCm 测试基础设施,说明 AMD GPU 在训练与推理框架中的一等公民地位在增强,但清理跳过标记本身也暴露此前存在大量「因架构差异而静默跳过」的测试盲区。判断:ROCm 生态的成熟度瓶颈正从算子覆盖转向跨架构数值一致性。可验证下一信号:ROCm 相关跳过标记总数在后续版本中的净变化,以及 gfx942/gfx950 是否进入官方 CI 的必过矩阵。Agent Pulse · analysis
What Changed

PyTorch 的 viable/strict/1789642231 分支合并 PR #197340,集中清理 ROCm 相关的测试跳过标记。被移除的跳过包括:五个不使用 RPC 的 ShardedTensor 测试(该跳过是 #152583 引入 RPC 测试时被顺带带入)、test_float8_scale_result、仅涉及 FakeTensorMode 而不含 CUTLASS 内核的半结构化 cutlass_mm functionalization 分解测试、test_torchinductor 中的 test_var_mean 与 test_cpu_scalar_with_gpu_tensor_cpp,以及 test_pp_fsdp_unshard_reshard_runtime 中使测试空过的 ROCm 提前返回。test_scaled_mm_v2_fullgraph 取消 ROCm 跳过并改用 e4m3_type 构建输入,因为 gfx942 仅支持 fnuz fp8 类型,硬编码 float8_e4m3fn 会触发 HIPBLAS_STATUS_NOT_SUPPORTED。此外修正两处跳过:test_addmm_relu_tunableop 不再在 MI350 上跳过 float64;test_svd_lowrank 的 complex128 跳过原为 MI200 专属,但 gfx942 与 gfx950 上 GPU 用例同样不收敛。

How the Capability Boundary Shifted

这批改动反映 ROCm 后端测试矩阵的维护方式从「按架构一刀切跳过」转向「按实际失败条件精确标注」。e4m3_type 与硬编码 float8_e4m3fn 的差异说明 fp8 类型选择在 gfx942 上直接决定算子可用性,属于可复现的硬件能力边界。判断:ROCm 的 fp8 支持仍存在架构间语义不一致,跨架构代码应通过类型抽象而非硬编码 dtype。可验证下一信号:后续 PR 是否将 e4m3_type 模式推广到其他 fp8 测试,或为 gfx942 增加 fnuz 类型映射层。

Why It Matters

PyTorch 持续投入 ROCm 测试基础设施,说明 AMD GPU 在训练与推理框架中的一等公民地位在增强,但清理跳过标记本身也暴露此前存在大量「因架构差异而静默跳过」的测试盲区。判断:ROCm 生态的成熟度瓶颈正从算子覆盖转向跨架构数值一致性。可验证下一信号:ROCm 相关跳过标记总数在后续版本中的净变化,以及 gfx942/gfx950 是否进入官方 CI 的必过矩阵。

Who It Affects

对使用 AMD GPU 做训练或推理的团队,这条更新意味着部分此前被跳过的测试路径重新进入验证范围,尤其是 fp8 与 SVD 相关算子。判断:在 gfx942 上部署 fp8 工作负载的团队应检查是否硬编码了 float8_e4m3fn,改用框架提供的类型抽象可避免 HIPBLAS_STATUS_NOT_SUPPORTED。可验证下一信号:自身代码库中是否存在硬编码 fp8 dtype,以及升级 PyTorch 后相关测试是否通过。

What to Watch Next

若 e4m3_type 这类类型抽象被系统性采用,ROCm 上的 fp8 测试覆盖率会上升,gfx942 与 gfx950 的数值差异将更早暴露。反之,若跳过标记继续以架构为单位累积,ROCm 与 CUDA 的测试可信度差距可能扩大。可验证下一信号:下一季度 PyTorch release notes 中 ROCm 跳过项是净减少还是净增加。