feat: Add JAX release support v0.10.0#6054
Conversation
✅ All Policy Checks Passed
📖 Need help? See the Policy FAQ for details on every check and how to fix failures. |
|
🎉 All checks passed! This PR is ready for review. |
There was a problem hiding this comment.
It would be great if we could move to wheels instead of tarballs and environment variable testing. Unit testing with theRock wheels without any environment variables also allows us to surface packaging issues if there are any. That is how we caught previous packaging issues. This way theRock CI not only tests libraries and systems bugs, it will also test the actual packaging
|
Latest Test: https://github.com/ROCm/rockrel/actions/runs/28196469890 (In Progress) |
You can also test dev releases here in TheRock: https://github.com/ROCm/TheRock/actions/workflows/multi_arch_release.yml . We'd prefer that - access to rockrel is intentionally limited as workflow runs there have the potential to push to nightly/prerelease buckets. |
ScottTodd
left a comment
There was a problem hiding this comment.
Thanks, looking good now :)
marbre
left a comment
There was a problem hiding this comment.
I think your changes can go in @erman-gurses but make sure to land this coordinated with your PR to rockrel (whcih still pins your own branch!).
I updated already @marbre, please see the PR: ROCm/rockrel#65 |
…orkflow (#65) ## Summary Related PR: ROCm/TheRock#6054 Add `rocm_package_find_links_url` to the rockrel JAX release workflow and forward it to the reusable TheRock JAX build workflow. This allows the JAX manylinux build path to consume ROCm packages from a configurable package index instead of relying on a hardcoded URL. ## Changes * Add `rocm_package_find_links_url` workflow input to `multi_arch_release_linux_jax_wheels.yml` * Forward `rocm_package_find_links_url` to the reusable `multi_arch_build_linux_jax_wheels.yml` workflow * Default the value to the current dev multi-arch package index: * `https://rocm.devreleases.amd.com/whl-multi-arch/` ## Motivation The JAX manylinux build flow now installs ROCm packages from a package index. Passing the package source as an input allows the workflow to support different release channels (dev, nightly, prerelease) without hardcoding a specific index URL in the build workflow. Tests: https://github.com/ROCm/rockrel/actions/runs/28086158341
## Summary ISSUE ID: #3878 Related PR: ROCm/rockrel#65 Extend the JAX multi-arch release workflows to support both `rocm-jaxlib-v0.9.1` and `rocm-jaxlib-v0.10.0` release lines. ## Changes ### Release workflow - Add matrix support for: - `rocm-jaxlib-v0.9.1` - `rocm-jaxlib-v0.10.0` - Add release-line specific metadata: - `jax_repository` - `build_mode` - `gfx_arch` ### Build workflow #### rocm-jaxlib-v0.9.1 - Continue using the existing native build flow. - Build from `ROCm/rocm-jax`. - Continue using `build/ci_build`. #### rocm-jaxlib-v0.10.0 - Build from `ROCm/jax`. - Build a manylinux image using the release branch Dockerfile from `ROCm/rocm-jax`. - Build wheels inside the manylinux container using `build/build.py`. ### Testing On rockrel: https://github.com/ROCm/rockrel/actions/runs/28217952215/job/83613621212 https://github.com/ROCm/rockrel/actions/runs/28224689859 - Preserve existing GPU-family based runner selection through `configure_target_run.py`. - Add a JAX device visibility sanity check before running tests: ```bash python -c "import jax; print(jax.local_devices())" - Verified matrix expansion across Python 3.11–3.14. - Verified native build path for rocm-jaxlib-v0.9.1. - Verified manylinux build path for rocm-jaxlib-v0.10.0. - Verified release artifact publication. - Verified JAX device visibility check executes before tests. TODO: Run JAX builds inside a top-level GitHub Actions job container, similar to existing PyTorch workflows.
## Summary Incremental follow-up to #6054 (JAX 0.10.0 support). Adds the JAX 0.10.2 release to the multi-arch Linux JAX wheel build/test matrix. - Adds `rocm-jaxlib-v0.10.2` to the release matrix, wired identically to 0.10.0 (`ROCm/jax`, `manylinux` build mode, `device-all`). - Uses the **default** XLA allocator (`XLA_PYTHON_CLIENT_ALLOCATOR=default`) for the 0.10.2 test cell only; 0.9.1 and 0.10.0 keep `platform`. - Documents 0.10.2 in the JAX support table. ## Test plan - [ ] `Multi-Arch Release Linux JAX Wheels` 0.10.2 cell builds wheels - [ ] JAX test subset passes with the default allocator I ran full matrix run got all green : https://github.com/ROCm/TheRock/actions/runs/28336527815/job/83947970257
Cherry-picks 3b10211 into the 7.14 release branch. --- ## Summary ISSUE ID: #3878 Related PR: ROCm/rockrel#65 Extend the JAX multi-arch release workflows to support both `rocm-jaxlib-v0.9.1` and `rocm-jaxlib-v0.10.0` release lines. ## Changes ### Release workflow - Add matrix support for: - `rocm-jaxlib-v0.9.1` - `rocm-jaxlib-v0.10.0` - Add release-line specific metadata: - `jax_repository` - `build_mode` - `gfx_arch` ### Build workflow #### rocm-jaxlib-v0.9.1 - Continue using the existing native build flow. - Build from `ROCm/rocm-jax`. - Continue using `build/ci_build`. #### rocm-jaxlib-v0.10.0 - Build from `ROCm/jax`. - Build a manylinux image using the release branch Dockerfile from `ROCm/rocm-jax`. - Build wheels inside the manylinux container using `build/build.py`. ### Testing On rockrel: https://github.com/ROCm/rockrel/actions/runs/28217952215/job/83613621212 https://github.com/ROCm/rockrel/actions/runs/28224689859 - Preserve existing GPU-family based runner selection through `configure_target_run.py`. - Add a JAX device visibility sanity check before running tests: ```bash python -c "import jax; print(jax.local_devices())" - Verified matrix expansion across Python 3.11–3.14. - Verified native build path for rocm-jaxlib-v0.9.1. - Verified manylinux build path for rocm-jaxlib-v0.10.0. - Verified release artifact publication. - Verified JAX device visibility check executes before tests. TODO: Run JAX builds inside a top-level GitHub Actions job container, similar to existing PyTorch workflows. Co-authored-by: erman-gurses <99776114+erman-gurses@users.noreply.github.com>
…orkflow (#65) (#68) Cherry-pick b775c04 into the 7.14 release branch. --- ## Summary Related PR: ROCm/TheRock#6054 Add `rocm_package_find_links_url` to the rockrel JAX release workflow and forward it to the reusable TheRock JAX build workflow. This allows the JAX manylinux build path to consume ROCm packages from a configurable package index instead of relying on a hardcoded URL. ## Changes * Add `rocm_package_find_links_url` workflow input to `multi_arch_release_linux_jax_wheels.yml` * Forward `rocm_package_find_links_url` to the reusable `multi_arch_build_linux_jax_wheels.yml` workflow * Default the value to the current dev multi-arch package index: * `https://rocm.devreleases.amd.com/whl-multi-arch/` ## Motivation The JAX manylinux build flow now installs ROCm packages from a package index. Passing the package source as an input allows the workflow to support different release channels (dev, nightly, prerelease) without hardcoding a specific index URL in the build workflow. Tests: https://github.com/ROCm/rockrel/actions/runs/28086158341 Co-authored-by: erman-gurses <99776114+erman-gurses@users.noreply.github.com>
## Summary Issue ID: #6226 Updated the JAX section in `RELEASES.md` to reflect current supported versions and installation methods. ### Changes - **Multi-arch JAX section**: Added clear installation instructions using the unified index (`https://rocm.nightlies.amd.com/whl-multi-arch/`) with `[device-*]` extras. - Updated supported JAX versions to **0.9.1** and **0.10.0**. - Added note about version pinning (`jax`, `jax_rocm7_plugin`, `jax_rocm7_pjrt`). - Improved consistency with the PyTorch documentation section. - Minor cleanup and better cross-references. ### Related - #6054 (JAX 0.10.0 support) - https://github.com/ROCm/rockrel/actions/runs/28346375566 (successful nightly) This makes the documentation accurate and user-friendly for both 0.9.1 and 0.10.0 users.
Summary
ISSUE ID: #3878
Related PR: ROCm/rockrel#65
Extend the JAX multi-arch release workflows to support both
rocm-jaxlib-v0.9.1androcm-jaxlib-v0.10.0release lines.Changes
Release workflow
rocm-jaxlib-v0.9.1rocm-jaxlib-v0.10.0jax_repositorybuild_modegfx_archBuild workflow
rocm-jaxlib-v0.9.1
ROCm/rocm-jax.build/ci_build.rocm-jaxlib-v0.10.0
ROCm/jax.ROCm/rocm-jax.build/build.py.Testing
On rockrel:
https://github.com/ROCm/rockrel/actions/runs/28217952215/job/83613621212
https://github.com/ROCm/rockrel/actions/runs/28224689859
configure_target_run.py.