Skip to content

[release/2.15] Add related_commits for dependencies - #3816

Merged
jithunnair-amd merged 2 commits into
release/2.15from
pablo-garay/release-2.15-related-commits
Oct 16, 2026
Merged

jithunnair-amd merged 2 commits into
release/2.15from
pablo-garay/release-2.15-related-commits

Conversation

@pablo-garay

@pablo-garay pablo-garay commented Oct 14, 2026 •

Copy link
Copy Markdown

Summary

Bringup step for release/2.15: add related_commits pinning the ROCm dependency builds.

Same layout as the release/2.14 related_commits (#3573). Tracking: AIPYTORCH-1326

Validation

https://github.com/ROCm/TheRock/actions/runs/38658613201

Signed-off-by: pablo-garay <pgarayfe@amd.com>
…ROCm support

Also use LF line endings, matching release/2.14.

Signed-off-by: pablo-garay <pgarayfe@amd.com>
@jithunnair-amd
jithunnair-amd merged commit 02ee33e into release/2.15 Oct 16, 2026
1 check passed
@jithunnair-amd
jithunnair-amd deleted the pablo-garay/release-2.15-related-commits branch October 16, 2026 04:31
jithunnair-amd pushed a commit that referenced this pull request Oct 16, 2026
## Summary

Pin Python dependencies for the `release/2.15` bringup so CI and builds
are reproducible, and make everything resolve cleanly on Python **3.10 /
3.11 / 3.12 / 3.13 / 3.14 / 3.15**. Mirrors the 2.14 bringup (#3574),
plus the 3.15 handling that is new in this release.

Three commits, one per file:

- `requirements.txt`: pin all direct dev/install deps (with
`python_version` splits for `filelock`, `hypothesis` and `networkx`).
- `requirements-build.txt`: pin all build-system deps (with a
`python_version` split for `numpy`).
- `.ci/docker/requirements-ci.txt`: pin the previously-loose entries
(`click`, `psutil`, `pytest-rerunfailures`, `unittest-xml-reporting`,
`redis`, `pyzstd` split, `six`, `cuda-bindings`, `cupti-python`, `tqdm`,
`uv`, `librosa`) and add `python_version` conditionals for 3.14/3.15.

## Per-version splits (dev/build)

- **numpy** (build): `2.2.6` (<3.11), `2.4.6` (==3.11), `2.5.4`
(>=3.12).
- **networkx** (dev): `3.4.2` (<3.11), `3.6.1` (==3.11), `3.7` (>=3.12).
- **filelock** (dev): `4.1.0` (<3.11), `4.2.0` (>=3.11).
- **hypothesis** (dev): `6.168.5` (<3.11), `6.169.2` (>=3.11).

Every other dev/build dep resolved identically across 3.10-3.15, so
those are flat-pinned.

## 3.14 / 3.15 conditionals in requirements-ci.txt

Restored from 2.14 (lost in the 2.15 branch):

- **pywavelets**: `1.9.0` for 3.14 (1.7.0 has no cp314 wheel).
- **fbscribelogger**: guarded to `< 3.14` (its `thriftpy2` dep has no
cp314/cp315 wheel and would source-build in the compiler-less test
image).

New for 3.15 (earliest release with a cp315 wheel):

- **numpy** `2.5.2` (the existing `2.4.6` pin for 3.15 has no cp315
wheel), **pandas** `3.0.6`, **optree** `0.20.0`, **pywavelets**
`1.10.0`, **aiohttp** `3.14.4`.
- **scikit-image**: skipped on 3.15 (no release ships a cp315 wheel
yet).

## How versions were resolved

Per the documented process: installed each requirements file in a fresh
venv inside an `ubuntu:24.04` container with no C compiler (deadsnakes
for the non-native Python versions) and pinned the `pip freeze` output.
All three files install on **3.10-3.15** with `pip check` clean and no
new compiler-dependent source builds (only the pre-existing pure-Python
`pwlf` and `coremltools` sdists, plus `pyyaml` on 3.15, which builds
without its optional C extension).

## Test plan

TheRock CI `multi_arch_build_portable_linux_pytorch_wheels.yml`
(gfx94X-dcgpu, ROCm 10.2.0a20261013, `pytorch_git_ref` =
`pablo-garay/release-2.15-integration`, which is this PR plus the
related_commits from #3816):

- [x] Python 3.11: build passed, [run
38705512288](https://github.com/ROCm/TheRock/actions/runs/38705512288)
- [x] Python 3.12: build passed, [run
38705525582](https://github.com/ROCm/TheRock/actions/runs/38705525582)
- [x] Python 3.13: build passed, [run
38705535781](https://github.com/ROCm/TheRock/actions/runs/38705535781)
- [x] Python 3.14: build passed, [run
38705545732](https://github.com/ROCm/TheRock/actions/runs/38705545732)
- Python 3.10: n/a. Triton 3.9 requires Python >=3.11, and TheRock
dropped 3.10 release builds in ROCm/TheRock#8396 ([run
38705500960](https://github.com/ROCm/TheRock/actions/runs/38705500960)
fails installing the triton wheel).
- Python 3.15: n/a until ROCm/TheRock#8394 adds 3.15 to the build image
([run
38705556076](https://github.com/ROCm/TheRock/actions/runs/38705556076)
fails at setup: `Could not find python: /opt/python/cp315-cp315`). The
3.15 pins were validated by the container install above.

---------

Signed-off-by: pablo-garay <pgarayfe@amd.com>
ethanwee1 pushed a commit to ROCm/TheRock that referenced this pull request Oct 16, 2026
JIRA ID: AIPYTORCH-1326

## Motivation

PyTorch `release/2.15` exists in ROCm/pytorch but is absent from
TheRock's release matrices and source manifests, so nightly, prerelease
and dev release builds never pick it up. This follows the 2.14
enablement in #7525.

## Technical Details

- Add `release/2.15` to the Linux and Windows release matrices
(`RELEASE_STABLE_PYTORCH_REFS`), the unsupported AMDGPU family filters
(`gfx90c`, same as 2.13/2.14), `PYTORCH_PRIMARY_TEST_PYTHON_VERSIONS`
(`3.11`), the source manifest defaults, and the support table in
`external-builds/pytorch/README.md`. The README row points torchaudio at
ROCm/audio, since 2.15's `related_commits` pins ROCm/audio
`release/2.11.1`.
- CI defaults (`CI_PYTORCH_REFS`) are unchanged.
- Python 3.15 for 2.15 is left to #8394.

Merge order: these ROCm/pytorch `release/2.15` PRs should land first, so
scheduled builds of the branch pick them up:

- ROCm/pytorch#3816 (`related_commits`: apex `release/1.15.0`, vision
`release/0.29`, ROCm/audio `release/2.11.1`)
- ROCm/pytorch#3818 (requirements pins)
- ROCm/pytorch#3832 (Windows hipify fix for subst drives, backport of
ROCm/pytorch#3561 from `release/2.14`)

## Test Plan

- `python
build_tools/github_actions/tests/configure_pytorch_release_matrix_test.py`
- `python
build_tools/github_actions/tests/configure_multi_arch_ci_test.py`
- `python
build_tools/github_actions/tests/generate_pytorch_source_manifest_test.py`
- `git diff --check`
- Wheel builds of `pablo-garay/release-2.15-integration` (`release/2.15`
+ ROCm/pytorch#3816 + ROCm/pytorch#3818 + ROCm/pytorch#3832),
gfx94X-dcgpu on Linux, gfx1151 on Windows, ROCm 10.2.0a20261013.

## Test Result

- Unit tests: 10 passed; 152 passed, 1 skipped; 13 passed, 1 skipped.
`git diff --check` clean.
- Linux builds passed on Python
[3.11](https://github.com/ROCm/TheRock/actions/runs/38705512288),
[3.12](https://github.com/ROCm/TheRock/actions/runs/38705525582),
[3.13](https://github.com/ROCm/TheRock/actions/runs/38705535781) and
[3.14](https://github.com/ROCm/TheRock/actions/runs/38705545732).
- Windows Python 3.12 build passed: [run
38848244359](https://github.com/ROCm/TheRock/actions/runs/38848244359).
The earlier [run
38716492477](https://github.com/ROCm/TheRock/actions/runs/38716492477),
without ROCm/pytorch#3832, failed building torchaudio.

## Submission Checklist

- [x] Look over the contributing guidelines at
https://github.com/ROCm/TheRock/blob/main/CONTRIBUTING.md.

---------

Signed-off-by: pablo-garay <pgarayfe@amd.com>
jeffdaily pushed a commit that referenced this pull request Oct 20, 2026
… libomp140 (#3836)

Cherry-picks the two upstream Windows ROCm wheel DLL install fixes onto
`release/2.15` (scikit-build-core backend): `aotriton_v2.dll` +
`liblzma.dll` (pytorch#200931) and `libomp140.x86_64.dll`
(pytorch#191629). Without them, once TheRock's temporary
force-includes are removed the DLLs drop out of the wheel and `import
torch` fails with WinError 126.

The aotriton/liblzma install uses `OPTIONAL` so the existence check runs
at install time, because aotriton's ExternalProject only generates those
DLLs during the build.

### Validation
Branch merged with current `release/2.15` (now includes
`related_commits` from #3816). Windows ROCm wheel build
(gfx1100, py3.12) on this head (`a119523c5bc`) with ROCm/TheRock#9360,
which passes no force-include flags, so every DLL can only ship via
CMake install: https://github.com/ROCm/TheRock/actions/runs/39287495719.
Build and the `import torch` sanity check passed.

Related PR:
- pytorch#191629: install `libomp140.x86_64.dll` via CMake
- pytorch#200931: install `aotriton_v2.dll` + `liblzma.dll` via
CMake
- ROCm/TheRock#9055: drop the `_rocm_init.py` wheel force-include
- ROCm/TheRock#9058: drop the `aotriton_v2.dll` + `liblzma.dll` wheel
force-includes
- ROCm/TheRock#9360: drop the `libomp140.x86_64.dll` wheel force-include
- #3835: release/2.14 cherry-pick of pytorch#191629
+ pytorch#200931
- #3836: release/2.15 cherry-pick of pytorch#191629
+ pytorch#200931 (this PR)
- Issue: ROCm/TheRock#6965

Tracked in AIPYTORCH-1516.
jithunnair-amd pushed a commit that referenced this pull request Nov 4, 2026
## Summary

Bringup step for `release/2.15`: add `related_commits` pinning the ROCm
dependency builds.

- apex: new `ROCm/apex` `release/1.15.0` (cut from master, version
1.15.0)
- torchvision: upstream `pytorch/vision` `release/0.29`
- torchaudio: new `ROCm/audio` `release/2.11.1`: upstream
`pytorch/audio` `release/2.11.1` plus the ROCm build support from
`release/2.11.0.3` and the ROCm version check (ROCm/audio#21)

Same layout as the `release/2.14` `related_commits` (#3573). Tracking:
AIPYTORCH-1326

---------

Signed-off-by: pablo-garay <pgarayfe@amd.com>
jithunnair-amd pushed a commit that referenced this pull request Nov 4, 2026
## Summary

Pin Python dependencies for the `release/2.15` bringup so CI and builds
are reproducible, and make everything resolve cleanly on Python **3.10 /
3.11 / 3.12 / 3.13 / 3.14 / 3.15**. Mirrors the 2.14 bringup (#3574),
plus the 3.15 handling that is new in this release.

Three commits, one per file:

- `requirements.txt`: pin all direct dev/install deps (with
`python_version` splits for `filelock`, `hypothesis` and `networkx`).
- `requirements-build.txt`: pin all build-system deps (with a
`python_version` split for `numpy`).
- `.ci/docker/requirements-ci.txt`: pin the previously-loose entries
(`click`, `psutil`, `pytest-rerunfailures`, `unittest-xml-reporting`,
`redis`, `pyzstd` split, `six`, `cuda-bindings`, `cupti-python`, `tqdm`,
`uv`, `librosa`) and add `python_version` conditionals for 3.14/3.15.

## Per-version splits (dev/build)

- **numpy** (build): `2.2.6` (<3.11), `2.4.6` (==3.11), `2.5.4`
(>=3.12).
- **networkx** (dev): `3.4.2` (<3.11), `3.6.1` (==3.11), `3.7` (>=3.12).
- **filelock** (dev): `4.1.0` (<3.11), `4.2.0` (>=3.11).
- **hypothesis** (dev): `6.168.5` (<3.11), `6.169.2` (>=3.11).

Every other dev/build dep resolved identically across 3.10-3.15, so
those are flat-pinned.

## 3.14 / 3.15 conditionals in requirements-ci.txt

Restored from 2.14 (lost in the 2.15 branch):

- **pywavelets**: `1.9.0` for 3.14 (1.7.0 has no cp314 wheel).
- **fbscribelogger**: guarded to `< 3.14` (its `thriftpy2` dep has no
cp314/cp315 wheel and would source-build in the compiler-less test
image).

New for 3.15 (earliest release with a cp315 wheel):

- **numpy** `2.5.2` (the existing `2.4.6` pin for 3.15 has no cp315
wheel), **pandas** `3.0.6`, **optree** `0.20.0`, **pywavelets**
`1.10.0`, **aiohttp** `3.14.4`.
- **scikit-image**: skipped on 3.15 (no release ships a cp315 wheel
yet).

## How versions were resolved

Per the documented process: installed each requirements file in a fresh
venv inside an `ubuntu:24.04` container with no C compiler (deadsnakes
for the non-native Python versions) and pinned the `pip freeze` output.
All three files install on **3.10-3.15** with `pip check` clean and no
new compiler-dependent source builds (only the pre-existing pure-Python
`pwlf` and `coremltools` sdists, plus `pyyaml` on 3.15, which builds
without its optional C extension).

## Test plan

TheRock CI `multi_arch_build_portable_linux_pytorch_wheels.yml`
(gfx94X-dcgpu, ROCm 10.2.0a20261013, `pytorch_git_ref` =
`pablo-garay/release-2.15-integration`, which is this PR plus the
related_commits from #3816):

- [x] Python 3.11: build passed, [run
38705512288](https://github.com/ROCm/TheRock/actions/runs/38705512288)
- [x] Python 3.12: build passed, [run
38705525582](https://github.com/ROCm/TheRock/actions/runs/38705525582)
- [x] Python 3.13: build passed, [run
38705535781](https://github.com/ROCm/TheRock/actions/runs/38705535781)
- [x] Python 3.14: build passed, [run
38705545732](https://github.com/ROCm/TheRock/actions/runs/38705545732)
- Python 3.10: n/a. Triton 3.9 requires Python >=3.11, and TheRock
dropped 3.10 release builds in ROCm/TheRock#8396 ([run
38705500960](https://github.com/ROCm/TheRock/actions/runs/38705500960)
fails installing the triton wheel).
- Python 3.15: n/a until ROCm/TheRock#8394 adds 3.15 to the build image
([run
38705556076](https://github.com/ROCm/TheRock/actions/runs/38705556076)
fails at setup: `Could not find python: /opt/python/cp315-cp315`). The
3.15 pins were validated by the container install above.

---------

Signed-off-by: pablo-garay <pgarayfe@amd.com>
jithunnair-amd pushed a commit that referenced this pull request Nov 4, 2026
… libomp140 (#3836)

Cherry-picks the two upstream Windows ROCm wheel DLL install fixes onto
`release/2.15` (scikit-build-core backend): `aotriton_v2.dll` +
`liblzma.dll` (pytorch#200931) and `libomp140.x86_64.dll`
(pytorch#191629). Without them, once TheRock's temporary
force-includes are removed the DLLs drop out of the wheel and `import
torch` fails with WinError 126.

The aotriton/liblzma install uses `OPTIONAL` so the existence check runs
at install time, because aotriton's ExternalProject only generates those
DLLs during the build.

### Validation
Branch merged with current `release/2.15` (now includes
`related_commits` from #3816). Windows ROCm wheel build
(gfx1100, py3.12) on this head (`a119523c5bc`) with ROCm/TheRock#9360,
which passes no force-include flags, so every DLL can only ship via
CMake install: https://github.com/ROCm/TheRock/actions/runs/39287495719.
Build and the `import torch` sanity check passed.

Related PR:
- pytorch#191629: install `libomp140.x86_64.dll` via CMake
- pytorch#200931: install `aotriton_v2.dll` + `liblzma.dll` via
CMake
- ROCm/TheRock#9055: drop the `_rocm_init.py` wheel force-include
- ROCm/TheRock#9058: drop the `aotriton_v2.dll` + `liblzma.dll` wheel
force-includes
- ROCm/TheRock#9360: drop the `libomp140.x86_64.dll` wheel force-include
- #3835: release/2.14 cherry-pick of pytorch#191629
+ pytorch#200931
- #3836: release/2.15 cherry-pick of pytorch#191629
+ pytorch#200931 (this PR)
- Issue: ROCm/TheRock#6965

Tracked in AIPYTORCH-1516.
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