Skip to content

Commit b6d186a

Browse files
[TRTLLM-11715][infra] Upgrade dependencies for dlfw 26.04 stack (#12643)
Signed-off-by: EmmaQiaoCh <qqiao@nvidia.com> Signed-off-by: Emma Qiao <qqiao@nvidia.com> Signed-off-by: chenfeiz0326 <chenfeiz@nvidia.com> Co-authored-by: chenfeiz0326 <chenfeiz@nvidia.com>
1 parent 5ec0c84 commit b6d186a

30 files changed

Lines changed: 207 additions & 123 deletions

File tree

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ TensorRT LLM
88
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/NVIDIA/TensorRT-LLM)
99
[![python](https://img.shields.io/badge/python-3.12-green)](https://www.python.org/downloads/release/python-3123/)
1010
[![python](https://img.shields.io/badge/python-3.10-green)](https://www.python.org/downloads/release/python-31012/)
11-
[![cuda](https://img.shields.io/badge/cuda-13.1.1-green)](https://developer.nvidia.com/cuda-downloads)
12-
[![torch](https://img.shields.io/badge/torch-2.10.0-green)](https://pytorch.org)
13-
[![version](https://img.shields.io/badge/release-1.3.0rc20-green)](https://github.com/NVIDIA/TensorRT-LLM/blob/main/tensorrt_llm/version.py)
11+
[![cuda](https://img.shields.io/badge/cuda-13.2.1-green)](https://developer.nvidia.com/cuda-downloads)
12+
[![torch](https://img.shields.io/badge/torch-2.11.0-green)](https://pytorch.org)
13+
[![version](https://img.shields.io/badge/release-1.3.0rc19-green)](https://github.com/NVIDIA/TensorRT-LLM/blob/main/tensorrt_llm/version.py)
1414
[![license](https://img.shields.io/badge/license-Apache%202-blue)](https://github.com/NVIDIA/TensorRT-LLM/blob/main/LICENSE)
1515

1616
[Architecture](https://nvidia.github.io/TensorRT-LLM/developer-guide/overview.html)&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;[Performance](https://nvidia.github.io/TensorRT-LLM/developer-guide/perf-overview.html)&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;[Examples](https://nvidia.github.io/TensorRT-LLM/quick-start-guide.html)&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;[Documentation](https://nvidia.github.io/TensorRT-LLM/)&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;[Roadmap](https://github.com/NVIDIA/TensorRT-LLM/issues?q=is%3Aissue%20state%3Aopen%20label%3Aroadmap)

constraints.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
# These vulnerabilities were inherited from the base image (pytorch:25.12-py3) and should be removed when the base image
22
# is updated.
3-
# WAR against https://github.com/advisories/GHSA-8rrh-rw8j-w5fx
4-
wheel>=0.46.2
5-
# WAR against https://github.com/advisories/GHSA-qjxf-f2mg-c6mc
6-
tornado>=6.5.5
7-
# WAR against https://github.com/advisories/GHSA-3936-cmfr-pm3m
8-
black>=26.3.1
93
# Upgrade base image nvidia-cutlass-dsl 4.3.5 to 4.4.2
104
nvidia-cutlass-dsl>=4.4.2
115
# The `nvidia-cutlass-dsl` package does not pin numpy at all, which can be problematic in certain CI

cpp/include/tensorrt_llm/runtime/virtualMemory.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -505,10 +505,7 @@ class CudaVirtualMemoryAllocator
505505
{
506506
std::size_t gpuAlignment = 1;
507507
CUmemAllocationProp const prop{CU_MEM_ALLOCATION_TYPE_PINNED, CU_MEM_HANDLE_TYPE_NONE,
508-
{
509-
CU_MEM_LOCATION_TYPE_DEVICE,
510-
device,
511-
}};
508+
CUmemLocation{CU_MEM_LOCATION_TYPE_DEVICE, {device}}};
512509
TLLM_CU_CHECK(
513510
cuMemGetAllocationGranularity(&gpuAlignment, &prop, CU_MEM_ALLOC_GRANULARITY_RECOMMENDED));
514511
alignment = std::lcm(getpagesize(), gpuAlignment);

cpp/tensorrt_llm/deep_ep/CMakeLists.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,15 @@ if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
120120
set(CMAKE_C_COMPILER gcc)
121121
set(CMAKE_CXX_COMPILER g++)
122122
set(CMAKE_CUDA_HOST_COMPILER g++)
123+
# PyTorch's cmake/public/cuda.cmake (loaded transitively by
124+
# find_package(Torch)) appends -Xcompiler=-fclang-abi-compat=17 to
125+
# CMAKE_CUDA_FLAGS whenever the parent build is configured with Clang>=18 (see
126+
# pytorch PR #175233). Since this subdirectory falls back to GCC for NVSHMEM
127+
# compatibility, that Clang-only flag would be forwarded to g++ via `nvcc
128+
# -ccbin=g++` and abort the build with: g++: error: unrecognized command-line
129+
# option '-fclang-abi-compat=17'
130+
string(REGEX REPLACE "-Xcompiler=-fclang-abi-compat=[0-9]+" ""
131+
CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS}")
123132
endif()
124133

125134
# Add nvshmem external project
@@ -204,6 +213,12 @@ target_compile_options(
204213
target_compile_definitions(
205214
deep_ep_cpp_tllm PRIVATE DISABLE_AGGRESSIVE_PTX_INSTRS
206215
TORCH_EXTENSION_NAME=deep_ep_cpp_tllm)
216+
# Newer CUDA containers provide NVSHMEM headers in the default CUDA include
217+
# directory. DeepEP must compile against the vendored NVSHMEM headers because it
218+
# links the vendored NVSHMEM static library below.
219+
target_include_directories(
220+
deep_ep_cpp_tllm BEFORE
221+
PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/nvshmem-build/src/include)
207222
target_link_libraries(
208223
deep_ep_cpp_tllm PRIVATE nvshmem_project::nvshmem ${TORCH_LIBRARIES}
209224
${TORCH_PYTHON_LIB})

cpp/tensorrt_llm/flash_mla/CMakeLists.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,15 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|arm64" AND CMAKE_CXX_COMPILER_ID
4444
set(CMAKE_CUDA_HOST_COMPILER ${GCC_EXECUTABLE})
4545
message(
4646
STATUS "FlashMLA: Using GCC at ${GCC_EXECUTABLE} for CUDA compilation")
47+
# PyTorch's cmake/public/cuda.cmake (loaded transitively by
48+
# find_package(Torch)) appends -Xcompiler=-fclang-abi-compat=17 to
49+
# CMAKE_CUDA_FLAGS whenever the parent build is configured with Clang>=18 (see
50+
# pytorch PR #175233). Since CUDA host compilation here falls back to GCC,
51+
# that Clang-only flag would be forwarded to g++ via `nvcc -ccbin=g++` and
52+
# abort the build with: g++: error: unrecognized command-line option
53+
# '-fclang-abi-compat=17'
54+
string(REGEX REPLACE "-Xcompiler=-fclang-abi-compat=[0-9]+" ""
55+
CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS}")
4756
endif()
4857

4958
# Check CUDA version and architecture support

cpp/tensorrt_llm/runtime/virtualMemory.cpp

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -344,11 +344,7 @@ void CudaVirtualMemoryAllocator::allocate(Pointer* ptr, std::size_t n, int devic
344344

345345
CUDAVirtualMemoryChunk::Configurators configurators;
346346
configurators.push_back(std::make_unique<UnicastConfigurator>(address, alignedSize,
347-
CUmemAccessDesc{{
348-
CU_MEM_LOCATION_TYPE_DEVICE,
349-
device,
350-
},
351-
CU_MEM_ACCESS_FLAGS_PROT_READWRITE}));
347+
CUmemAccessDesc{CUmemLocation{CU_MEM_LOCATION_TYPE_DEVICE, {device}}, CU_MEM_ACCESS_FLAGS_PROT_READWRITE}));
352348

353349
switch (mConfig->mMode)
354350
{
@@ -368,10 +364,7 @@ void CudaVirtualMemoryAllocator::allocate(Pointer* ptr, std::size_t n, int devic
368364

369365
mConfig->mManager.add(address, mConfig->mTag,
370366
std::make_unique<LocalCreator<>>(CUmemAllocationProp{CU_MEM_ALLOCATION_TYPE_PINNED, CU_MEM_HANDLE_TYPE_NONE,
371-
{
372-
CU_MEM_LOCATION_TYPE_DEVICE,
373-
device,
374-
}},
367+
CUmemLocation{CU_MEM_LOCATION_TYPE_DEVICE, {device}}},
375368
alignedSize),
376369
std::move(configurators));
377370

cpp/tests/unit_tests/common/cudaDriverWrapperTest.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ TEST(TestCudaDriverWrapper, TllmCuCheckFailingWithValidParametersDoesNotThrow)
3131
CUmemAllocationHandleType::CU_MEM_HANDLE_TYPE_NONE,
3232
CUmemLocation{
3333
CUmemLocationType::CU_MEM_LOCATION_TYPE_DEVICE,
34-
0,
34+
{0},
3535
},
3636
nullptr};
3737
auto const granularity = tensorrt_llm::common::getAllocationGranularity();
@@ -51,7 +51,7 @@ TEST(TestCudaDriverWrapper, TllmCuCheckFailingWithInvalidParametersThrows)
5151
CUmemAllocationHandleType::CU_MEM_HANDLE_TYPE_NONE,
5252
CUmemLocation{
5353
CUmemLocationType::CU_MEM_LOCATION_TYPE_DEVICE,
54-
0,
54+
{0},
5555
},
5656
nullptr};
5757
ASSERT_THROW(TLLM_CU_CHECK(cuMemCreate(&handle, -1, &prop, 0ULL)), tensorrt_llm::common::TllmException);

cpp/tests/unit_tests/runtime/virtualMemoryTest.cpp

Lines changed: 12 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -142,19 +142,12 @@ TEST_F(VirtualMemoryTest, TestBasic)
142142

143143
CUDAVirtualMemoryChunk::CreatorPtr creator
144144
= std::make_unique<LocalCreator<>>(CUmemAllocationProp{CU_MEM_ALLOCATION_TYPE_PINNED, CU_MEM_HANDLE_TYPE_NONE,
145-
{
146-
CU_MEM_LOCATION_TYPE_DEVICE,
147-
0,
148-
}},
145+
CUmemLocation{CU_MEM_LOCATION_TYPE_DEVICE, {0}}},
149146
size);
150147

151148
CUDAVirtualMemoryChunk::Configurators configurators;
152149
configurators.push_back(std::make_unique<UnicastConfigurator>(address, size,
153-
CUmemAccessDesc{{
154-
CU_MEM_LOCATION_TYPE_DEVICE,
155-
0,
156-
},
157-
CU_MEM_ACCESS_FLAGS_PROT_READWRITE}));
150+
CUmemAccessDesc{CUmemLocation{CU_MEM_LOCATION_TYPE_DEVICE, {0}}, CU_MEM_ACCESS_FLAGS_PROT_READWRITE}));
158151

159152
CUDAVirtualMemoryChunk vm(std::move(creator), std::move(configurators));
160153
ASSERT_EQ(vm.status(), CUDAVirtualMemoryChunk::RELEASED);
@@ -212,19 +205,12 @@ TEST_P(VirtualMemoryOffloadConfigurator, Test)
212205

213206
CUDAVirtualMemoryChunk::CreatorPtr creator
214207
= std::make_unique<LocalCreator<>>(CUmemAllocationProp{CU_MEM_ALLOCATION_TYPE_PINNED, CU_MEM_HANDLE_TYPE_NONE,
215-
{
216-
CU_MEM_LOCATION_TYPE_DEVICE,
217-
0,
218-
}},
208+
CUmemLocation{CU_MEM_LOCATION_TYPE_DEVICE, {0}}},
219209
size);
220210

221211
CUDAVirtualMemoryChunk::Configurators configurators;
222212
configurators.push_back(std::make_unique<UnicastConfigurator>(address, size,
223-
CUmemAccessDesc{{
224-
CU_MEM_LOCATION_TYPE_DEVICE,
225-
0,
226-
},
227-
CU_MEM_ACCESS_FLAGS_PROT_READWRITE}));
213+
CUmemAccessDesc{CUmemLocation{CU_MEM_LOCATION_TYPE_DEVICE, {0}}, CU_MEM_ACCESS_FLAGS_PROT_READWRITE}));
228214
configurators.push_back(std::make_unique<OffloadConfigurator>(address, size, backType, stream.get(), false));
229215

230216
CUDAVirtualMemoryChunk vm(std::move(creator), std::move(configurators));
@@ -611,14 +597,14 @@ TEST_F(VirtualMemoryTest, TestFacilities)
611597
{
612598

613599
// Create original CUDAVirtualMemoryChunk
614-
CUDAVirtualMemoryChunk::CreatorPtr creator
615-
= std::make_unique<LocalCreator<>>(CUmemAllocationProp{CU_MEM_ALLOCATION_TYPE_PINNED,
616-
CU_MEM_HANDLE_TYPE_NONE, {CU_MEM_LOCATION_TYPE_DEVICE, 0}},
617-
size);
600+
CUDAVirtualMemoryChunk::CreatorPtr creator = std::make_unique<LocalCreator<>>(
601+
CUmemAllocationProp{CU_MEM_ALLOCATION_TYPE_PINNED, CU_MEM_HANDLE_TYPE_NONE,
602+
CUmemLocation{CU_MEM_LOCATION_TYPE_DEVICE, {0}}},
603+
size);
618604

619605
CUDAVirtualMemoryChunk::Configurators configurators;
620-
configurators.push_back(std::make_unique<UnicastConfigurator>(
621-
address, size, CUmemAccessDesc{{CU_MEM_LOCATION_TYPE_DEVICE, 0}, CU_MEM_ACCESS_FLAGS_PROT_READWRITE}));
606+
configurators.push_back(std::make_unique<UnicastConfigurator>(address, size,
607+
CUmemAccessDesc{CUmemLocation{CU_MEM_LOCATION_TYPE_DEVICE, {0}}, CU_MEM_ACCESS_FLAGS_PROT_READWRITE}));
622608

623609
CUDAVirtualMemoryChunk original(std::move(creator), std::move(configurators));
624610
original.materialize();
@@ -977,19 +963,12 @@ TEST_F(VirtualMemoryManagerTest, TestBasic)
977963

978964
CUDAVirtualMemoryChunk::CreatorPtr creator
979965
= std::make_unique<LocalCreator<>>(CUmemAllocationProp{CU_MEM_ALLOCATION_TYPE_PINNED, CU_MEM_HANDLE_TYPE_NONE,
980-
{
981-
CU_MEM_LOCATION_TYPE_DEVICE,
982-
0,
983-
}},
966+
CUmemLocation{CU_MEM_LOCATION_TYPE_DEVICE, {0}}},
984967
size);
985968

986969
CUDAVirtualMemoryChunk::Configurators configurators;
987970
configurators.push_back(std::make_unique<UnicastConfigurator>(address, size,
988-
CUmemAccessDesc{{
989-
CU_MEM_LOCATION_TYPE_DEVICE,
990-
0,
991-
},
992-
CU_MEM_ACCESS_FLAGS_PROT_READWRITE}));
971+
CUmemAccessDesc{CUmemLocation{CU_MEM_LOCATION_TYPE_DEVICE, {0}}, CU_MEM_ACCESS_FLAGS_PROT_READWRITE}));
993972

994973
auto memoryBegin = getCurrentProcessMemoryInfo();
995974

docker/Dockerfile.multi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Multi-stage Dockerfile
22
ARG BASE_IMAGE=nvcr.io/nvidia/pytorch
33
ARG TRITON_IMAGE=nvcr.io/nvidia/tritonserver
4-
ARG BASE_TAG=26.02-py3
5-
ARG TRITON_BASE_TAG=26.02-py3
4+
ARG BASE_TAG=26.04-py3
5+
ARG TRITON_BASE_TAG=26.04-py3
66
ARG DEVEL_IMAGE=devel
77

88
FROM ${BASE_IMAGE}:${BASE_TAG} AS base

docker/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -202,21 +202,21 @@ jenkins-rockylinux8_%: PYTHON_VERSION_TAG_ID = $(if $(findstring 3.12,${PYTHON_V
202202
jenkins-rockylinux8_%: IMAGE_WITH_TAG = $(shell . ../jenkins/current_image_tags.properties && echo $$LLM_ROCKYLINUX8_${PYTHON_VERSION_TAG_ID}_DOCKER_IMAGE)
203203
jenkins-rockylinux8_%: STAGE = tritondevel
204204
jenkins-rockylinux8_%: BASE_IMAGE = nvcr.io/nvidia/cuda
205-
jenkins-rockylinux8_%: BASE_TAG = 13.1.1-devel-rockylinux8
205+
jenkins-rockylinux8_%: BASE_TAG = 13.2.1-devel-rockylinux8
206206

207207
rockylinux8_%: STAGE = tritondevel
208208
rockylinux8_%: BASE_IMAGE = nvcr.io/nvidia/cuda
209-
rockylinux8_%: BASE_TAG = 13.1.1-devel-rockylinux8
209+
rockylinux8_%: BASE_TAG = 13.2.1-devel-rockylinux8
210210

211211
# For x86_64
212212
ubuntu22_%: STAGE = tritondevel
213213
ubuntu22_%: BASE_IMAGE = nvcr.io/nvidia/cuda
214-
ubuntu22_%: BASE_TAG = 13.1.1-devel-ubuntu22.04
214+
ubuntu22_%: BASE_TAG = 13.2.1-devel-ubuntu22.04
215215

216216
# For x86_64 and aarch64
217217
ubuntu24_%: STAGE = tritondevel
218218
ubuntu24_%: BASE_IMAGE = nvcr.io/nvidia/cuda
219-
ubuntu24_%: BASE_TAG = 13.1.1-devel-ubuntu24.04
219+
ubuntu24_%: BASE_TAG = 13.2.1-devel-ubuntu24.04
220220

221221
trtllm_%: STAGE = release
222222
trtllm_%: PUSH_TO_STAGING := 0

0 commit comments

Comments
 (0)