Skip to content

[ROCm] Skip TF32 dot algorithm tests on Navi/RDNA GPUs#783

Open
srinivamd wants to merge 1 commit into
rocm-jaxlib-v0.9.1from
fix/ROCM-25363-skip-tf32-rdna4
Open

[ROCm] Skip TF32 dot algorithm tests on Navi/RDNA GPUs#783
srinivamd wants to merge 1 commit into
rocm-jaxlib-v0.9.1from
fix/ROCM-25363-skip-tf32-rdna4

Conversation

@srinivamd

@srinivamd srinivamd commented Jun 1, 2026

Copy link
Copy Markdown

Summary

Cherry-pick the Navi/RDNA TF32 skip guard from rocm-jaxlib-v0.8.2 to rocm-jaxlib-v0.9.1.

  • Skip TF32_TF32_F32 and TF32_TF32_F32_X3 dot algorithm tests on Radeon/RDNA GPUs
  • TF32 is only supported on CDNA GPUs (MI100+/gfx9) via MFMA instructions; RDNA GPUs lack this hardware
  • The test was being skipped on v0.8.2 but fails on v0.9.1 due to upstream jax-ml/jax#34534 changing the skip guard to CUDA-only

Root Cause

Upstream PR jax-ml/jax#34534 (merged 2026-02-11 by magaonka-amd) changed the TF32 skip logic from:

if not jtu.is_cuda_compute_capability_at_least("8.0"):

to:

if jtu.test_device_matches(["cuda"]) and not jtu.is_cuda_compute_capability_at_least("8.0"):

This correctly enables TF32 tests on ROCm CDNA GPUs (MI100+) but also unblocks them on RDNA GPUs (Navi/Radeon) where XLA's gfx9_mi100_or_later() gate correctly returns UNIMPLEMENTED.

The rocm-jaxlib-v0.8.2 branch had a supplementary skip block (via ROCm/jax#635) that checked "Radeon" in device_kind to skip TF32 on RDNA GPUs. This was never upstreamed or cherry-picked to v0.9.1.

Test plan

  • Run tests/lax_test.py::LaxTest::testDotAlgorithm13 on Navi4x/gfx1201 — should now be SKIPPED instead of FAILED
  • Run full testDotAlgorithm suite on MI300X/gfx942 — TF32 tests should still PASS
  • Run full testDotAlgorithm suite on Navi4x — non-TF32 tests should still pass, TF32 variants skipped

Fixes: ROCM-25363

TF32 (TensorFloat-32) is only supported on CDNA GPUs (MI100+/gfx9)
via MFMA instructions. RDNA GPUs (Navi/Radeon) lack this hardware.

Upstream PR jax-ml#34534 changed the skip guard from unconditional
to CUDA-only, which correctly enables TF32 tests on CDNA but also
unblocks them on RDNA where XLA raises UNIMPLEMENTED.

Cherry-pick the Navi/RDNA TF32 skip from rocm-jaxlib-v0.8.2 to
skip TF32_TF32_F32 and TF32_TF32_F32_X3 on Radeon devices.

Fixes: ROCM-25363
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants