Skip to content

[TRTLLM-14026][feat] BREAKING: Don't review Remove TensorRT from the C++ tree (t4)#16477

Closed
Wanli-Jiang wants to merge 1 commit into
NVIDIA:mainfrom
Wanli-Jiang:user/williamj/deprecated-trt-backend-removal-cpp-t4
Closed

[TRTLLM-14026][feat] BREAKING: Don't review Remove TensorRT from the C++ tree (t4)#16477
Wanli-Jiang wants to merge 1 commit into
NVIDIA:mainfrom
Wanli-Jiang:user/williamj/deprecated-trt-backend-removal-cpp-t4

Conversation

@Wanli-Jiang

@Wanli-Jiang Wanli-Jiang commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

@coderabbitai summary

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.

@Wanli-Jiang

Copy link
Copy Markdown
Collaborator Author

/bot run --post-merge --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59642 [ run ] triggered by Bot. Commit: 1b750aa Link to invocation

@Wanli-Jiang

Copy link
Copy Markdown
Collaborator Author

/bot run --post-merge --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59691 [ run ] triggered by Bot. Commit: 1b750aa Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59642 [ run ] completed with state ABORTED. Commit: 1b750aa

Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59691 [ run ] completed with state SUCCESS. Commit: 1b750aa
/LLM/main/L0_MergeRequest_PR pipeline #48120 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

@Wanli-Jiang
Wanli-Jiang force-pushed the user/williamj/deprecated-trt-backend-removal-cpp-t4 branch from 1b750aa to 9f0a563 Compare July 17, 2026 06:18
@Wanli-Jiang

Copy link
Copy Markdown
Collaborator Author

/bot run --only-multi-gpu-test --post-merge --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59905 [ run ] triggered by Bot. Commit: 9f0a563 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #59905 [ run ] completed with state FAILURE. Commit: 9f0a563
/LLM/main/L0_MergeRequest_PR pipeline #48307 (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

Sever the C++ tree's compile- and link-time dependency on TensorRT so the
shared core (runtime, batch manager, executor API, KV cache, sampling,
kernels, nanobind bridge) builds, links, and runs without the TensorRT
library. Follows the Python TensorRT-backend removal (TRTLLM-14022);
PyTorch is the sole backend.

Internal types (serialization-compatible):
- add tensorrt_llm::DataType/Dims (common/tllmDataType.h); DataType
  enumerator values mirror nvinfer1::DataType for byte-compatible
  serialization, Dims layout mirrors nvinfer1::Dims
- migrate nvinfer1::DataType/Dims -> tensorrt_llm:: across 206
  surviving files; replace NvInfer*.h includes with the internal header;
  drop 12 dead NvInfer includes from files that never referenced nvinfer1
- add tests/unittest/bindings/test_datatype_parity.py guarding the
  enumerator values (auto-scheduled via the existing unittest/bindings
  test-db entries)

Remove the TensorRT-engine execution path (unused by the PyTorch backend):
- plugins/ (nvinfer_plugin_tensorrt_llm), engine runtime wrappers
  (tllmRuntime, tllmStreamReaders, layerProfiler, rawEngine, tllmLogger),
  TRT model adapters (trtGptModel*/trtEncoderModel/trtGptModelFactory),
  executor.cpp/executorImpl, the C++ Executor + TllmRuntime +
  LogitsPostProcessor nanobind bindings (0 Python users each),
  executor_worker, disaggServerUtil, engine I/O buffers and engine-only
  logits/decoder algos, executor/model.h (0 consumers), the ModelSpec test
  helper + binding (orphaned)
- keep the retained KVCacheEvent ctor and executor::version() inline in
  executor.h (they are trivial; no separate .cpp needed)
- decouple shared files (inflightBatchingUtils, medusaBuffers,
  lookaheadBuffers, dataTransceiver) from the removed engine runtime
- remove classes orphaned by the engine-path removal: GuidedDecoder
  (the PyTorch backend has its own Python guided decoder; xgrammar stays
  for executor::GuidedDecodingConfig), IntervalSet and DynamicBatchTuner
  (both only consumed by the removed executorImpl), each with their tests;
  removing guidedDecoderTest empties cpp/tests/e2e_tests entirely
- restore the engine-free half of test_executor_bindings.py (config/
  request/result/response/stats construction and pickle tests) since the
  underlying bindings stay and serve the PyTorch backend; only the
  trtllm.Executor/engine-fixture tests are dropped; the second, duplicated
  test_speculative_decoding_config (shadowed, never ran) is renamed to
  test_decoding_config to match what it tests
- delete the engine-driven C++ tests (e2e_tests engine tests,
  executorTestSmall*, tllmRuntimeTest, encDecBeamSearchTest,
  tests/utils engine builders), cudaGraphExecutorCacheTest (tests the
  removed CudaGraphExecutor), unit_tests/utils (tests the deleted
  tests/utils helpers), tests/unittest/others/test_leak.py (its body
  calls the removed python graph-building APIs; unscheduled in CI), C++ benchmarks (bertBenchmark,
  gptManagerBenchmark, disaggServerBenchmark; the prepare_dataset.py
  tooling used by trtllm-bench stays), examples/cpp executor examples,
  and the cpp/tests/resources engine-build scripts
- fix kept tests: strip vestigial never-consumed TllmLogger members
  (7 files), repoint ropeTest.cu to kernels/gptKernels.h (+ cudaUtils.h
  for QuantMode/getSMVersion), inline the engine-free
  createDecoderBatchInputs helper into gptDecoderBatchedTest, drop the
  empty tensorrt_llm::runtime forward-declaration block left in
  batch_manager/utils/debugUtils.h, narrow requestTest's
  using-namespace-common to a TllmException using-declaration (common now
  also exports DataType, which made the unqualified executor::DataType
  references ambiguous)
- make dependencies the deleted plugin target satisfied transitively
  explicit: MPI include dirs for cpp/tests, th_utils -> tensorrt_llm
  shared-lib link
- remove the IS_BUILDING build-time env contract end to end
  (common/opUtils.h isBuilding + attentionOp gate + _common.py half)
- remove the llm_args=None engine path from executor/base_worker.py
  (tllm.Executor no longer exists); llm_args is now required

Build/packaging (no TensorRT):
- drop find_package(TensorRT)/TRT_LIB/NvInfer include injection and the
  plugins/executor_worker/benchmarks subdirs from the cpp CMake;
  delete FindTensorRT.cmake
- build_wheel.py: trt_root optional (default None), drop the tensorrt
  venv check and the nvinfer_plugin/executorWorker/benchmarks targets
- setup.py no longer packages libnvinfer_plugin_tensorrt_llm.so /
  executorWorker; requirements.txt drops tensorrt
- jenkins/Build.groovy: drop --benchmarks, the benchmark/libnvinfer-plugin
  tarball packaging, and the build_cpp_examples.py step
- delist the removed tests from test-db/waives.txt/.test_durations and
  prune tests/integration/defs/cpp to the shared-core gtest wrappers

- CI-run fixes: respell the nvinfer1 usages a post-rebase main commit
  (NVIDIA#16304) added to kvCacheManagerTest; retire the two CI stages emptied by
  the delisting (A10-CPP-1, H100_PCIe-CPP-Post-Merge-1) and drop the
  duplicate tensorrt-chunk scheduling of unittest/disaggregated/test_router.py;
  make test_to_stage_mapping's CLI check sample only stage-mapped tests
- point the remaining benchmarks/cpp references (AutoDeploy bench/dist/
  allreduce-strategy tests,
  llmc standalone packager + its test, trtllm-bench docs) at benchmarks/ and
  drop the orphaned get_cpp_benchmark() helper
- fix the two OSS-mode gtest compile failures unmasked by dropping the
  nvinfer_plugin link (its PUBLIC USING_OSS_CUTLASS_*_GEMM defines had leaked
  into every gtest, keeping the internal-only branches dormant): inline the
  deleted tests/utils GpuTimer into gemmAllReduceTest.cu, and only add the
  mixtureOfExpertsInternalTest target when INTERNAL_CUTLASS_KERNELS_PATH
  provides the internal headers it includes

Signed-off-by: Wanli Jiang <35160485+Wanli-Jiang@users.noreply.github.com>
@Wanli-Jiang
Wanli-Jiang force-pushed the user/williamj/deprecated-trt-backend-removal-cpp-t4 branch from 9f0a563 to e2e81d0 Compare July 19, 2026 03:33
@Wanli-Jiang

Copy link
Copy Markdown
Collaborator Author

/bot help

@github-actions

Copy link
Copy Markdown

GitHub Bot Help

/bot [-h] ['run', 'kill', 'skip', 'reuse-pipeline'] ...

Provide a user friendly way for developers to interact with a Jenkins server.

Run /bot [-h|--help] to print this help message.

See details below for each supported subcommand.

Details

run [--reuse-test (optional)pipeline-id --disable-fail-fast --skip-test --stage-list "A10-PyTorch-1, xxx" --gpu-type "A30, H100_PCIe" --test-backend "pytorch, cpp" --add-multi-gpu-test --only-multi-gpu-test --disable-multi-gpu-test --post-merge --extra-stage "H100_PCIe-TensorRT-Post-Merge-1, xxx" --detailed-log --debug(experimental) --high-priority]

Launch build/test pipelines. All previously running jobs will be killed.

--reuse-test (optional)pipeline-id (OPTIONAL) : Allow the new pipeline to reuse build artifacts and skip successful test stages from a specified pipeline or the last pipeline if no pipeline-id is indicated. If the Git commit ID has changed, this option will be always ignored. The DEFAULT behavior of the bot is to reuse build artifacts and successful test results from the last pipeline.

--disable-reuse-test (OPTIONAL) : Explicitly prevent the pipeline from reusing build artifacts and skipping successful test stages from a previous pipeline. Ensure that all builds and tests are run regardless of previous successes.

--disable-fail-fast (OPTIONAL) : Disable fail fast on build/tests/infra failures.

--skip-test (OPTIONAL) : Skip all test stages, but still run build stages, package stages and sanity check stages. Note: Does NOT update GitHub check status.

--stage-list "A10-PyTorch-1, xxx" (OPTIONAL) : Only run the specified test stages. Supports wildcard * for pattern matching (e.g., "*PerfSanity*" matches all stages containing PerfSanity). Examples: "A10-PyTorch-1, xxx", "PerfSanity". Note: Does NOT update GitHub check status.

--gpu-type "A30, H100_PCIe" (OPTIONAL) : Only run the test stages on the specified GPU types. Examples: "A30, H100_PCIe". Note: Does NOT update GitHub check status.

--test-backend "pytorch, cpp" (OPTIONAL) : Skip test stages which don't match the specified backends. Only support [pytorch, cpp, tensorrt, triton]. Examples: "pytorch, cpp" (does not run test stages with tensorrt or triton backend). Note: Does NOT update GitHub pipeline status.

--only-multi-gpu-test (OPTIONAL) : Only run the multi-GPU tests. Note: Does NOT update GitHub check status.

--disable-multi-gpu-test (OPTIONAL) : Disable the multi-GPU tests. Note: Does NOT update GitHub check status.

--add-multi-gpu-test (OPTIONAL) : Force run the multi-GPU tests in addition to running L0 pre-merge pipeline.

--post-merge (OPTIONAL) : Run the L0 post-merge pipeline instead of the ordinary L0 pre-merge pipeline.

--extra-stage "H100_PCIe-TensorRT-Post-Merge-1, xxx" (OPTIONAL) : Run the ordinary L0 pre-merge pipeline and specified test stages. Supports wildcard * for pattern matching. Examples: --extra-stage "H100_PCIe-TensorRT-Post-Merge-1, xxx", --extra-stage "Post-Merge".

--detailed-log (OPTIONAL) : Enable flushing out all logs to the Jenkins console. This will significantly increase the log volume and may slow down the job.

--debug (OPTIONAL) : Experimental feature. Enable access to the CI container for debugging purpose. Note: Specify exactly one stage in the stage-list parameter to access the appropriate container environment. Note: Does NOT update GitHub check status.

--high-priority (OPTIONAL) : Run the pipeline with high priority. This option is restricted to authorized users only and will route the job to a high-priority queue.

kill

kill

Kill all running builds associated with pull request.

skip

skip --comment COMMENT

Skip testing for latest commit on pull request. --comment "Reason for skipping build/test" is required. IMPORTANT NOTE: This is dangerous since lack of user care and validation can cause top of tree to break.

reuse-pipeline

reuse-pipeline

Reuse a previous pipeline to validate current commit. This action will also kill all currently running builds associated with the pull request. IMPORTANT NOTE: This is dangerous since lack of user care and validation can cause top of tree to break.

@Wanli-Jiang

Copy link
Copy Markdown
Collaborator Author

/bot run --only-multi-gpu-test --post-merge --disable-fail-fast --stage-list "DGX_B200-4_GPUs-PyTorch-Post-Merge-2,DGX_B200-8_GPUs-PyTorch-PerfSanity-Post-Merge-3,DGX_B300-4_GPUs-PyTorch-Post-Merge-1,DGX_B200-16_GPUs-2_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE1-GPU8-Post-Merge-4,DGX_H200-4_GPUs-PyTorch-Post-Merge-1,DGX_H200-8_GPUs-PyTorch-PerfSanity-Post-Merge-1,DGX_H200-8_GPUs-PyTorch-Post-Merge-1,GB200-12_GPUs-3_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE2-GPU8-Post-Merge-6,GB200-8_GPUs-2_Nodes-PyTorch-PerfSanity-Node2-GPU8-Post-Merge-2,GB300-12_GPUs-3_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU2-GEN1-NODE2-GPU8-Post-Merge-2,GB300-12_GPUs-3_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE2-GPU8-Post-Merge-1,GB300-12_GPUs-3_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE2-GPU8-Post-Merge-2,GB300-20_GPUs-5_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE4-GPU16-Post-Merge-2,GB300-20_GPUs-5_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE4-GPU16-Post-Merge-4,GB300-36_GPUs-9_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE8-GPU32-Post-Merge-2,GB300-8_GPUs-2_Nodes-PyTorch-PerfSanity-Node2-GPU8-Post-Merge-2,GB300-4_GPUs-PyTorch-PerfSanity-Post-Merge-1"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60142 [ run ] triggered by Bot. Commit: e2e81d0 Link to invocation

@Wanli-Jiang

Copy link
Copy Markdown
Collaborator Author

/bot run --only-multi-gpu-test --post-merge --disable-fail-fast --stage-list "DGX_B200-4_GPUs-PyTorch-Post-Merge-2,DGX_B200-8_GPUs-PyTorch-PerfSanity-Post-Merge-3,DGX_B300-4_GPUs-PyTorch-Post-Merge-1,DGX_B200-16_GPUs-2_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE1-GPU8-Post-Merge-1,DGX_B200-16_GPUs-2_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE1-GPU8-Post-Merge-2,DGX_H200-4_GPUs-PyTorch-Post-Merge-1,DGX_H200-8_GPUs-PyTorch-PerfSanity-Post-Merge-1,DGX_H200-8_GPUs-PyTorch-Post-Merge-1,GB200-12_GPUs-3_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE2-GPU8-Post-Merge-1,GB200-12_GPUs-3_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE2-GPU8-Post-Merge-2,GB200-12_GPUs-3_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE2-GPU8-Post-Merge-3,GB200-8_GPUs-2_Nodes-PyTorch-PerfSanity-Node2-GPU8-Post-Merge-2,GB300-12_GPUs-3_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU2-GEN1-NODE2-GPU8-Post-Merge-2,GB300-12_GPUs-3_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE2-GPU8-Post-Merge-1,GB300-12_GPUs-3_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE2-GPU8-Post-Merge-2,GB300-20_GPUs-5_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE4-GPU16-Post-Merge-2,GB300-20_GPUs-5_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE4-GPU16-Post-Merge-4,GB300-36_GPUs-9_Nodes-PyTorch-Disagg-PerfSanity-CTX1-NODE1-GPU4-GEN1-NODE8-GPU32-Post-Merge-1,GB300-8_GPUs-2_Nodes-PyTorch-PerfSanity-Node2-GPU8-Post-Merge-2,GB300-4_GPUs-PyTorch-PerfSanity-Post-Merge-1"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60143 [ run ] triggered by Bot. Commit: e2e81d0 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60142 [ run ] completed with state ABORTED. Commit: e2e81d0

Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60143 [ run ] completed with state FAILURE. Commit: e2e81d0
/LLM/main/L0_MergeRequest_PR pipeline #48522 (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

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