Skip to content

[None][infra] upgrade dlfw 2604 but downgrade cuda from 13.2 to 13.1 - #14543

Closed
EmmaQiaoCh wants to merge 53 commits into
NVIDIA:mainfrom
EmmaQiaoCh:emma/upgrade_dlfw_2603_downgrade_cuda
Closed

[None][infra] upgrade dlfw 2604 but downgrade cuda from 13.2 to 13.1#14543
EmmaQiaoCh wants to merge 53 commits into
NVIDIA:mainfrom
EmmaQiaoCh:emma/upgrade_dlfw_2603_downgrade_cuda

Conversation

@EmmaQiaoCh

@EmmaQiaoCh EmmaQiaoCh commented May 26, 2026

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

Release Notes

  • Infrastructure Updates

    • Updated base CUDA to 13.2.1, PyTorch to 2.11.0, and TensorRT to 10.16.1 across development environments.
    • Refreshed Docker base images for improved compatibility.
    • Enhanced Docker image tagging support for CI/CD workflows.
  • Bug Fixes

    • Fixed CUDA compiler compatibility issues on ARM64 systems with GCC backend.
  • New Features

    • Added Ubuntu support to CUDA toolkit installation.
  • Tests

    • Updated test configurations and compatibility waivers.

Review Change Stack

Description

Test Coverage

PR Checklist

Please review the following before submitting your PR:

  • PR description clearly explains what and why. If using CodeRabbit's summary, please make sure it makes sense.

  • PR Follows TRT-LLM CODING GUIDELINES to the best of your knowledge.

  • Test cases are provided for new code paths (see test instructions)

  • If PR introduces API changes, an appropriate PR label is added - either api-compatible or api-breaking. For api-breaking, include BREAKING in the PR title.

  • Any new dependencies have been scanned for license and vulnerabilities

  • CODEOWNERS updated if ownership changes

  • Documentation updated as needed

  • Update tava architecture diagram if there is a significant design change in PR.

  • The reviewers assigned automatically/manually are appropriate for the PR.

  • Please check this after reviewing the above items as appropriate for this PR.

GitHub Bot Help

To see a list of available CI bot commands, please comment /bot help.

Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: Emma Qiao <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: Emma Qiao <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
… 2.11.0a0

Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: Emma Qiao <qqiao@nvidia.com>
Signed-off-by: Emma Qiao <qqiao@nvidia.com>
Signed-off-by: Emma Qiao <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: Emma Qiao <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: Emma Qiao <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
EmmaQiaoCh added 11 commits May 14, 2026 11:11
Signed-off-by: Emma Qiao <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: Emma Qiao <qqiao@nvidia.com>
Signed-off-by: Emma Qiao <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: Emma Qiao <qqiao@nvidia.com>
Signed-off-by: Emma Qiao <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com>
@EmmaQiaoCh
EmmaQiaoCh requested a review from a team May 26, 2026 03:39
@EmmaQiaoCh
EmmaQiaoCh requested review from a team as code owners May 26, 2026 03:39
@EmmaQiaoCh
EmmaQiaoCh requested review from a team, QiJune, hyukn, kaiyux, tburt-nv and yiqingy0 May 26, 2026 03:39
@EmmaQiaoCh

Copy link
Copy Markdown
Collaborator Author

/bot run --stage-list "Build-Docker-Images"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #50266 [ run ] triggered by Bot. Commit: 48778e8 Link to invocation

@coderabbitai

coderabbitai Bot commented May 26, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

This PR upgrades the TensorRT-LLM environment to use CUDA 13.2.1, PyTorch 2.11.0, and TensorRT 10.16.1, refactors CUDA virtual memory API initialization, fixes C++ compilation flags for ARM64/GCC scenarios, updates PyTorch compilation backends, and expands test waivers for known failing configurations.

Changes

Environment and dependency version updates

Layer / File(s) Summary
Documentation and property updates
README.md, docs/source/legacy/reference/support-matrix.md, jenkins/current_image_tags.properties
README technology badges updated to CUDA 13.2.1 and torch 2.11.0; support matrix docs reference Container 26.04 and TensorRT 10.16; five Docker image tag properties updated with new CUDA/TRT/PyTorch versions and build suffixes.
Dependency constraints and requirements
constraints.txt, requirements.txt
constraints.txt adds nvidia-cutlass-dsl >=4.4.2 and NumPy >=2.0.0,<2.4 pins; requirements.txt bumps tensorrt to ~10.16.1, torch upper bound to <=2.12.0a0, nvidia-nccl-cu13 to <=2.29.7, and adds librosa and msgpack dependencies.
Docker base images and installation scripts
docker/Dockerfile.multi, docker/Makefile, docker/common/install_cuda_toolkit.sh, docker/common/install_pytorch.sh, docker/common/install_tensorrt.sh
Dockerfile.multi and docker/Makefile update to 26.04 base tags and CUDA 13.2.1; install_cuda_toolkit.sh extended with Ubuntu support; install_pytorch.sh sets TORCH_VERSION to 2.11.0; install_tensorrt.sh introduces NVRTC_CUDA_VER=13.1 while CUDA_VER=13.2 for cuBLAS/TensorRT URL suffixes and adjusts cuda-compat/toolkit package sourcing.
Jenkins pipeline and build configuration
jenkins/Build.groovy, jenkins/L0_Test.groovy
Build.groovy switches Triton tag to r26.04; L0_Test.groovy updates DLFW_IMAGE to 26.04, Triton version to 26.04, CUDA toolkit to 13-2, PyTorch to 2.11.0+cu130, and SLURM MPI mode from pmi2 to pmix; PY312-DLFW sanity image source changed to LLM_ROCKYLINUX8_PY312_DOCKER_IMAGE; multiple CUDA version comments updated.
Docker image renaming utility for dual-mode CI
scripts/rename_docker_images.py
Refactored to support GitLab (--src-branch) and GitHub (--commit) modes; new get_current_commit() derives short SHA; parse_arguments() introduces mutually exclusive CLI group; rename_images() signature updated to accept optional commit/src_branch with mode-dependent source suffix construction (branch+build_id for GitLab, commit+github-pr+dst_mr+build_id for GitHub).

CUDA virtual memory allocation API refactoring

Layer / File(s) Summary
Virtual memory allocator header updates
cpp/include/tensorrt_llm/runtime/virtualMemory.h
CudaVirtualMemoryAllocator::Configuration::aligned() updated to initialize CUmemLocation using brace form {CU_MEM_LOCATION_TYPE_DEVICE, {device}} instead of multi-line nested form.
Virtual memory implementation simplifications
cpp/tensorrt_llm/runtime/virtualMemory.cpp
Simplified CUmemAccessDesc and CUmemLocation initializers in CudaVirtualMemoryAllocator::allocate() to use inline brace-initialized form for both device-location descriptors, reducing multi-line nesting while preserving logic and behavior.
Virtual memory test updates
cpp/tests/unit_tests/common/cudaDriverWrapperTest.cpp, cpp/tests/unit_tests/runtime/virtualMemoryTest.cpp
cudaDriverWrapperTest.cpp updated to initialize location-device field as {0} instead of 0; virtualMemoryTest.cpp reformatted all CUDAVirtualMemoryChunk test fixtures (TestBasic, offload, move-semantics, VirtualMemoryManagerTest.TestBasic) to use brace-initialized CUmemLocation{CU_MEM_LOCATION_TYPE_DEVICE, {0}}.

C++ compilation flag compatibility fixes

Layer / File(s) Summary
DeepEP CMake and NVSHMEM header handling
cpp/tensorrt_llm/deep_ep/CMakeLists.txt
Removes Clang-specific -Xcompiler=-fclang-abi-compat=... flag from CMAKE_CUDA_FLAGS when NVSHMEM builds with GCC fallback; adds explicit include directory for NVSHMEM vendored headers with BEFORE ordering to take precedence over system CUDA headers.
Flash MLA ARM64/Clang-to-GCC compilation flags
cpp/tensorrt_llm/flash_mla/CMakeLists.txt
Strips PyTorch-injected -Xcompiler=-fclang-abi-compat=17 flag from CMAKE_CUDA_FLAGS when ARM64 switches CUDA host compilation from Clang to GCC for SM100 inline-assembly compatibility, preventing unsupported option forwarding to g++.

PyTorch compilation backend updates

Layer / File(s) Summary
Torch compilation backend and piecewise optimizer updates
tensorrt_llm/_torch/compilation/backend.py, tensorrt_llm/_torch/compilation/piecewise_optimizer.py
Backend.optimize and PiecewiseInterpreter.call_module switched from compile_fx(gm, example_inputs) to compile_fx_inner(gm, example_inputs) for Inductor compilation path; imports updated to use compile_fx_inner from torch._inductor.compile_fx.

Test waiver and SKIP configuration updates

Layer / File(s) Summary
Test SKIP and waiver entries
tests/integration/test_lists/waives.txt
Expanded DeepSeekV3Lite::test_bfloat16_4gpus waivers to include TP2PP2 and additional TP4 configurations (nvbugs 6198774, 6198785); added Llama3.1_8BInstruct TP2PP2 waiver; added Nemotron-H cuda_graph_overlap_scheduler waiver; expanded visual-gen/flux attention pipeline waivers; added auto_deploy/singlegpu DeCiLM and Granite MoE equivalence/export/checkpoint waivers and llmapi/tools layer-wise/LoRA benchmark SKIPs.

Sequence Diagrams

No sequence diagrams generated. The PR contains primarily configuration, build system, and dependency updates alongside refactoring of initialization patterns and test waivers—changes that do not introduce multi-component sequential workflows or data flows suitable for sequence visualization.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

The changes span multiple file categories (configuration, build, C++, Python, Docker) with moderate heterogeneity. Environment version bumps are straightforward but pervasive; CUDA API refactoring is consistent initialization pattern changes across header/implementation/tests; C++ CMake flag handling requires build-system understanding; PyTorch backend switching is localized; test waivers are configuration additions. Most changes are low-density logic updates with good localization, though the breadth and variety of affected areas (Docker, Jenkins, build system, C++, Python, tests) adds some review complexity.

Possibly related PRs

  • NVIDIA/TensorRT-LLM#14515: Both modify tests/integration/test_lists/waives.txt with overlapping updates to DeepSeekV3Lite bfloat16 SKIP entries (TP2/TP4 variants).
  • NVIDIA/TensorRT-LLM#14514: Both modify tests/integration/test_lists/waives.txt by adding/updating SKIP entries for failing tests.
  • NVIDIA/TensorRT-LLM#14516: Both modify tests/integration/test_lists/waives.txt to extend the waiver list with new test configurations.

Suggested reviewers

  • Shixiaowei02
  • venkywonka
  • jieli-matrix
  • mzweilz
  • mikeiovine
  • bmarimuthu-nv
  • Superjomn
🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is essentially empty, containing only the template skeleton with no actual content in Description, Test Coverage, or Checklist sections. Add a comprehensive description explaining the motivation for upgrading dlfw to 26.04 and downgrading CUDA to 13.1, list the relevant tests, and confirm the PR checklist items.
Docstring Coverage ⚠️ Warning Docstring coverage is 22.73% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly indicates an infrastructure change to upgrade dlfw to 26.04 while downgrading CUDA, matching the primary changes in the changeset.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@coderabbitai coderabbitai 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.

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
scripts/rename_docker_images.py (1)

1-7: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Add the required NVIDIA copyright header.

This modified Python source file still lacks the required NVIDIA header. The repo policy requires TensorRT-LLM source files to carry that header and update the year on meaningful edits.

As per coding guidelines "All TensorRT-LLM source files should contain an NVIDIA copyright header with year of latest meaningful modification."

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/rename_docker_images.py` around lines 1 - 7, Add the required NVIDIA
copyright header at the top of the Python file (above the existing shebang
"#!/usr/bin/env python3"), using the standard TensorRT-LLM header text and
update the year to reflect the latest meaningful modification; ensure the header
is a block comment that precedes imports (import argparse, datetime, os,
pathlib, subprocess) and matches the repo's canonical header format and wording
exactly.
🧹 Nitpick comments (1)
docker/common/install_cuda_toolkit.sh (1)

38-75: ⚡ Quick win

Quote variable in rm command for shell safety.

The ${OLD_CUDA_VER} variable should be quoted in the rm -rf command to prevent word splitting and globbing issues if the version string ever contains spaces or special characters.

🛡️ Suggested fix
 reinstall_ubuntu_cuda() {
     export DEBIAN_FRONTEND=noninteractive
     apt-get update
     # Remove existing CUDA toolkit and related libraries. `|| true` keeps the
     # script resilient when a pattern matches no installed package.
     apt-get remove --purge -y "cuda*" "libcublas*" "libcufft*" "libcufile*" "libcurand*" \
         "libcusolver*" "libcusparse*" "libnpp*" "libnvjpeg*" "nsight*" "libnvvm*" \
         "gds-tools*" || true
     apt-get autoremove --purge -y || true
-    rm -rf /usr/local/cuda-${OLD_CUDA_VER}
+    rm -rf "/usr/local/cuda-${OLD_CUDA_VER}"
     # Install prerequisites for the .run installer.
     apt-get install -y --no-install-recommends wget ca-certificates build-essential
     wget --retry-connrefused --timeout=180 --tries=10 --continue https://developer.download.nvidia.com/compute/cuda/${CUDA_VER_SHORT}/local_installers/cuda_${CUDA_VER}_linux.run
     sh cuda_${CUDA_VER}_linux.run --silent --override --toolkit
     rm -f cuda_${CUDA_VER}_linux.run
     apt-get clean
     rm -rf /var/lib/apt/lists/*
 }
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docker/common/install_cuda_toolkit.sh` around lines 38 - 75, In
reinstall_ubuntu_cuda(), make the rm invocation safe by quoting the OLD_CUDA_VER
variable to prevent word-splitting/globbing; update the line that removes the
old CUDA directory (the rm -rf /usr/local/cuda-${OLD_CUDA_VER} call) to use a
quoted expansion like "/usr/local/cuda-${OLD_CUDA_VER}" or
'/usr/local/cuda-"${OLD_CUDA_VER}"' so the path is treated as a single token.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@jenkins/L0_Test.groovy`:
- Around line 4381-4388: The CI installs cuda-toolkit-13-2 but the runtime/NVRTC
pin in docker/common/install_tensorrt.sh is 13.1; update the sanity-path
installation to match the runtime by changing the apt package in the block that
calls trtllm_utils.llmExecStepWithRetry (the script that runs "apt-get update &&
apt-get install -y cuda-toolkit-13-2") to install the 13.1 toolkit (e.g.,
cuda-toolkit-13-1 or the exact package name that corresponds to CUDA 13.1), and
update the surrounding echo/comment to reflect CUDA 13.1 so the userspace
matches NVRTC_CUDA_VER="13.1" and CUDA_RUNTIME="13.1.80-1".

In `@README.md`:
- Line 11: The README CUDA badge currently claims "13.2.1" but the install
script install_cuda_toolkit.sh downgrades toolkits to 13.1.1; update the badge
in README.md to reflect the actual toolkit version used for compilation (change
the displayed/version text and shields.io URL to 13.1.1), or alternatively add a
short note in the installation docs explaining the mixed-version strategy and
why the base image and compiled toolkit differ so readers aren’t misled.

In `@scripts/rename_docker_images.py`:
- Around line 51-66: The code currently uses dst_mr when constructing the source
image tag, which can pull the wrong image; add a new CLI option --src-mr
(dest="src_mr", type=str or int, default=None) alongside --commit and
--src-branch in the same source_group, and change the code that builds
src_suffix to prefer src_mr when provided (fall back to dst_mr only if src_mr is
None); ensure the new flag has clear help text ("source MR/PR id embedded in the
source image tag; if omitted, dst_mr is used") so callers can explicitly supply
a different PR/MR for the source image.

---

Outside diff comments:
In `@scripts/rename_docker_images.py`:
- Around line 1-7: Add the required NVIDIA copyright header at the top of the
Python file (above the existing shebang "#!/usr/bin/env python3"), using the
standard TensorRT-LLM header text and update the year to reflect the latest
meaningful modification; ensure the header is a block comment that precedes
imports (import argparse, datetime, os, pathlib, subprocess) and matches the
repo's canonical header format and wording exactly.

---

Nitpick comments:
In `@docker/common/install_cuda_toolkit.sh`:
- Around line 38-75: In reinstall_ubuntu_cuda(), make the rm invocation safe by
quoting the OLD_CUDA_VER variable to prevent word-splitting/globbing; update the
line that removes the old CUDA directory (the rm -rf
/usr/local/cuda-${OLD_CUDA_VER} call) to use a quoted expansion like
"/usr/local/cuda-${OLD_CUDA_VER}" or '/usr/local/cuda-"${OLD_CUDA_VER}"' so the
path is treated as a single token.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: d51c5a2f-9033-4a09-929c-c76de6916abd

📥 Commits

Reviewing files that changed from the base of the PR and between 9835415 and 48778e8.

📒 Files selected for processing (22)
  • README.md
  • constraints.txt
  • cpp/include/tensorrt_llm/runtime/virtualMemory.h
  • cpp/tensorrt_llm/deep_ep/CMakeLists.txt
  • cpp/tensorrt_llm/flash_mla/CMakeLists.txt
  • cpp/tensorrt_llm/runtime/virtualMemory.cpp
  • cpp/tests/unit_tests/common/cudaDriverWrapperTest.cpp
  • cpp/tests/unit_tests/runtime/virtualMemoryTest.cpp
  • docker/Dockerfile.multi
  • docker/Makefile
  • docker/common/install_cuda_toolkit.sh
  • docker/common/install_pytorch.sh
  • docker/common/install_tensorrt.sh
  • docs/source/legacy/reference/support-matrix.md
  • jenkins/Build.groovy
  • jenkins/L0_Test.groovy
  • jenkins/current_image_tags.properties
  • requirements.txt
  • scripts/rename_docker_images.py
  • tensorrt_llm/_torch/compilation/backend.py
  • tensorrt_llm/_torch/compilation/piecewise_optimizer.py
  • tests/integration/test_lists/waives.txt
💤 Files with no reviewable changes (1)
  • constraints.txt

Comment thread jenkins/L0_Test.groovy
Comment on lines +4381 to +4388
trtllm_utils.llmExecStepWithRetry(pipeline, script: "apt-get update && apt-get install -y cuda-toolkit-13-2")
}
// Extra PyTorch CUDA 13.0 install for all bare-metal environments (Default PyTorch is for CUDA 12.8)
// Extra PyTorch CUDA 13.2 install for all bare-metal environments (Default PyTorch is for CUDA 12.8)
if (values[6]) {
echo "###### Extra PyTorch CUDA 13.0 install Start ######"
echo "###### Extra PyTorch CUDA 13.2 install Start ######"
// Use internal mirror instead of https://download.pytorch.org/whl/cu130 for better network stability.
// PyTorch CUDA 13.0 package and torchvision package can be installed as expected.
trtllm_utils.llmExecStepWithRetry(pipeline, script: "pip3 install torch==2.10.0+cu130 torchvision==0.25.0+cu130 --extra-index-url https://urm.nvidia.com/artifactory/api/pypi/pytorch-cu128-remote/simple --extra-index-url https://download.pytorch.org/whl/cu130")
trtllm_utils.llmExecStepWithRetry(pipeline, script: "pip3 install torch==2.11.0+cu130 torchvision==0.26.0+cu130 --extra-index-url https://urm.nvidia.com/artifactory/api/pypi/pytorch-cu128-remote/simple --extra-index-url https://download.pytorch.org/whl/cu130")

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.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Locate the Groovy lines around the reported snippet
echo "== Groovy: jenkins/L0_Test.groovy (lines ~4381-4388) =="
sed -n '4370,4400p' jenkins/L0_Test.groovy

# Verify CUDA pin in docker/common/install_tensorrt.sh
echo
echo "== Shell: docker/common/install_tensorrt.sh (search CUDA/NVRTC pins) =="
ls -la docker/common/install_tensorrt.sh
rg -n --context 3 "(cuda|NVRTC|nvrtc|13\.|toolkit)" docker/common/install_tensorrt.sh

# Also search repo-wide for cuda-toolkit-13-2 and CUDA 13.1 runtime pins to assess scope
echo
echo "== Repo-wide occurrences =="
rg -n --context 2 "cuda-toolkit-13-2" .
rg -n --context 2 "(cuda-toolkit-13-1|13\.1|NVRTC|nvrtc)" docker/common/install_tensorrt.sh

Repository: NVIDIA/TensorRT-LLM

Length of output: 12022


Align CUDA sanity-check userspace with the shipped TensorRT/NVRTC runtime

  • jenkins/L0_Test.groovy installs cuda-toolkit-13-2 (CUDA 13.2) on the bare-metal sanity path.
  • docker/common/install_tensorrt.sh intentionally pins NVRTC and CUDA runtime/driver to CUDA 13.1 (NVRTC_CUDA_VER="13.1", CUDA_RUNTIME="13.1.80-1").
  • This mismatch can let the sanity job pass on a newer (13.2) userspace than the runtime components that will ship (13.1).

Make the sanity-check CUDA toolkit selection match the runtime/NVRTC pin (either install the 13.1 toolkit in CI or update the runtime pin to 13.2 consistently).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@jenkins/L0_Test.groovy` around lines 4381 - 4388, The CI installs
cuda-toolkit-13-2 but the runtime/NVRTC pin in docker/common/install_tensorrt.sh
is 13.1; update the sanity-path installation to match the runtime by changing
the apt package in the block that calls trtllm_utils.llmExecStepWithRetry (the
script that runs "apt-get update && apt-get install -y cuda-toolkit-13-2") to
install the 13.1 toolkit (e.g., cuda-toolkit-13-1 or the exact package name that
corresponds to CUDA 13.1), and update the surrounding echo/comment to reflect
CUDA 13.1 so the userspace matches NVRTC_CUDA_VER="13.1" and
CUDA_RUNTIME="13.1.80-1".

