Repository navigation
[None][chore] Clean up GPU architecture handling - #20137
Conversation
66c9d11 to
a8d6315
Compare
|
/bot run |
|
PR_Github #77227 [ run ] triggered by Bot. Commit: |
|
PR_Github #77227 [ run ] completed with state
|
a8d6315 to
0000366
Compare
|
/bot run |
|
PR_Github #77677 [ run ] triggered by Bot. Commit: |
|
PR_Github #77677 [ run ] completed with state
|
0000366 to
d9516ca
Compare
|
/bot run |
d9516ca to
095d567
Compare
|
/bot run |
|
PR_Github #77741 [ run ] triggered by Bot. Commit: |
|
PR_Github #77741 [ run ] completed with state
|
095d567 to
d77a6f6
Compare
|
PR_Github #80878 [ run ] triggered by Bot. Commit: |
|
PR_Github #80878 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
# Conflicts: # tensorrt_llm/_torch/modules/linear.py
|
/bot run --disable-fail-fast |
|
PR_Github #81057 [ run ] triggered by Bot. Commit: |
|
PR_Github #81057 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #81305 [ run ] triggered by Bot. Commit: |
|
PR_Github #81305 [ run ] completed with state |
# Conflicts: # tensorrt_llm/_torch/modules/linear.py
|
/bot skip --comment "trivial merge" |
|
PR_Github #81364 [ skip ] triggered by Bot. Commit: |
|
PR_Github #81364 [ skip ] completed with state |
PR NVIDIA#20137 gives the dense FP8 block-scale Linear its SM121 path. Signed-off-by: Dorian Donaj Magasic <dorian.magasic@turintech.ai>
Resolve linear.py against NVIDIA#20833, so the tuned call uses the new weight argument, and adapt cublasScaledMM.cpp to NVIDIA#20137, which removed the queryRealSmArch argument of getSMVersion(). Signed-off-by: Dorian Donaj Magasic <dorian.magasic@turintech.ai>
….3: Restore Mistral Large 3 multimodal inference Forward-port of release/1.3 PR NVIDIA#19788 (release/1.3 commit 48c796c) to main. Adapted to main: adopts main's MultimodalItemMetadata contract from _build_mm_item_metadata and exposes it through get_mm_item_metadata, and the new tests call get_mm_item_metadata and compare against the tuples that MultimodalItemMetadata now stores. Also: the HF tokenizer load in MistralHFInputProcessor follows the trust_remote_code argument like the processor load next to it, and build_fmha_head104_tests requests dynamic NVRTC linking and passes plain architecture numbers (NVIDIA#20137) like the other configure-only gtest fixtures, so the target does not depend on a configure cache left by an earlier fixture. Signed-off-by: Pranav Shrestha <254760092+pranav-nvidia@users.noreply.github.com> Co-authored-by: Pranav Shrestha <254760092+pranav-nvidia@users.noreply.github.com> Signed-off-by: Simeng Liu <simengl@nvidia.com>
….3: Restore Mistral Large 3 multimodal inference Forward-port of release/1.3 PR NVIDIA#19788 (release/1.3 commit 48c796c) to main. Adapted to main: adopts main's MultimodalItemMetadata contract from _build_mm_item_metadata and exposes it through get_mm_item_metadata, and the new tests call get_mm_item_metadata and compare against the tuples that MultimodalItemMetadata now stores. Also: the HF tokenizer load in MistralHFInputProcessor follows the trust_remote_code argument like the processor load next to it, and build_fmha_head104_tests requests dynamic NVRTC linking and passes plain architecture numbers (NVIDIA#20137) like the other configure-only gtest fixtures, so the target does not depend on a configure cache left by an earlier fixture. It also regenerates the FMHA sources, so a stale generation stamp cannot hide the head-104 generator changes, and fmhaHead104Test is registered with add_tllm_gtest (OWNER, LABELS, FULL_STACK) as main asks for new C++ tests (NVIDIA#21022). Signed-off-by: Pranav Shrestha <254760092+pranav-nvidia@users.noreply.github.com> Co-authored-by: Pranav Shrestha <254760092+pranav-nvidia@users.noreply.github.com> Signed-off-by: Simeng Liu <simengl@nvidia.com>
….3: Restore Mistral Large 3 multimodal inference Forward-port of release/1.3 PR NVIDIA#19788 (release/1.3 commit 48c796c) to main. Adapted to main: adopts main's MultimodalItemMetadata contract from _build_mm_item_metadata and exposes it through get_mm_item_metadata, and the new tests call get_mm_item_metadata and compare against the tuples that MultimodalItemMetadata now stores. Also: the HF tokenizer load in MistralHFInputProcessor follows the trust_remote_code argument like the processor load next to it, and build_fmha_head104_tests requests dynamic NVRTC linking and passes plain architecture numbers (NVIDIA#20137) like the other configure-only gtest fixtures, so the target does not depend on a configure cache left by an earlier fixture. It also regenerates the FMHA sources, so a stale generation stamp cannot hide the head-104 generator changes, and fmhaHead104Test is registered with add_tllm_gtest (OWNER, LABELS, FULL_STACK) as main asks for new C++ tests (NVIDIA#21022). Signed-off-by: Pranav Shrestha <254760092+pranav-nvidia@users.noreply.github.com> Co-authored-by: Pranav Shrestha <254760092+pranav-nvidia@users.noreply.github.com> Signed-off-by: Simeng Liu <simengl@nvidia.com>
….3: Restore Mistral Large 3 multimodal inference Forward-port of release/1.3 PR NVIDIA#19788 (release/1.3 commit 48c796c) to main. Adapted to main: adopts main's MultimodalItemMetadata contract from _build_mm_item_metadata and exposes it through get_mm_item_metadata, and the new tests call get_mm_item_metadata and compare against the tuples that MultimodalItemMetadata now stores. Also: the HF tokenizer load in MistralHFInputProcessor follows the trust_remote_code argument like the processor load next to it, and build_fmha_head104_tests requests dynamic NVRTC linking and passes plain architecture numbers (NVIDIA#20137) like the other configure-only gtest fixtures, so the target does not depend on a configure cache left by an earlier fixture. It also regenerates the FMHA sources, so a stale generation stamp cannot hide the head-104 generator changes, and fmhaHead104Test is registered with add_tllm_gtest (OWNER, LABELS, FULL_STACK) as main asks for new C++ tests (NVIDIA#21022). Signed-off-by: Pranav Shrestha <254760092+pranav-nvidia@users.noreply.github.com> Co-authored-by: Pranav Shrestha <254760092+pranav-nvidia@users.noreply.github.com> Signed-off-by: Simeng Liu <simengl@nvidia.com>
Dev Engineer Review
-realsuffixes from build defaults, documentation, CI, Docker, Slurm, and runtime guidance.isSM120Familyandis_sm_120f.QA Engineer Review
tests/unittest/others/test_cuda_architecture_check.pyfor architecture metadata, exact matching, built-versus-supported checks, and device validation.tests/integration/test_lists/test-db/l0_a10.yml.Per-File QA Perspective
Source and build files
cpp/cmake/modules/cuda_configuration.cmake: Verify suffix normalization, SM121 support, default selection, and rejection of architectures without compiled kernels.cpp/include/tensorrt_llm/common/cudaArchitectures.h: Verify the public architecture-query and validation API.cpp/tensorrt_llm/common/cudaArchitectures.cpp: Verify built-versus-supported classification and all device error paths.cpp/tensorrt_llm/common/CMakeLists.txt: Verify compile definitions contain the intended architecture lists.cpp/include/tensorrt_llm/common/cudaUtils.handtensorrt_llm/_utils.py: Verify SM121 reporting and consistent SM120-family predicates.cpp/tensorrt_llm/nanobind/bindings.cpp: Verify Python exposure of architecture metadata and validation methods.tensorrt_llm/executor/base_worker.pyandtensorrt_llm/_torch/visual_gen/executor.py: Verify validation occurs after device selection and before model or distributed initialization.cpp/tensorrt_llm/kernels/trtllmGenKernels/fmha/CMakeLists.txt: Verify architecture 100, 103, 107, and 100f filtering and cubin registration.scripts/build_wheel.py: Verify semicolon-separated architecture parsing, suffix warnings, and Volta rejection.Test files
tests/unittest/others/test_cuda_architecture_check.py: Covers architecture metadata, exact matching, build support, and device validation. It is listed in the A10 CI test list.tests/unittest/scripts/test_build_wheel_copy_back.py: Covers unsuffixed architecture parsing and suffix compatibility cases.tests/integration/test_lists/test-db/l0_a10.yml: Verify the architecture-check test runs in the intended A10 job.Description
-a "121"is now required to support SM121.-a "120;121"still builds only thesm120fversion of the kernel.is_sm_120finstead of manually testsm in [120, 121], to align withis_sm_100f.-realsuffix when defining architectures during buildcuda_configuration.cmakenormalizes that, and user should specify the exact architectures they want to support. Adding-realnow generate warning, so users don't misunderstand the meaning.Test Coverage
Build tweaks. Passing build and current tests are enough.
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-compatibleorapi-breaking. Forapi-breaking, includeBREAKINGin 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.