Skip to content

fix(container): use released NIXL for SGLang EFA - #12106

Merged
nv-nmailhot merged 2 commits into
release/1.3.1from
jihao/release-1.3-sglang-efa-nixl132
Jul 24, 2026
Merged

fix(container): use released NIXL for SGLang EFA#12106
nv-nmailhot merged 2 commits into
release/1.3.1from
jihao/release-1.3-sglang-efa-nixl132

Conversation

@jh-nv

@jh-nv jh-nv commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Notes

Validation

  • python3 container/render.py --framework sglang --device cuda --target runtime --cuda-version 13.0 --make-efa --platform linux/amd64
  • python3 container/render.py --framework sglang --device cuda --target runtime --cuda-version 13.0 --make-efa --platform linux/arm64
  • git diff --check
  • git commit -s hook was retried with --no-verify; the local pytest-marker-report hook fails before checking changed files because this machine runs it under a Python that cannot evaluate str | None in tests/conftest.py

Comment thread container/templates/aws.Dockerfile Outdated
Comment thread container/templates/aws.Dockerfile Outdated
Comment thread container/templates/aws.Dockerfile Outdated
Comment thread container/templates/aws.Dockerfile Outdated
export PIP_CACHE_DIR=/root/.cache/pip && \
pip install --break-system-packages --no-deps "distro==1.9.0"

{% if make_efa == true and device == "cuda" and target == "runtime" %}

@erezzarum erezzarum Jul 24, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need for this, we should just introduce ability to upgrade NIXL wheels, it should not be specific to EFA or SGLang.
I'm also not sure why install_nixl_from_wheel is a case just for EFA? i see this in the vLLM container and it's not related to SGLang nor EFA, can you explain more about this?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m trying to keep this PR narrowly scoped to the know broken image, which is the SGLang EFA image to reduce impact radius.

Your suggestion makes sense for long term in main branch.

Comment thread container/templates/aws.Dockerfile Outdated
Comment thread container/templates/aws.Dockerfile Outdated
RUN --mount=type=cache,target=/root/.cache/pip,sharing=locked \
set -eux; \
export PIP_CACHE_DIR=/root/.cache/pip; \
pip install --break-system-packages --force-reinstall --no-deps --only-binary=:all: \

@erezzarum erezzarum Jul 24, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be introduced as a general argument to force update wheel files to a nixl version.
It should not be related just to EFA and should be applied on the vLLM and SGLang container runtime.
When building for EFA we override this argument with the updated nixl version.
Why? hard coding this will create issues when the upstream framework container images will catch up on NIXL versions, we should make it dynamic and configurable.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is to make the PR scope narrow for this specific release.

@jh-nv
jh-nv force-pushed the jihao/release-1.3-sglang-efa-nixl132 branch from 4373245 to dabe508 Compare July 24, 2026 18:12
@jh-nv
jh-nv force-pushed the jihao/release-1.3-sglang-efa-nixl132 branch from dabe508 to b37c3bf Compare July 24, 2026 18:57
@copy-pr-bot

copy-pr-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@jh-nv
jh-nv changed the base branch from release/1.3.0 to release/1.3.0.post1 July 24, 2026 18:57
@jh-nv
jh-nv force-pushed the jihao/release-1.3-sglang-efa-nixl132 branch from b37c3bf to e2a2371 Compare July 24, 2026 19:36
@jh-nv
jh-nv marked this pull request as ready for review July 24, 2026 19:59
@jh-nv
jh-nv requested review from a team as code owners July 24, 2026 19:59
@erezzarum

Copy link
Copy Markdown
Contributor

LGTM, pending pypi release for NIXL 1.3.2

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 2 potential issues.

Open in Devin Review