Comment thread README.md
[![python](https://img.shields.io/badge/python-3.10-green)](https://www.python.org/downloads/release/python-31012/)
[![cuda](https://img.shields.io/badge/cuda-13.1.1-green)](https://developer.nvidia.com/cuda-downloads)
[![torch](https://img.shields.io/badge/torch-2.10.0-green)](https://pytorch.org)
[![cuda](https://img.shields.io/badge/cuda-13.2.1-green)](https://developer.nvidia.com/cuda-downloads)

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.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

CUDA badge version inconsistent with actual toolkit version.

The badge displays CUDA 13.2.1, but docker/common/install_cuda_toolkit.sh downgrades the toolkit (nvcc/cudart/nvrtc) to 13.1.1. The badge should reflect the CUDA toolkit version developers actually use for compilation, not the base image version.

📝 Suggested fix
-[![cuda](https://img.shields.io/badge/cuda-13.2.1-green)](https://developer.nvidia.com/cuda-downloads)
+[![cuda](https://img.shields.io/badge/cuda-13.1.1-green)](https://developer.nvidia.com/cuda-downloads)

Alternatively, if you want to communicate the dual-version setup, consider:

-[![cuda](https://img.shields.io/badge/cuda-13.2.1-green)](https://developer.nvidia.com/cuda-downloads)
+[![cuda](https://img.shields.io/badge/cuda-13.1.1%20%2F%2013.2.1-green)](https://developer.nvidia.com/cuda-downloads)

with a note in the installation docs explaining the mixed-version strategy.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
[![cuda](https://img.shields.io/badge/cuda-13.2.1-green)](https://developer.nvidia.com/cuda-downloads)
[![cuda](https://img.shields.io/badge/cuda-13.1.1-green)](https://developer.nvidia.com/cuda-downloads)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 11, The README CUDA badge currently claims "13.2.1" but
the install script install_cuda_toolkit.sh downgrades toolkits to 13.1.1; update
the badge in README.md to reflect the actual toolkit version used for
compilation (change the displayed/version text and shields.io URL to 13.1.1), or
alternatively add a short note in the installation docs explaining the
mixed-version strategy and why the base image and compiled toolkit differ so
readers aren’t misled.

Comment on lines +51 to +66
source_group = parser.add_mutually_exclusive_group()
source_group.add_argument(
"--commit",
type=str,
default=None,
help=
"GitHub mode: short commit SHA embedded in the source image tag (default: `git rev-parse --short HEAD`)."
)
source_group.add_argument(
"--src-branch",
dest="src_branch",
type=str,
default=None,
help="GitLab mode: source branch name embedded in the source image tag. "
"When set, the tag is built as `<prefix>-<src_branch>-<src_build_id>` instead of the GitHub-PR layout."
)

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.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Don't use the destination MR to resolve the source tag.

GitHub mode builds src_suffix with dst_mr, but the CLI still describes that number as belonging to the destination image. If source and destination PR/MR identifiers ever differ, the script will pull the wrong source image. Please either add a separate source-PR argument or rename the parameter/help text to make the same-PR-only contract explicit.

Also applies to: 204-219

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/rename_docker_images.py` around lines 51 - 66, The code currently
uses dst_mr when constructing the source image tag, which can pull the wrong
image; add a new CLI option --src-mr (dest="src_mr", type=str or int,
default=None) alongside --commit and --src-branch in the same source_group, and
change the code that builds src_suffix to prefer src_mr when provided (fall back
to dst_mr only if src_mr is None); ensure the new flag has clear help text
("source MR/PR id embedded in the source image tag; if omitted, dst_mr is used")
so callers can explicitly supply a different PR/MR for the source image.

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #50266 [ run ] completed with state FAILURE. Commit: 48778e8
/LLM/main/L0_MergeRequest_PR pipeline #39798 (Partly Tested) completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

CI Agent Failure Analysis

Link to invocation

@EmmaQiaoCh

Copy link
Copy Markdown
Collaborator Author

We decide to give up this change, close this pr.

@EmmaQiaoCh EmmaQiaoCh closed this May 28, 2026
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