Skip to content

[release/2.13] Unskip ROCSHMEM triton UTs on rocm 7.14 - #3578

Merged
pragupta merged 2 commits into
release/2.13from
cdk-unskip-rocshmem-triton-ut-714
Aug 19, 2026
Merged

pragupta merged 2 commits into
release/2.13from
cdk-unskip-rocshmem-triton-ut-714

Conversation

@chinmaydk99

@chinmaydk99 chinmaydk99 commented Aug 18, 2026

Copy link
Copy Markdown
  • ROCm/pytorch#3525 ([release/2.13] Stabilize ROCm 7.14 testing on release/2.13) added a module-level sys.exit(0) in test/distributed/test_shmem_triton.py for ROCM_VERSION >= (7, 14).

  • This PR does two things:

    1. Unskip that 7.14 sys.exit(0). Keep the existing capability skip when the SHMEM backend is unavailable.
    2. Take the finder hunk from upstream commit 4a31e29 ([ROCm][CI] Fix trunk rocSHMEM and CK failures, from pytorch/pytorch#188429): search $ROCM_PATH/lib when ROCM_PATH is set, else /opt/rocm/lib.
  • We did not take the rest of 4a31e29. That commit also adds @skipIfRocmVersionAtLeast([7, 14]) on test/inductor/test_ck_backend.py. That CK skip is already on release/2.13 and is unrelated to this UT. Full cherry-pick -x of 4a31e29 would just restage it. We also did not backport the rest of [ROCm][CI] Switch rocm-preview to TheRock wheels and upgrade CI to 7.14 pytorch/pytorch#188429 (TheRock CI/docker switch).

Test plan

distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_barrier PASSED [13.5964s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_fence PASSED [2.5392s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_get_nbi_False PASSED [1.3613s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_get_nbi_True PASSED [1.4139s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_get_ring PASSED [1.7522s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_put PASSED [1.6263s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_put_signal_add PASSED [1.5214s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_put_signal_set PASSED [1.5903s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_quiet PASSED [1.5085s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_signal_wait_until PASSED [0.0122s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_sync PASSED [1.5976s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_wait_until PASSED [1.2603s]

======================= 12 passed, 25 skipped in 32.21s ========================
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_barrier PASSED [8.2912s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_fence PASSED [1.2513s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_get_nbi_False PASSED [1.0780s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_get_nbi_True PASSED [1.0367s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_get_ring PASSED [1.1043s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_put PASSED [0.9847s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_put_signal_add PASSED [1.1261s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_put_signal_set PASSED [1.1993s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_quiet PASSED [1.1537s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_signal_wait_until PASSED [0.0080s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_sync PASSED [1.2694s]
distributed/test_shmem_triton.py::SHMEMTritonTest::test_triton_wait_until PASSED [1.0119s]

======================= 12 passed, 25 skipped in 22.50s ========================
  • Confirm the 12 Triton cases actually run (not a finder crash, not a module-level skip). Multiprocess alltoall/broadcast/reduces stay @skip_if_rocm_multiprocess.

The module-level sys.exit(0) from #3525 hid a device-library finder
path bug rather than a Triton functional failure. Remove it so the
tests collect. Keep the capability skip when the SHMEM backend is
unavailable.
Honor ROCM_PATH when locating rocSHMEM Triton device bitcode.

(cherry picked from commit 4a31e29)

The test/inductor/test_ck_backend.py hunk from that commit is omitted.
@chinmaydk99
chinmaydk99 marked this pull request as ready for review August 19, 2026 00:35
@pragupta
pragupta merged commit e0e449e into release/2.13 Aug 19, 2026
3 checks passed
@pragupta
pragupta deleted the cdk-unskip-rocshmem-triton-ut-714 branch August 19, 2026 15:08
jithunnair-amd pushed a commit that referenced this pull request Aug 25, 2026
…l) (#3594)

## Summary

Carry-forward of ROCm-specific commits from `release/2.13` onto
`release/2.14` ? the 2.14 analog of the 2.13 "IFU dedup" ([PR
#3503](#3503)).

Analyzes the full IFU delta from [PR
#3591](#3591) at `release/2.13`'s
tip (`6596a0d`): **81 commits** in `release/2.13` not in `release/2.14`,
each either dropped (already in 2.14, or 2.13-only) or cherry-picked
here.

## Method

Same rules as the [release/2.13 cherry-pick
process](https://amd.atlassian.net/wiki/spaces/MLSE/pages/1819593560):

- **Drop ? already in 2.14**: patch-id equivalence (`git cherry`),
upstream PR already present, or content already relocated/absorbed into
2.14 (verified during cherry-pick).
- **Drop ? 2.13-only**: version bump, `related_commits`,
dependency/requirements pins, release-line CD/build changes.
- **Carry-forward**: ROCm-specific fixes not present in 2.14 in any
form.

## Commits carried forward (13)

| Source | Notes |
|--------|-------|
| Fix reentrant deadlock in `torch.cuda._lazy_call` (#3496) | clean |
| Skip ROCm-failing tests in test_cuda/test_nn (#3504) | **conflict
resolved** ? kept 2.14's `test_graph_capture_error...` cleanup + took
`@skipIfRocm`; kept 2.14's `test_allocator_backend` (already fixes
LD_LIBRARY_PATH via `subprocess_env()`) |
| skip test_hip_device_count (rocprofiler-sdk) | clean |
| skip flaky test_Embedding_discontiguous_cuda | clean |
| Skip profiler check for foreach tests on ROCm (#3262) | clean |
| Skip test_is_pinned_no_context on python 3.14+ | clean |
| Skip flaky test_reentrant_parent_error_on_cpu | clean |
| Filter out CK gemms for gfx1250-only arch (#3545) | clean |
| Fix hipify skipping sources under Windows subst drives (ROCM-29365)
(#3561) | clean |
| Fixed gfx1250_preferred_backend test (#3546) | clean |
| [ROCm] Optimize AMD normalization backward kernel (pytorch#189405) | clean |
| [release/2.13] Build rocSHMEM for the requested gfx target (#3582) |
clean |
| fix PicklingError handling for Python 3.14 | clean |

## Removed from this PR (per team)

- [RELEASE_ONLY] skip test_autoheuristic in-code (pytorch#180927) ? not needed
on 2.14. Upstream
[pytorch#180927](pytorch#180927)
is `RELEASE_ONLY`, merged to upstream `release/2.12` only (never on
`main` or upstream `release/2.14`).

## Reviewed and excluded (team decision: not needed for 2.14)

| Commit | Reason |
|--------|--------|
| Update composable_kernel submodule with gfx1033 support (#3499) |
2.14's CK pin already includes gfx1033; carrying would move the
submodule pointer **backward**. |
| Revert "Skip cudagraphs for kernel-free inductor graphs" (pytorch#187347) |
2.14 already has the fixed upstream **re-land** on top of the revert;
carrying = regressing 2.14. |
| Revert "[Reland] Port index_add fast path" (pytorch#188196) | 2.14 already
has the newer **re-land (pytorch#189506)** on top of the revert; carrying =
regressing 2.14. |

## Dropped as already in 2.14 (verified during cherry-pick)

- rocm-smi deprecation (#3434) ? 2.14 already has zero `rocm_smi` refs.
- Enable linalg via hipSOLVER, remove Magma (#3455) ? all 6 upstream PRs
already in 2.14.
- Stabilize ROCm 7.14 testing (#3525) ? 2.14 already carries the guards
+ skip messages.
- Add gfx1250 support in GroupedBlas (#3532) ? already in 2.14 via
upstream pytorch#190703 (`ScaledBlasDeviceUtils`).
- Fix uninitialized embedding indices `test_embedding_meta_indices`
(pytorch#188002) ? upstream already in 2.14.
- Unskip ROCSHMEM triton UTs on rocm 7.14 (#3578) ? targets a 2.13-only
7.14 module skip that 2.14 never had; tests already run on 2.14.

Remaining commits drop as 2.13-only (version/pins/related_commits/CD) or
as already-in-2.14 by patch-id/upstream.

## Test plan

- [x] TheRock full-stack dev build (torch + torchaudio + torchvision +
triton) on gfx94X-dcgpu for Python 3.10-3.14, all **Build** jobs green
(ROCm `10.1.0a20260822`, on the `aws-linux-scale-rocm-prod` pool), after
bringing the branch up to its base so `related_commits` resolves
torchaudio/torchvision:
  - py3.10  https://github.com/ROCm/TheRock/actions/runs/32863299013
  - py3.11  https://github.com/ROCm/TheRock/actions/runs/32863305363
  - py3.12  https://github.com/ROCm/TheRock/actions/runs/32863311391
  - py3.13  https://github.com/ROCm/TheRock/actions/runs/32863318109
  - py3.14  https://github.com/ROCm/TheRock/actions/runs/32863325370
- [x] TheRock CI wheel build on gfx94X-dcgpu for Python 3.10-3.14 all
green (ROCm `10.1.0a20260822`, torch-only, on the
`aws-linux-scale-rocm-prod` pool, ~1h40m each):
  - py3.10  https://github.com/ROCm/TheRock/actions/runs/32818564344
  - py3.11  https://github.com/ROCm/TheRock/actions/runs/32818568751
  - py3.12  https://github.com/ROCm/TheRock/actions/runs/32818572249
  - py3.13  https://github.com/ROCm/TheRock/actions/runs/32818576288
  - py3.14  https://github.com/ROCm/TheRock/actions/runs/32818580229



## Processed Commits List
Spreasheet with each commit evaluated for cherry-pick & resolution
(drop/include) with reasoning:


[pr3594-commit-outcomes.xlsx](https://github.com/user-attachments/files/31390971/pr3594-commit-outcomes.xlsx)

---------

Signed-off-by: pablo-garay <pablo-garay@users.noreply.github.com>
Co-authored-by: Iurii Paikov <Iurii.Paikov@amd.com>
Co-authored-by: Chinmay Dattanand Kuchinad <40351312+chinmaydk99@users.noreply.github.com>
Co-authored-by: rocm-repo-management-api-6[bot] <212817015+rocm-repo-management-api-6[bot]@users.noreply.github.com>
Co-authored-by: Dmitry Nikolaev <139769634+dnikolaev-amd@users.noreply.github.com>
Co-authored-by: srinivamd <52507740+srinivamd@users.noreply.github.com>
Co-authored-by: Subramanian <ssubrama1@amd.com>
Co-authored-by: zjliu-amd <zhuojin.liu@amd.com>
Co-authored-by: Andres Lugo <108368282+alugorey@users.noreply.github.com>
Co-authored-by: pablo-garay <pablo-garay@users.noreply.github.com>
Co-authored-by: Bo Li <110066325+BLOrange-AMD@users.noreply.github.com>
Co-authored-by: Anatoliy Litvinenko <alitvine@amd.com>
Co-authored-by: Jeff Daily <jeff.daily@amd.com>
Co-authored-by: Luca Bruni <luca.bruni@amd.com>
Co-authored-by: albmalamd <albert.malewski@amd.com>
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