Comment on lines 37 to +53
- name: libfabric
# AWS fork: shipped by EFA installer 1.47.0 as libfabric1-aws_2.4.0amzn1.0
# (Ubuntu 24.04 DEB). The `amzn1.0` suffix indicates an AWS patch set on
# top of upstream libfabric 2.4.0; preserved here for OSRB traceability.
version: 2.4.0amzn1.0
version: 2.4.0amzn5.0
license: BSD-2-Clause
source: https://github.com/ofiwg/libfabric
source: https://github.com/aws/libfabric
images:
- vllm-runtime-efa
- trtllm-runtime-efa
- sglang-runtime-efa

- name: aws-ofi-nccl
# Shipped by EFA installer 1.47.0 as libnccl-ofi_1.18.0-1 (Ubuntu 24.04 DEB).
version: 1.18.0
version: 1.20.0
license: Apache-2.0
source: https://github.com/aws/aws-ofi-nccl
images:
- vllm-runtime-efa
- trtllm-runtime-efa
- sglang-runtime-efa

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 Compliance version attributions rely on audit job for verification

The native package attributions were updated for EFA 1.49.0: libfabric bumped to 2.4.0amzn5.0 with source changed to github.com/aws/libfabric, and aws-ofi-nccl to 1.20.0 (container/compliance/native_packages.yaml:38-47), plus sglang-runtime-efa added to both image filters. These exact upstream version strings could not be verified from within the repo; per the file's own note the authoritative check is the <framework>-compliance-audit syft scan. If the EFA 1.49.0 installer actually ships different versions, the NOTICES attribution would be inaccurate. Recommend confirming against the 1.49.0 installer's bundled DEB versions.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Comment on lines 39 to 40
ENV EFA_VERSION="${EFA_VERSION}"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 aws.Dockerfile libfabric overlay removal changes EFA behavior for all frameworks

This PR (via the underlying #12113 cherry-pick) removes the wheel_builder libfabric overlay logic that conditionally overwrote the EFA-bundled libfabric when older than NIXL_LIBFABRIC_REF (container/templates/aws.Dockerfile:44-67 deleted), and stops purging /opt/amazon/aws-ofi-nccl. This means vllm-runtime-efa and trtllm-runtime-efa now ship the EFA-bundled libfabric/aws-ofi-nccl unconditionally rather than the wheel_builder-built version. nixl_libfabric_ref was also downgraded v2.5.1 -> v2.4.0 in context.yaml but is still consumed by wheel_builder (container/templates/wheel_builder.Dockerfile:437). Behavior change is presumably intentional with the newer EFA installer, but the runtime libfabric version now shipped by vllm/trtllm EFA images differs from before — worth confirming those images still function with the EFA-stock libfabric.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@datadog-official

This comment has been minimized.

@dagil-nvidia

Copy link
Copy Markdown
Collaborator

Please retarget to release/1.3.1

erezzarum and others added 2 commits July 24, 2026 17:44
Signed-off-by: Erez Zarum <erezz@amazon.com>
Signed-off-by: Jie Hao <jihao@nvidia.com>
Signed-off-by: Jie Hao <jihao@nvidia.com>
@jh-nv
jh-nv force-pushed the jihao/release-1.3-sglang-efa-nixl132 branch from e2a2371 to c7ae914 Compare July 24, 2026 21:45
@jh-nv
jh-nv changed the base branch from release/1.3.0.post1 to release/1.3.1 July 24, 2026 21:45
@nv-nmailhot
nv-nmailhot merged commit cc24859 into release/1.3.1 Jul 24, 2026
96 of 97 checks passed
@nv-nmailhot
nv-nmailhot deleted the jihao/release-1.3-sglang-efa-nixl132 branch July 24, 2026 23:46
dagil-nvidia added a commit that referenced this pull request Aug 6, 2026
Both were labelled 'Targeted fix: v1.3.1' but shipped no fix in that
release. v1.3.1 carried one functional change (#12106, the EFA KV-transfer
stall); the branch has no KVBM commit, and it still pins TensorRT-LLM
1.3.0rc19 while that issue's fix requires rc21. main is on rc23, so v1.4.0
is where both land.

Signed-off-by: Dan Gil <dagil@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants