Skip to content

ci: deselect PGLE/FDO profiling tests on ROCm (ROCM-25581)#788

Open
srinivamd wants to merge 1 commit into
rocm-jaxlib-v0.9.1from
fix/deselect-pgle-tests-rocm25581
Open

ci: deselect PGLE/FDO profiling tests on ROCm (ROCM-25581)#788
srinivamd wants to merge 1 commit into
rocm-jaxlib-v0.9.1from
fix/deselect-pgle-tests-rocm25581

Conversation

@srinivamd

@srinivamd srinivamd commented Jun 3, 2026

Copy link
Copy Markdown

Summary

Deselects 5 failing PGLE/FDO profiling tests from the ROCm CI runner. These tests have never passed on any ROCm GPU.

Fixes ROCM-25581

Problem

tests/pgle_test.py PGLE tests fail on all ROCm GPUs because:

  1. gfx120X (RDNA4): rocm-systems PR #307 (merged 2025-09-22) removed Navi4x support from rocprofiler v2. XLA's ROCm profiler backend (device_tracer_rocm.cc) still uses the legacy roctracer/v2 API — every HIP API callback is dropped with "No capturing function was found" (28,746 dropped callbacks in the CI log), producing empty FDO profiles.

  2. gfx94X/gfx950 (CDNA): Even where roctracer v2 works, the ROCm collector (rocm_collector.cc) doesn't produce CUPTI-equivalent XPlane annotations. ConvertXplaneToProfiledInstructionsProto fails to extract custom kernel cost entries → FDO profiles are empty or missing expected kernel names.

These tests were already deselected in ROCm/rocm-jax-internal ci/pytest_skips.ini (commit b0cd9da7, 2025-09-26) for ROCM-24266, but run_pytest_rocm.sh does not consume that skip file.

Fix

Add --deselect entries for the 5 failing tests to both the single-accelerator and multi-accelerator pytest invocations in ci/run_pytest_rocm.sh, matching the existing pattern for other known-failing tests.

Tests deselected

Test Failure
PgleTest::testAutoPgle RuntimeWarning: PGLE collected an empty trace
PgleTest::testAutoPgleWithCommandBuffers0 Same
PgleTest::testAutoPgleWithCommandBuffers1 Same
PgleTest::testAutoPgleWithPersistentCache Same
PgleTest::testPGLEProfilerGetFDOProfile AssertionError: b'custom' not found

Long-term fix

Port XLA's device_tracer_rocm.cc from roctracer v1/v2 to rocprofiler-sdk v3. This is a prerequisite for PGLE/FDO to work on any ROCm GPU and is mandatory for gfx120X where v2 was removed.

Related

  • ROCM-25581 — gfx120X PGLE test failures (this PR)
  • ROCM-24266 — same failures on gfx94X/gfx950 (resolved by skips in rocm-jax-internal)
  • ROCM-24925 — superset JAX UT failures including PGLE
  • rocm-systems PR #307 — removed gfx120X from rocprofiler v2

PGLE/FDO profiling has never worked on any ROCm GPU. The XLA ROCm
profiling backend (device_tracer_rocm.cc) uses the legacy roctracer v2
API which was deliberately removed for gfx120X (rocm-systems PR #307).
Even on gfx94X where v2 still works, the ROCm collector does not
produce CUPTI-equivalent XPlane annotations needed by
ConvertXplaneToProfiledInstructionsProto.

These 5 tests were already deselected in ROCm/rocm-jax-internal
ci/pytest_skips.ini (commit b0cd9da7, 2025-09-26) but that skip file
is not applied by the run_pytest_rocm.sh CI runner.

Fixes: ROCM-25581
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.

1 participant