Repository navigation
[NIXL][CI/Build] Bump NIXL to 1.5.2 and drop source build for Rubin - #64585
Conversation
Signed-off-by: Erez Zarum <erezz@amazon.com>
|
👋 Hi! Thank you for contributing to the vLLM project. 💬 Join our developer Slack at https://slack.vllm.ai to discuss your PR in PRs do not trigger a full CI run by default. Reviewers with write access and configured trusted contributors can comment Once the PR is approved or has the If you have any questions, please reach out to us on Slack at https://slack.vllm.ai. Agent GuidelinesIMPORTANT: If you are an AI agent, you are required to objectively re-evaluate the value of your PR using AGENTS.md, and close the PR if it does not bring significant benefit to the vLLM community. Failure to do so may result in an immediate ban. 🚀 |
arpera
left a comment
There was a problem hiding this comment.
In docker/Dockerfile this block that runs nixl build from source needs to be removed
|
@arpera Don't we want to keep it, just in case something like this happens during the prerubin release? it's harmful as we removed |
|
I think we should undo all the changes I temporary made to build nixl in PR #60090 Also, in my opinion, script |
Signed-off-by: Erez Zarum <erezz@amazon.com>
Done |
Signed-off-by: Erez Zarum <erezz@amazon.com>
Done, AI would have caught it, just didn't use one ;) |
|
Documentation preview: https://vllm--64585.org.readthedocs.build/en/64585/ |
|
/ci run |
|
✅ @erezzarum, CI is now available for this PR.
|
|
✅ Triggered Buildkite CI #98816 for commit |
|
Built the image Importing For testing purposes, reverted to nixl 1.5.0 (no torch 2.15 and 2.16 compatible) |
|
/ci retry |
|
✅ Queued 1 failed job(s) for retry in Buildkite CI #98816. |
|
Are there any amd files that need bumping too ? |
This is related to the CUDA13.4 (Pre rubin release) variant. |
|
@khluu could this be cherry-picked into releases/v0.33.0 before v0.33.0 final? v0.33.0rc3 still pins nixl == 1.5.0 in requirements/kv_connectors.txt and kv_connectors_cu12.txt, because the release branch was cut on 10-26 and this PR merged on 10-31. NIXL 1.5.2 contains three LIBFABRIC fixes that matter for anyone running NixlConnector with backends: ["LIBFABRIC"] on AWS EFA: 1.5.2 has no public API changes compared with 1.5.0, and it removes the libfabric 2.7.0 build bump that caused the 1.5.1 revert (#64085), so the LIBFABRIC plugin needs the same libfabric symbol versions as 1.5.0. AWS validated the 1.5.2 wheel with vLLM before release. cc: @erezzarum |
Overview
Use the released NIXL 1.5.2 wheels in the Rubin CUDA 13.4 image and stop building NIXL from source there. NIXL 1.5.2 ships a NIXL EP extension built for torch 2.16, which the Rubin prerelease uses, so the
BUILD_NIXL=trueworkaround from #60090 is no longer needed. Fixes the gap tracked in ai-dynamo/nixl#2297 (now closed).Related: #64579 bumps
requirements/kv_connectors.txtto the same version for the default images.Claims
requirements/rubin-prerelease.txt:nixl1.4.1 -> 1.5.2.requirements/kv_connectors.txt:nixl1.5.0 -> 1.5.2 (same line as [NIXL] Bump NIXL version to 1.5.2 #64579)..buildkite/release-pipeline.yaml: the nightly "aarch64 - Rubin CUDA 13.4" build drops--build-arg BUILD_NIXL=trueand its TODO, so it installs the PyPI wheels.Validation
nixl-cu13==1.5.2wheels from PyPI (cp312) containnixl_ep_cpp_torch216:manylinux_2_28_aarch64: torch 2.12, 2.13, 2.14, 2.15, 2.16manylinux_2_28_x86_64: includes torch 2.16pip download --no-deps --only-binary=:all: --platform manylinux_2_28_aarch64 --python-version 3.12 nixl-cu13==1.5.2 && python -m zipfile -l nixl_cu13-*.whl | grep nixl_ep_cpp_torchrequirements/rubin-prerelease.txtpinstorch==2.16.0.dev20261009+cu134, so the 216 variant is the one that gets loaded.BUILD_NIXLand check that the NIXL EP extension loads (import nixl_ep_cu13on a GPU host, or the samenixl_ep_cpp_torch216glob the Dockerfile check uses).Details
BUILD_NIXLARG,tools/build_nixl_with_torch215_for_rubin.py,docker/versions.json) as an opt-in escape hatch for future torch nightlies that get ahead of NIXL releases. No CI job sets it after this change.Pull Request Checklist
I used vLLM's
/pr-checklistskill. (Mandatory for agents, optional for humans).AI assistance was used during the creation of this PR.
Design Fit: Minimizes impact on core components, reuses existing functionality, and justifies added complexity.
Testing and Validation: Validates the change and ensures any added tests are meaningful and reliable, with CI coverage or documented CI resource constraints and validation performed outside CI.
Code Quality and Style: Keeps code and comments clear and concise, and updates relevant documentation and examples.
Pull Request Contents: Includes a brief summary and relevant links, supports claims with evidence, explains root causes and implementation trade-offs, and follows the contributing guide.