Skip to content

chore(trtllm): bump NIXL to v1.3.1 - #12322

Merged
tanmayv25 merged 1 commit into
chore/trtllm-nixl-driftfrom
chore/bump-trtllm-nixl-1.3.1
Jul 29, 2026
Merged

chore(trtllm): bump NIXL to v1.3.1#12322
tanmayv25 merged 1 commit into
chore/trtllm-nixl-driftfrom
chore/bump-trtllm-nixl-1.3.1

Conversation

@tanmayv25

@tanmayv25 tanmayv25 commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Bump the trtllm nixl_ref from v1.0.1 to v1.3.1 (one line in container/context.yaml).

Validation

Built the trtllm runtime image locally with nixl_ref=v1.3.1:

  • nixl-sys compiles from the v1.3.1 source; nixl / nixl-cu13 install at 1.3.1; NIXL initializes cleanly (NixlTransferAgent … UCX, no undefined-symbol/version errors).
  • Ran examples/backends/trtllm/launch/disagg_same_gpu.sh (Qwen3-0.6B, prefill + decode on one GPU): /v1/chat/completions returned status=success with distinct prefill_worker_id and decode_worker_id (elapsed 190 ms, ttft 131 ms) — the NIXL 1.3.1 prefill→decode KV handoff works over UCX.

Note

The local single-host disagg run required working around a pre-existing, NIXL-independent rc22 issue: disagg_machine_id = int(endpoint.connection_id()) % 1021 (components/src/dynamo/trtllm/workers/llm_worker.py:778) can exceed TRT-LLM rc22's NODE_ID_SPACE = 256, raising ValueError: node_id must be in range [0, 256) before the transfer runs. It derives from the runtime connection id (not NIXL), so it is unrelated to this bump. This is already fixed by #12203 (splits the 10-bit machine_id into rc22's 8-bit node_id + 6-bit process_id); once that lands on main, disagg works without any workaround.


Open in Devin Review

Summary by CodeRabbit

  • New Features
    • Updated the TensorRT-LLM runtime to use NIXL version 1.3.1.
    • Added consistent NIXL version configuration across runtime environments.
  • Bug Fixes
    • Improved NIXL installation reliability by validating the configured release and ensuring matching package versions are installed.
    • Added installation verification details to help detect runtime version or library loading issues.

@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: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

@datadog-official

This comment has been minimized.

@tanmayv25
tanmayv25 changed the base branch from chore/trtllm-nixl-drift to main July 28, 2026 23:54
Bump trtllm nixl_ref v1.0.1 -> v1.3.1. Stacked on the NIXL single-sourcing (#12217): this one line now drives both the source SDK wheel_builder links nixl-sys against and the pip nixl/nixl-cu13 install. v1.3.1 also moves the pip NIXL closer to the version bundled in the tensorrt-llm/release:1.3.0rc22 base, shrinking the loaded-vs-installed skew.

Signed-off-by: tanmayv25 <tanmay2592@gmail.com>
@tanmayv25
tanmayv25 force-pushed the chore/bump-trtllm-nixl-1.3.1 branch from 5cbe8b3 to ad2a6b5 Compare July 28, 2026 23:55
@github-actions github-actions Bot added the backend::trtllm Relates to the trtllm backend label Jul 28, 2026
@tanmayv25

Copy link
Copy Markdown
Contributor Author

/ok to test ad2a6b5

@tanmayv25
tanmayv25 changed the base branch from main to chore/trtllm-nixl-drift July 28, 2026 23:56
@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

The trtllm container configuration now selects NIXL v1.3.1, installs matching NIXL packages from NIXL_REF, validates the release tag, records installation details, and clears NIXL_VERSION consistently across runtime stages.

Changes

NIXL version alignment

Layer / File(s) Summary
NIXL configuration and dependency declaration
container/context.yaml, container/deps/requirements.trtllm.txt
The CUDA 13.1 trtllm default changes to NIXL v1.3.1, and dependency installation is delegated to the runtime Dockerfile.
Runtime installation and environment synchronization
container/templates/trtllm_runtime.Dockerfile
The Dockerfile validates NIXL_REF, installs matching NIXL packages, writes version and library-path details, and clears NIXL_VERSION in runtime environment declarations.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description covers the summary and validation, but it omits required template sections like Details, reviewer start guidance, and Related Issues. Add the missing template sections, especially Details, Where should the reviewer start?, and a completed Related Issues section or confirmed no-issue checkbox.
✅ Passed checks (4 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly and concisely states the main change: bumping NIXL to v1.3.1 for trtllm.

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

@tanmayv25
tanmayv25 merged commit 54eb846 into chore/trtllm-nixl-drift Jul 29, 2026
78 of 81 checks passed
@tanmayv25
tanmayv25 deleted the chore/bump-trtllm-nixl-1.3.1 branch July 29, 2026 00:03
tanmayv25 added a commit that referenced this pull request Jul 29, 2026
Signed-off-by: tanmayv25 <tanmay2592@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants