Skip to content

[TRTLLM-14473][chore] Remove legacy TensorRT backend tests examples and CI plumbing#16610

Merged
Wanli-Jiang merged 1 commit into
NVIDIA:mainfrom
Wanli-Jiang:user/williamj/trtllm-14027-tests-examples
Jul 22, 2026
Merged

[TRTLLM-14473][chore] Remove legacy TensorRT backend tests examples and CI plumbing#16610
Wanli-Jiang merged 1 commit into
NVIDIA:mainfrom
Wanli-Jiang:user/williamj/trtllm-14027-tests-examples

Conversation

@Wanli-Jiang

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

Copy link
Copy Markdown
Collaborator

Features

Why this PR exists

Phase C removed the TensorRT engine backend itself (trtllm-build,
convert_checkpoint.py flows, ModelRunner*, tensorrt_llm.builder).
This PR removes the test wrappers, example scripts, and CI plumbing that
existed only to exercise that removed backend. Everything deleted here
falls into one of two buckets:

  1. Cannot run anymore — it invokes a command or imports a module that
    no longer exists (trtllm-build, examples/run.py, deleted model
    classes), or
  2. Cannot be reached anymore — it was scheduled only on the
    backend: tensorrt test-db buckets / -TensorRT- CI stages retired
    here, or referenced by nothing at all (verified by reference sweep).

Change groups

1. CI schedules / jenkins (CI-owner review requested)

Change Detail
Retire -TensorRT- stages All commented-out -TensorRT-Post-Merge stage rows, the backend=tensorrt mako branch, the TEST_BACKEND changeMap entry, and excludedBackends mentions removed from jenkins/L0_Test.groovy; the ("-TensorRT-", "tensorrt") pattern dropped from jenkins/scripts/cbts/blocks.py (kept in sync with the groovy map, hence in this PR, not the infra PR)
Delete dead backend: tensorrt buckets l0_a30.yml (−33), l0_dgx_h200.yml (−21), plus legacy subsets in l0_a10/h100/l40s
Re-home neutral coverage Backend-neutral tests moved off retired stages; remaining neutral buckets flipped to pytorch so parked coverage runs again (l0_a100, l0_b200, l0_dgx_h200 4-GPU, l0_l40s)
NEW stages A100X-PyTorch-Post-Merge-1 and L40S-PyTorch-Post-Merge-1 schedule the restored a100/l40s post-merge coverage — this is the main thing CI owners should eyeball
waives.txt 42 waives dropped for deleted/unscheduled tests (the AST validator requires waived tests to exist in an active list)

Note: the dead runPackageSanityCheck wheel-check removal is not in
this PR — it moved to the infra PR (TRTLLM-14027) since it is package
infra, uncoupled from test schedules.

2. Legacy engine-flow integration tests (~14k lines)

  • Deleted tests/integration/defs/examples/ wrappers — every test in
    them drove the removed convert → trtllm-build → run flow:
    test_{bert, chatglm, commandr, draft_target_model, eagle, enc_dec, gptj, granite, internlm, llama, mamba, medusa, mistral, mixtral, multimodal, nemotron, nemotron_nas, ngram, openai, qwen, qwen2audio, qwenvl, redrafter, whisper, bindings, flux}.py, the two whisper
    validators, and run_llm_fp8_quant_llama_70b.py.
  • Pruned, not deleted: test_gpt.py (740→84 lines, keeps the live
    test_gpt_oss_20b_lora_torch), test_phi.py (drops the quantization
    engine test), test_e2e.py (drops test_gpt3_175b_1layers_build_only
    unscheduled and invokes trtllm-build).
  • Helper cascade in defs/common.py: convert_weights,
    quantize_data, prune_checkpoint, refit_model, find_tensorrt
    last consumers were the wrappers above. defs/perf/build.py (1,524
    lines) and test_perf.py's trtllm-build/build.py branches removed;
    the non-trtllm-bench build-script legs now raise RuntimeError so a
    future misconfiguration fails loudly.
  • 19 orphaned *_example_root fixtures removed across
    defs/conftest.py and triton_server/conftest.py. Verified: zero
    users, and no dynamic request.getfixturevalue(f"...") resolution
    exists anywhere in defs that could reach them.

3. Dormant example scripts (~6k lines)

All imported deleted ModelRunner*/builder surfaces or drove engine
flows, and were unreachable from CI:

  • examples/{run, summarize, utils, mmlu, eval_long_context}.py
  • examples/openai_triton/** (TRT plugin demos), examples/python_plugin/**
  • examples/models/contrib/sdxl/**, examples/llm-eval/lm-eval-harness/**
  • Engine-flow multimodal scripts (build_multimodal_engine.py, run.py,
    eval.py), qwenvl/**, qwen2audio/**
  • examples/ngram/run_dtm_ngram.py (READMEs rewritten for the PyTorch
    flow where a live section remains)

4. examples/ reference sweep (~4.5k lines)

Every path checked against tests, published docs, jenkins, and code
(three independent scan agents + manual verification; the parked CLI-flow
suite deliberately not counted as a consumer):

  • contrib — 9 of 10 dirs deleted: arctic, blip2 (redirect stub),
    chatglm-6b/2-6b/3-6b-32k, internlm, jais, skywork, smaug
    README/requirements-only legacy-flow dirs, zero references.
    hyperclovax stays (live PyTorch README linked from release notes).
  • core: granite/ and mixtral/ deleted (legacy-flow READMEs only);
    multimodal/ keeps the live Qwen-Image-Bench stub +
    qwen_image_bench_eval.py (used by live unittests) but drops
    utils.py, __init__.py, and 6 per-model requirements-*.txt;
    nemotron/ drops the Nemo-flow README_nemotron-3.md +
    requirements.txt (the three current PyTorch READMEs stay).
  • top level: generate_checkpoint_config.py (fed trtllm-build),
    generate_xgrammar_tokenizer_info.py (unreferenced; the live path
    calls _xgrammar_tokenizer_info() directly), hf_lora_convert.py
    (produced the removed .npy LoRA format), sample_weight_stripping/,
    cpp_library/, dora/, language_adapter/.

5. Small code prunes

  • tensorrt_llm/models/automodel.py: the decoding_mode
    isMedusa/isEagle branch — it mapped to MedusaForCausalLM /
    EagleForCausalLM TRT model classes deleted in Phase B, so the branch
    could only raise; no caller passes decoding_mode. PyTorch spec-dec
    does not use this path.
  • tensorrt_llm/_utils.py::supports_inflight_batching — same story.
  • Docs touch-ups: ci-overview.md, AutoDeploy testing_strategy.md,
    test-db README example refreshed to a real test id.

6. Additions (the +110)

  • TestQwen2_7BInstruct::test_tp2 ported to the PyTorch accuracy suite
    (test_llm_api_pytorch.py) + its qa/llm_function_core.txt entry.
    Currently skipped with reason: TP2 hangs in the AUTO custom
    allreduce on PCIe-only (all-SYS topology) nodes, and the LMHead
    AllReduce ignores allreduce_strategy, so the knob cannot work around
    it. Unskip once validated on NVLink or the lm_head strategy plumbing is
    fixed. (Two nvbug filings pending for the underlying defects.)

Deliberately KEPT

Item Why
accuracy/test_cli_flow.py + CliFlowAccuracyTestHarness User decision: retained for possible future reuse. Unscheduled and currently non-runnable (engine flow gone); collects cleanly; commit message records the decision
examples/infinitebench/ Dataset-prep dependency of the retained CLI-flow suite
examples/{longbench, opentelemetry, sparse_attention} Unreferenced but document current features — user decision to keep
examples/models/contrib/hyperclovax/ Live PyTorch README, linked from published release notes
benchmarks/prepare_dataset.py Not in this PR — kept as a shim in the python-cleanup PR (TRTLLM-14474)
Stale "TRT flow" sections inside live READMEs (hyperclovax, exaone) Trim-worthy but that is editing live docs, not deleting dead ones — left for doc owners

Validation

  • Collection: tests/integration/defs collects 4,225 tests on the
    rebased base, zero errors (was 4,207 pre-sweep; −1 deleted dead test,
    +19 upstream additions).
  • Hooks: full pre-commit passes, including the waives/test-list AST
    validator and the test-db config checks.
  • Cross-PR union: merging this branch with the infra
    (TRTLLM-14027), python-cleanup (TRTLLM-14474), and cpp-cleanup
    (TRTLLM-14475) branches onto origin/main is conflict-free and was
    verified to produce the intended combined tree.
  • Rebase note: the branch was rebased onto origin/main
    b8604c46ce; the waives.txt conflict was resolved as upstream's
    version minus exactly our 42 deletions
    (our change verified to be
    pure deletion).

Known follow-ups (not in this PR)

  • legacy-files.txt / ruff-baseline entries for files deleted here go
    stale — a mechanical scripts/legacy_utils.py prune-files +
    gen-configs pass runs after this and the python-cleanup PR merge
    (kept out of both to avoid cross-PR conflicts).
  • File two nvbugs from the test_tp2 investigation: (1) AUTO custom
    allreduce deadlock on all-SYS PCIe topology; (2) LMHead/Linear
    AllReduce constructed without model_config.allreduce_strategy.
  • Handoff to examples owners: the now-consumerless model example dirs'
    remaining trtllm-build README sections.

Dev Engineer Review

  • Removed legacy TensorRT-backend test wrappers/examples, helper/conversion utilities, integration fixtures, and CI/Jenkins stage logic tied to the TensorRT engine backend.
  • Migrated/retained CI coverage to the PyTorch backend:
    • Updated Jenkins stage filtering and test-to-stage mapping logic to stop treating -TensorRT- stage names as forcing a TensorRT backend selection.
    • Updated L0 test matrices and per-GPU backend selectors to switch TensorRT-scoped selections to PyTorch where applicable.
    • Updated waivers and CI registration examples to target the new accuracy/... SKIP cases.
  • Added/ported select coverage:
    • Added a PyTorch accuracy TP2 test for Qwen2 with an explicit skip rationale (AUTO custom allreduce hang) plus device-count guard.
    • Added a PyTorch Phi multi-LoRA integration test and replaced a GPT-3 build-only E2E with a Qwen2 CPPRunner E2E smoke generation test.
  • Doc/config hygiene:
    • Updated CI documentation examples and integration test registration YAML snippets.
    • Updated stage parsing regex to support boolean Groovy list elements and added a corresponding unittest change to validate backend-filtering consistency.
  • Notes / risks:
    • Several TensorRT example/integration modules and backend-specific utility code paths were deleted; regression risk is mainly around any remaining references to those modules/fixtures elsewhere in the suite.
    • CI appears to have passed collection/validation (per the PR description), but merge-request pipelines reportedly failed for some L0_MergeRequest_PR builds, requiring follow-up before approval.

QA Engineer Review

Test-list changes (test-db/ and qa/)

Modified files and key entry updates:

  • tests/integration/test_lists/qa/README.md
    • Updated the “Run a single test case” command to point to accuracy/test_llm_api_pytorch.py::TestLlama3_1_8B::test_auto_dtype (instead of the CLI-flow test).
  • tests/integration/test_lists/qa/llm_function_core.txt
    • Added accuracy/test_llm_api_pytorch.py::TestQwen2_7BInstruct::test_tp2.
  • tests/integration/test_lists/test-db/README.md
    • Replaced references to removed examples/test_llama.py::test_llm_llama_v3_1_1node_multi_gpus[...] entries with accuracy/test_llm_api_pytorch.py::TestLlama3_1_8BInstruct::test_fp8[...] entries (varying fp8kv).
  • tests/integration/test_lists/test-db/l0_a10.yml
    • Switched backend selection to PyTorch for the post-merge Ubuntu A10 gate; removed TensorRT-specific A10 post-merge tests and added/kept stress tests under PyTorch.
  • tests/integration/test_lists/test-db/l0_a100.yml
    • Switched A100 pre-merge backend wildcard selection from TensorRT to PyTorch.
  • tests/integration/test_lists/test-db/l0_a30.yml
    • Removed backend terms.stage: post_merge TensorRT entries (dropping multiple TensorRT-only example coverage entries).
  • tests/integration/test_lists/test-db/l0_b200.yml
    • Switched post-merge backend wildcard from TensorRT to PyTorch.
  • tests/integration/test_lists/test-db/l0_dgx_h200.yml
    • Removed one TensorRT-targeted 4-GPU block and retained only two tests by moving them into the remaining (non-TensorRT) list.
  • tests/integration/test_lists/test-db/l0_gb203.yml, l0_gh200.yml
    • Switched backend setting from TensorRT to PyTorch (kept test lists otherwise unchanged per diff summary).
  • tests/integration/test_lists/test-db/l0_h100.yml
    • Switched pre-merge and post-merge gate backend selections to PyTorch; expanded post-merge PyTorch coverage and removed the preceding TensorRT backend section so fmha follows directly.
  • tests/integration/test_lists/test-db/l0_l40s.yml
    • Switched post-merge L40S backend from TensorRT to PyTorch; removed prior TensorRT-specific tests and replaced later TensorRT block with an fmha block.
  • tests/integration/test_lists/waives.txt
    • Removed/adjusted multiple waivers, including TensorRT example/model SKIPs, and replaced some regions with narrower SKIPs for Ray/disaggregated serving, selected perf/test_perf quantizations, KV cache v2 scheduler tests, and selected llmapi tests (e.g., Mixtral MoE multi-lora and Eagle3 speculative decoding).

Verdict (test-list-only): needs follow-up (CI/backend coverage mapping for newly-added tests depends on CBTS/CI data not provided here, and merge-request pipelines reportedly failed).

Test-code changes (files outside test-lists)

Changed test modules / utilities:

  • tests/integration/defs/accuracy/test_llm_api_pytorch.py
    • Added TestQwen2_7BInstruct.test_tp2 (skipped; guarded by skip_less_device(2)).
  • tests/integration/defs/examples/test_phi.py
    • Removed TensorRT/quantization Phi quantization test path; added test_phi_4_mini_instruct_with_bf16_lora_torch (LLM-API Torch multi-LoRA path).
  • tests/integration/defs/test_e2e.py
    • Removed test_gpt3_175b_1layers_build_only.
    • Added test_qwen_e2e_cpprunner_large_new_tokens (Qwen2/DeepSeek-R1-Distill-Qwen-1.5B generation smoke).
  • Deletions of many TensorRT backend example/integration tests (module removals), including:
    • tests/integration/defs/examples/test_bert.py
    • tests/integration/defs/examples/test_bindings.py
    • tests/integration/defs/examples/test_chatglm.py
    • tests/integration/defs/examples/test_commandr.py
    • tests/integration/defs/examples/test_draft_target_model.py
    • tests/integration/defs/examples/test_eagle.py
    • tests/integration/defs/examples/test_enc_dec.py
    • tests/integration/defs/examples/test_flux.py
    • tests/integration/defs/examples/test_gptj.py
    • tests/integration/defs/examples/test_granite.py
    • tests/integration/defs/examples/test_internlm.py
    • tests/integration/defs/examples/test_llama.py (module removed)
    • tests/integration/defs/examples/test_mamba.py
    • tests/integration/defs/examples/test_medusa.py
    • tests/integration/defs/examples/test_phi_quantization path removed (via file-level edits described in diff summary)
    • plus additional example/runner scripts and shared utilities deleted (e.g., TP/TRT plugin/conversion flows, perf wiring changes).
  • CI runner/utilities touched:
    • tests/integration/defs/common.py (removed plugin options + TRT helper utilities like pruning/refit/quantize discovery)
    • tests/integration/defs/conftest.py (removed many example-root fixtures; removed plugin_gen_path)
    • tests/integration/defs/perf/test_perf.py (removed legacy TRT backend build wiring and restricted dataset prep behavior)
    • tests/integration/defs/triton_server/conftest.py (removed some TRT multimodal/qwen/mixtral example-root fixtures)
    • tests/unittest/tools/test_test_to_stage_mapping.py (test logic update for backend mapping consistency)

Coverage check against test-lists (from provided diff summary):

  • TestQwen2_7BInstruct.test_tp2
    • Covered: yes (present in tests/integration/test_lists/qa/llm_function_core.txt).
  • tests/integration/defs/examples/test_phi.py::test_phi_4_mini_instruct_with_bf16_lora_torch
    • Covered: not identified in provided tests/integration/test_lists/* diffs; follow-up needed to confirm CI selection.
  • tests/integration/defs/test_e2e.py::test_qwen_e2e_cpprunner_large_new_tokens
    • Covered: not identified in provided tests/integration/test_lists/* diffs; follow-up needed to confirm CI selection.

Verdict (test-code changes): needs follow-up (new/ported tests’ CI selection is not fully verifiable from the provided test-list diffs, and merge-request pipeline failures were reported).

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.

Comment thread jenkins/L0_Test.groovy
@Wanli-Jiang
Wanli-Jiang force-pushed the user/williamj/trtllm-14027-tests-examples branch from d3a833e to 6669d31 Compare July 20, 2026 09:01
@Wanli-Jiang
Wanli-Jiang marked this pull request as ready for review July 20, 2026 09:03
@Wanli-Jiang
Wanli-Jiang requested review from a team as code owners July 20, 2026 09:03
@Wanli-Jiang

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@xinhe-nv

xinhe-nv commented Jul 20, 2026

Copy link
Copy Markdown
Collaborator

@coderabbitai check tests/unittest/llmapi/apps, if there is any test that still uses tensorrt backend

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60335 [ run ] triggered by Bot. Commit: 6669d31 Link to invocation

@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 4fc8926c-2174-4106-876e-59da5001fc8a

📥 Commits

Reviewing files that changed from the base of the PR and between 386a95d and 29b7da2.

⛔ Files ignored due to path filters (3)
  • examples/models/core/qwen2audio/audio/glass-breaking-151256.mp3 is excluded by !**/*.mp3
  • examples/models/core/qwenvl/pics/1.png is excluded by !**/*.png
  • examples/models/core/qwenvl/pics/demo.jpeg is excluded by !**/*.jpeg
📒 Files selected for processing (151)
  • docs/source/developer-guide/ci-overview.md
  • docs/source/features/auto_deploy/advanced/testing_strategy.md
  • examples/cpp_library/CMakeLists.txt
  • examples/cpp_library/build.sh
  • examples/cpp_library/main.cpp
  • examples/cpp_library/tensorrt_llm_libutils.h
  • examples/dora/README.md
  • examples/dora/normalize_weights.py
  • examples/eval_long_context.py
  • examples/generate_checkpoint_config.py
  • examples/generate_xgrammar_tokenizer_info.py
  • examples/hf_lora_convert.py
  • examples/language_adapter/README.md
  • examples/llm-eval/lm-eval-harness/README.md
  • examples/llm-eval/lm-eval-harness/lm_eval_tensorrt_llm.py
  • examples/llm-eval/lm-eval-harness/requirements.txt
  • examples/mmlu.py
  • examples/models/contrib/arctic/README.md
  • examples/models/contrib/blip2/README.md
  • examples/models/contrib/chatglm-6b/README.md
  • examples/models/contrib/chatglm-6b/requirements.txt
  • examples/models/contrib/chatglm-6b/tokenization_chatglm.py
  • examples/models/contrib/chatglm2-6b/README.md
  • examples/models/contrib/chatglm2-6b/requirements.txt
  • examples/models/contrib/chatglm2-6b/tokenization_chatglm.py
  • examples/models/contrib/chatglm3-6b-32k/README.md
  • examples/models/contrib/chatglm3-6b-32k/requirements.txt
  • examples/models/contrib/chatglm3-6b-32k/tokenization_chatglm.py
  • examples/models/contrib/internlm/.gitignore
  • examples/models/contrib/internlm/README.md
  • examples/models/contrib/internlm/requirements.txt
  • examples/models/contrib/jais/README.md
  • examples/models/contrib/jais/requirements.txt
  • examples/models/contrib/sdxl/README.md
  • examples/models/contrib/sdxl/build_sdxl_unet.py
  • examples/models/contrib/sdxl/pipeline_stable_diffusion_xl.py
  • examples/models/contrib/sdxl/run_sdxl.py
  • examples/models/contrib/skywork/README.md
  • examples/models/contrib/skywork/requirements.txt
  • examples/models/contrib/smaug/README.md
  • examples/models/contrib/smaug/requirements.txt
  • examples/models/core/granite/README.md
  • examples/models/core/mixtral/README.md
  • examples/models/core/mixtral/requirements.txt
  • examples/models/core/multimodal/README.md
  • examples/models/core/multimodal/__init__.py
  • examples/models/core/multimodal/build_multimodal_engine.py
  • examples/models/core/multimodal/eval.py
  • examples/models/core/multimodal/requirements-eclair.txt
  • examples/models/core/multimodal/requirements-internlm-xcomposer2.txt
  • examples/models/core/multimodal/requirements-llava_onevision.txt
  • examples/models/core/multimodal/requirements-qwen2vl.txt
  • examples/models/core/multimodal/requirements-vila.txt
  • examples/models/core/multimodal/run.py
  • examples/models/core/multimodal/utils.py
  • examples/models/core/nemotron/README_nemotron-3.md
  • examples/models/core/nemotron/requirements.txt
  • examples/models/core/qwen2audio/README.md
  • examples/models/core/qwen2audio/requirements.txt
  • examples/models/core/qwen2audio/run.py
  • examples/models/core/qwen2audio/run_chat.py
  • examples/models/core/qwen2audio/utils.py
  • examples/models/core/qwenvl/README.md
  • examples/models/core/qwenvl/requirements.txt
  • examples/models/core/qwenvl/run.py
  • examples/models/core/qwenvl/run_chat.py
  • examples/models/core/qwenvl/show_pic.py
  • examples/models/core/qwenvl/vit_onnx_trt.py
  • examples/ngram/README.md
  • examples/ngram/run_dtm_ngram.py
  • examples/openai_triton/README.md
  • examples/openai_triton/manual_plugin/CMakeLists.txt
  • examples/openai_triton/manual_plugin/README.md
  • examples/openai_triton/manual_plugin/TritonFlashAttentionPlugin.cpp
  • examples/openai_triton/manual_plugin/TritonFlashAttentionPlugin.h
  • examples/openai_triton/manual_plugin/build.py
  • examples/openai_triton/manual_plugin/fmha_triton.py
  • examples/openai_triton/manual_plugin/plugin.py
  • examples/openai_triton/manual_plugin/run.py
  • examples/openai_triton/manual_plugin/tritonPlugins.cpp
  • examples/openai_triton/plugin_autogen/README.md
  • examples/openai_triton/plugin_autogen/build_engine.py
  • examples/openai_triton/plugin_autogen/kernel_config.py
  • examples/openai_triton/plugin_autogen/run_engine.py
  • examples/python_plugin/README.md
  • examples/python_plugin/build_lookup.py
  • examples/python_plugin/plugin_lib/__init__.py
  • examples/python_plugin/plugin_lib/lookup_kernel.py
  • examples/python_plugin/plugin_lib/lookup_plugin.py
  • examples/python_plugin/run_lookup.py
  • examples/run.py
  • examples/sample_weight_stripping/README.md
  • examples/summarize.py
  • examples/utils.py
  • jenkins/L0_Test.groovy
  • jenkins/scripts/cbts/blocks.py
  • scripts/test_to_stage_mapping.py
  • tensorrt_llm/_utils.py
  • tensorrt_llm/models/automodel.py
  • tests/integration/defs/accuracy/test_llm_api_pytorch.py
  • tests/integration/defs/common.py
  • tests/integration/defs/conftest.py
  • tests/integration/defs/examples/run_llm_fp8_quant_llama_70b.py
  • tests/integration/defs/examples/test_bert.py
  • tests/integration/defs/examples/test_bindings.py
  • tests/integration/defs/examples/test_chatglm.py
  • tests/integration/defs/examples/test_commandr.py
  • tests/integration/defs/examples/test_draft_target_model.py
  • tests/integration/defs/examples/test_eagle.py
  • tests/integration/defs/examples/test_enc_dec.py
  • tests/integration/defs/examples/test_flux.py
  • tests/integration/defs/examples/test_gpt.py
  • tests/integration/defs/examples/test_gptj.py
  • tests/integration/defs/examples/test_granite.py
  • tests/integration/defs/examples/test_internlm.py
  • tests/integration/defs/examples/test_llama.py
  • tests/integration/defs/examples/test_mamba.py
  • tests/integration/defs/examples/test_medusa.py
  • tests/integration/defs/examples/test_mistral.py
  • tests/integration/defs/examples/test_mixtral.py
  • tests/integration/defs/examples/test_multimodal.py
  • tests/integration/defs/examples/test_nemotron.py
  • tests/integration/defs/examples/test_nemotron_nas.py
  • tests/integration/defs/examples/test_ngram.py
  • tests/integration/defs/examples/test_openai.py
  • tests/integration/defs/examples/test_phi.py
  • tests/integration/defs/examples/test_qwen.py
  • tests/integration/defs/examples/test_qwen2audio.py
  • tests/integration/defs/examples/test_qwenvl.py
  • tests/integration/defs/examples/test_redrafter.py
  • tests/integration/defs/examples/test_whisper.py
  • tests/integration/defs/examples/validate_whisper_beam_logits.py
  • tests/integration/defs/examples/validate_whisper_log_probs_determinism.py
  • tests/integration/defs/perf/build.py
  • tests/integration/defs/perf/test_perf.py
  • tests/integration/defs/test_e2e.py
  • tests/integration/defs/triton_server/conftest.py
  • tests/integration/test_lists/qa/README.md
  • tests/integration/test_lists/qa/llm_function_core.txt
  • tests/integration/test_lists/test-db/README.md
  • tests/integration/test_lists/test-db/l0_a10.yml
  • tests/integration/test_lists/test-db/l0_a100.yml
  • tests/integration/test_lists/test-db/l0_a30.yml
  • tests/integration/test_lists/test-db/l0_b200.yml
  • tests/integration/test_lists/test-db/l0_dgx_h200.yml
  • tests/integration/test_lists/test-db/l0_gb203.yml
  • tests/integration/test_lists/test-db/l0_gh200.yml
  • tests/integration/test_lists/test-db/l0_h100.yml
  • tests/integration/test_lists/test-db/l0_l40s.yml
  • tests/integration/test_lists/waives.txt
  • tests/unittest/tools/test_test_to_stage_mapping.py
💤 Files with no reviewable changes (110)
  • examples/language_adapter/README.md
  • examples/models/contrib/chatglm3-6b-32k/requirements.txt
  • examples/models/contrib/internlm/.gitignore
  • examples/models/contrib/blip2/README.md
  • examples/models/core/mixtral/README.md
  • examples/models/core/multimodal/requirements-internlm-xcomposer2.txt
  • examples/models/contrib/sdxl/README.md
  • examples/cpp_library/build.sh
  • examples/models/contrib/arctic/README.md
  • examples/openai_triton/plugin_autogen/README.md
  • examples/models/core/nemotron/requirements.txt
  • examples/models/contrib/chatglm-6b/README.md
  • examples/openai_triton/manual_plugin/README.md
  • examples/sample_weight_stripping/README.md
  • examples/models/core/nemotron/README_nemotron-3.md
  • examples/ngram/run_dtm_ngram.py
  • examples/generate_xgrammar_tokenizer_info.py
  • examples/models/core/multimodal/requirements-qwen2vl.txt
  • examples/models/core/multimodal/build_multimodal_engine.py
  • examples/models/contrib/internlm/README.md
  • examples/openai_triton/plugin_autogen/build_engine.py
  • examples/models/core/multimodal/requirements-eclair.txt
  • examples/python_plugin/README.md
  • examples/models/contrib/smaug/requirements.txt
  • examples/models/contrib/skywork/README.md
  • examples/dora/README.md
  • examples/llm-eval/lm-eval-harness/requirements.txt
  • examples/models/contrib/chatglm2-6b/requirements.txt
  • tests/integration/defs/examples/test_flux.py
  • examples/models/core/qwen2audio/run_chat.py
  • examples/models/core/qwen2audio/README.md
  • examples/models/contrib/chatglm-6b/requirements.txt
  • tests/integration/test_lists/test-db/l0_a30.yml
  • examples/models/contrib/chatglm-6b/tokenization_chatglm.py
  • examples/models/contrib/chatglm3-6b-32k/tokenization_chatglm.py
  • examples/cpp_library/main.cpp
  • examples/models/contrib/smaug/README.md
  • examples/python_plugin/run_lookup.py
  • examples/cpp_library/tensorrt_llm_libutils.h
  • tests/integration/defs/examples/test_gptj.py
  • tests/integration/defs/examples/test_bert.py
  • examples/models/core/mixtral/requirements.txt
  • examples/openai_triton/README.md
  • examples/models/core/qwen2audio/requirements.txt
  • examples/openai_triton/plugin_autogen/kernel_config.py
  • tests/integration/defs/examples/test_draft_target_model.py
  • examples/cpp_library/CMakeLists.txt
  • examples/models/contrib/chatglm2-6b/tokenization_chatglm.py
  • examples/python_plugin/plugin_lib/lookup_kernel.py
  • examples/python_plugin/plugin_lib/init.py
  • tests/integration/defs/examples/test_commandr.py
  • examples/models/core/multimodal/utils.py
  • examples/models/contrib/sdxl/run_sdxl.py
  • examples/openai_triton/manual_plugin/tritonPlugins.cpp
  • examples/models/contrib/chatglm2-6b/README.md
  • examples/python_plugin/build_lookup.py
  • examples/openai_triton/manual_plugin/build.py
  • tests/integration/defs/examples/test_bindings.py
  • examples/models/core/qwenvl/requirements.txt
  • examples/models/core/multimodal/requirements-llava_onevision.txt
  • examples/models/core/multimodal/requirements-vila.txt
  • examples/models/contrib/jais/README.md
  • tests/integration/test_lists/test-db/l0_dgx_h200.yml
  • examples/models/core/granite/README.md
  • tests/integration/defs/examples/run_llm_fp8_quant_llama_70b.py
  • examples/models/contrib/sdxl/build_sdxl_unet.py
  • examples/openai_triton/manual_plugin/CMakeLists.txt
  • examples/openai_triton/manual_plugin/plugin.py
  • examples/models/contrib/sdxl/pipeline_stable_diffusion_xl.py
  • examples/models/core/qwenvl/README.md
  • examples/models/core/qwen2audio/utils.py
  • examples/python_plugin/plugin_lib/lookup_plugin.py
  • examples/llm-eval/lm-eval-harness/README.md
  • examples/openai_triton/manual_plugin/run.py
  • examples/models/core/qwenvl/run_chat.py
  • examples/models/core/qwenvl/show_pic.py
  • examples/models/contrib/chatglm3-6b-32k/README.md
  • tests/integration/defs/examples/test_mamba.py
  • tests/integration/defs/examples/test_llama.py
  • tests/integration/defs/examples/test_internlm.py
  • examples/models/core/qwen2audio/run.py
  • examples/models/core/multimodal/run.py
  • tests/integration/defs/examples/test_chatglm.py
  • examples/models/contrib/jais/requirements.txt
  • examples/dora/normalize_weights.py
  • examples/eval_long_context.py
  • tests/integration/defs/examples/test_enc_dec.py
  • examples/models/contrib/skywork/requirements.txt
  • tests/integration/defs/test_e2e.py
  • tests/integration/defs/examples/test_granite.py
  • examples/mmlu.py
  • examples/models/core/multimodal/eval.py
  • examples/openai_triton/manual_plugin/TritonFlashAttentionPlugin.h
  • examples/models/contrib/internlm/requirements.txt
  • examples/hf_lora_convert.py
  • examples/summarize.py
  • examples/llm-eval/lm-eval-harness/lm_eval_tensorrt_llm.py
  • tests/integration/defs/examples/test_eagle.py
  • examples/generate_checkpoint_config.py
  • examples/run.py
  • examples/openai_triton/manual_plugin/TritonFlashAttentionPlugin.cpp
  • examples/utils.py
  • examples/openai_triton/manual_plugin/fmha_triton.py
  • jenkins/scripts/cbts/blocks.py
  • examples/models/core/qwenvl/run.py
  • tests/integration/defs/triton_server/conftest.py
  • tests/integration/test_lists/waives.txt
  • tests/integration/defs/conftest.py
  • examples/openai_triton/plugin_autogen/run_engine.py
  • examples/models/core/qwenvl/vit_onnx_trt.py
🚧 Files skipped from review as they are similar to previous changes (23)
  • tests/integration/test_lists/qa/README.md
  • tests/integration/test_lists/test-db/l0_gh200.yml
  • tests/integration/test_lists/test-db/l0_gb203.yml
  • tests/integration/defs/examples/test_gpt.py
  • docs/source/features/auto_deploy/advanced/testing_strategy.md
  • tests/integration/test_lists/test-db/README.md
  • tests/integration/test_lists/qa/llm_function_core.txt
  • scripts/test_to_stage_mapping.py
  • tests/integration/test_lists/test-db/l0_a100.yml
  • examples/models/core/multimodal/README.md
  • tests/integration/test_lists/test-db/l0_a10.yml
  • tensorrt_llm/_utils.py
  • tests/unittest/tools/test_test_to_stage_mapping.py
  • tests/integration/defs/accuracy/test_llm_api_pytorch.py
  • examples/ngram/README.md
  • tests/integration/test_lists/test-db/l0_h100.yml
  • tests/integration/defs/examples/test_phi.py
  • tests/integration/test_lists/test-db/l0_l40s.yml
  • docs/source/developer-guide/ci-overview.md
  • tensorrt_llm/models/automodel.py
  • tests/integration/defs/common.py
  • tests/integration/defs/perf/test_perf.py
  • jenkins/L0_Test.groovy

Walkthrough

The PR removes legacy examples, plugins, model workflows, and integration helpers; simplifies runtime model selection; updates Jenkins backend mapping and stage parsing; migrates test matrices toward PyTorch and LLM API coverage; and revises documentation and waivers.

Changes

Runtime API simplification

Layer / File(s) Summary
Runtime utility and model-selection cleanup
tensorrt_llm/_utils.py, tensorrt_llm/models/automodel.py
Removes inflight-batching config detection and decoding-mode-based Medusa/Eagle model selection.

Integration infrastructure and coverage

Layer / File(s) Summary
Legacy integration workflow removal
tests/integration/defs/*, tests/integration/defs/examples/*, examples/*
Removes checkpoint conversion, quantization, example-root fixtures, legacy performance build paths, and numerous example-based integration workflows.
Replacement coverage
tests/integration/defs/examples/test_phi.py, tests/integration/defs/test_e2e.py, tests/integration/defs/accuracy/*
Adds Phi Torch multi-LoRA and Qwen TP2 coverage, and replaces a GPT-3 build-only test with Qwen E2E generation validation.

CI backend selection and test matrices

Layer / File(s) Summary
Jenkins and stage parsing
jenkins/L0_Test.groovy, jenkins/scripts/cbts/blocks.py, scripts/test_to_stage_mapping.py
Removes TensorRT backend-marker handling, changes stage sharding, and accepts boolean stage configuration values while ignoring comments.
Backend-specific test selection
tests/integration/test_lists/test-db/*, tests/integration/test_lists/qa/*
Reassigns or removes TensorRT conditions and adds PyTorch, FMHA, stress, KV-cache, and accuracy test entries.

Documentation and example cleanup

Layer / File(s) Summary
Updated guidance and removed examples
docs/*, examples/models/*, examples/ngram/*, examples/openai_triton/*, examples/python_plugin/*
Condenses NGram guidance, redirects multimodal documentation to PyTorch workflows, and removes legacy model, Triton, plugin, and evaluation examples.
Waiver maintenance
tests/integration/test_lists/waives.txt
Replaces or removes waiver entries for Ray, performance, architecture, KV-cache, and LLM API tests.

Estimated code review effort: 4 (Complex) | ~60 minutes

Possibly related PRs

Suggested reviewers: nv-guomingz

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise, specific, and matches the main change: removing legacy TensorRT backend tests and CI plumbing.
Description check ✅ Passed It clearly explains the rationale, grouped changes, validation, and checklist, which covers the template intent.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@BowenFu BowenFu left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM — reviewed for over-deletion. Nothing the live PyTorch/AutoDeploy path or any scheduled test/CI stage depends on is removed: _utils.py's supports_inflight_batching is a TRT-engine-only helper with zero remaining importers (former callers all deleted here or in #16369), and the 42 dropped waives all target deleted example defs / de-scheduled TRT perf configs — no active pytorch/llmapi/disagg/moe waive was dropped, so the validator invariant holds.

Two non-blocking notes (dead code, not breakage):

  • runPackageSanityCheck is not actually deleted despite the PR description — it still lives in L0_Test.groovy (~:4373) and references deleted generate_checkpoint_config.py/run.py. Its call site is commented out so it's dead/unreachable, but the description is inaccurate.
  • The retained CliFlowAccuracyTestHarness now dangles on deleted summarize.py/eval_long_context.py (it's unscheduled — test_cli_flow is in no active list — so nothing breaks, but the harness is non-functional). Minor doc link rot in accuracy README + speculative-decoding.md too.

@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: 2

Caution

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

⚠️ Outside diff range comments (1)
tests/integration/defs/examples/test_phi.py (1)

54-56: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Profiler key doesn't match the test name.

ci_profiler.start/stop is keyed on "test_llm_torch_multi_lora_support" (the shared helper's name) rather than this test's own name, unlike the analogous new test in test_gpt.py which profiles under its own test name. If another Phi (or future) test reuses this helper, profiling data will collide under the same key.

🔧 Proposed fix
-    defs.ci_profiler.start("test_llm_torch_multi_lora_support")
+    defs.ci_profiler.start("test_phi_4_mini_instruct_with_bf16_lora_torch")
     test_llm_torch_multi_lora_support(hf_model_dir=llm_phi_model_root,
                                       llm_venv=llm_venv,
                                       num_loras=2,
                                       lora_rank=8,
                                       target_hf_modules=["qkv_proj"],
                                       target_trtllm_modules=["attn_qkv"],
                                       zero_lora_weights=True,
                                       tensor_parallel_size=1)
-    defs.ci_profiler.stop("test_llm_torch_multi_lora_support")
+    defs.ci_profiler.stop("test_phi_4_mini_instruct_with_bf16_lora_torch")
🤖 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 `@tests/integration/defs/examples/test_phi.py` around lines 54 - 56, Update the
profiler key passed to ci_profiler.start in the Phi test to use that test's own
function name rather than the shared test_llm_torch_multi_lora_support helper
name, and ensure the corresponding stop call uses the same key.
🤖 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 `@docs/source/features/auto_deploy/advanced/testing_strategy.md`:
- Around line 120-121: Update the testing strategy example around the documented
registration format so the modeling_llama entry is either a concrete fully
qualified test node ID or is explicitly identified as a command-style selector
supported by CI YAML. Keep the existing individual test-case example unchanged
and ensure the examples match the format described in the surrounding
documentation.

In `@tests/integration/defs/accuracy/test_llm_api_pytorch.py`:
- Around line 4385-4396: Remove the unconditional pytest.skip from test_tp2, or
replace it with a topology-aware skip that allows execution on validated NVLink
platforms while excluding unsupported PCIe-only topologies. Also remove the
test_tp2 entry from tests/integration/test_lists/qa/llm_function_core.txt until
the test is executable in QA.

---

Outside diff comments:
In `@tests/integration/defs/examples/test_phi.py`:
- Around line 54-56: Update the profiler key passed to ci_profiler.start in the
Phi test to use that test's own function name rather than the shared
test_llm_torch_multi_lora_support helper name, and ensure the corresponding stop
call uses the same key.
🪄 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: b0e0665b-32db-490b-9b84-1f1c9fa2816c

📥 Commits

Reviewing files that changed from the base of the PR and between b8604c4 and 6669d31.

⛔ Files ignored due to path filters (3)
  • examples/models/core/qwen2audio/audio/glass-breaking-151256.mp3 is excluded by !**/*.mp3
  • examples/models/core/qwenvl/pics/1.png is excluded by !**/*.png
  • examples/models/core/qwenvl/pics/demo.jpeg is excluded by !**/*.jpeg
📒 Files selected for processing (149)
  • docs/source/developer-guide/ci-overview.md
  • docs/source/features/auto_deploy/advanced/testing_strategy.md
  • examples/cpp_library/CMakeLists.txt
  • examples/cpp_library/build.sh
  • examples/cpp_library/main.cpp
  • examples/cpp_library/tensorrt_llm_libutils.h
  • examples/dora/README.md
  • examples/dora/normalize_weights.py
  • examples/eval_long_context.py
  • examples/generate_checkpoint_config.py
  • examples/generate_xgrammar_tokenizer_info.py
  • examples/hf_lora_convert.py
  • examples/language_adapter/README.md
  • examples/llm-eval/lm-eval-harness/README.md
  • examples/llm-eval/lm-eval-harness/lm_eval_tensorrt_llm.py
  • examples/llm-eval/lm-eval-harness/requirements.txt
  • examples/mmlu.py
  • examples/models/contrib/arctic/README.md
  • examples/models/contrib/blip2/README.md
  • examples/models/contrib/chatglm-6b/README.md
  • examples/models/contrib/chatglm-6b/requirements.txt
  • examples/models/contrib/chatglm-6b/tokenization_chatglm.py
  • examples/models/contrib/chatglm2-6b/README.md
  • examples/models/contrib/chatglm2-6b/requirements.txt
  • examples/models/contrib/chatglm2-6b/tokenization_chatglm.py
  • examples/models/contrib/chatglm3-6b-32k/README.md
  • examples/models/contrib/chatglm3-6b-32k/requirements.txt
  • examples/models/contrib/chatglm3-6b-32k/tokenization_chatglm.py
  • examples/models/contrib/internlm/.gitignore
  • examples/models/contrib/internlm/README.md
  • examples/models/contrib/internlm/requirements.txt
  • examples/models/contrib/jais/README.md
  • examples/models/contrib/jais/requirements.txt
  • examples/models/contrib/sdxl/README.md
  • examples/models/contrib/sdxl/build_sdxl_unet.py
  • examples/models/contrib/sdxl/pipeline_stable_diffusion_xl.py
  • examples/models/contrib/sdxl/run_sdxl.py
  • examples/models/contrib/skywork/README.md
  • examples/models/contrib/skywork/requirements.txt
  • examples/models/contrib/smaug/README.md
  • examples/models/contrib/smaug/requirements.txt
  • examples/models/core/granite/README.md
  • examples/models/core/mixtral/README.md
  • examples/models/core/mixtral/requirements.txt
  • examples/models/core/multimodal/README.md
  • examples/models/core/multimodal/__init__.py
  • examples/models/core/multimodal/build_multimodal_engine.py
  • examples/models/core/multimodal/eval.py
  • examples/models/core/multimodal/requirements-eclair.txt
  • examples/models/core/multimodal/requirements-internlm-xcomposer2.txt
  • examples/models/core/multimodal/requirements-llava_onevision.txt
  • examples/models/core/multimodal/requirements-qwen2vl.txt
  • examples/models/core/multimodal/requirements-vila.txt
  • examples/models/core/multimodal/run.py
  • examples/models/core/multimodal/utils.py
  • examples/models/core/nemotron/README_nemotron-3.md
  • examples/models/core/nemotron/requirements.txt
  • examples/models/core/qwen2audio/README.md
  • examples/models/core/qwen2audio/requirements.txt
  • examples/models/core/qwen2audio/run.py
  • examples/models/core/qwen2audio/run_chat.py
  • examples/models/core/qwen2audio/utils.py
  • examples/models/core/qwenvl/README.md
  • examples/models/core/qwenvl/requirements.txt
  • examples/models/core/qwenvl/run.py
  • examples/models/core/qwenvl/run_chat.py
  • examples/models/core/qwenvl/show_pic.py
  • examples/models/core/qwenvl/vit_onnx_trt.py
  • examples/ngram/README.md
  • examples/ngram/run_dtm_ngram.py
  • examples/openai_triton/README.md
  • examples/openai_triton/manual_plugin/CMakeLists.txt
  • examples/openai_triton/manual_plugin/README.md
  • examples/openai_triton/manual_plugin/TritonFlashAttentionPlugin.cpp
  • examples/openai_triton/manual_plugin/TritonFlashAttentionPlugin.h
  • examples/openai_triton/manual_plugin/build.py
  • examples/openai_triton/manual_plugin/fmha_triton.py
  • examples/openai_triton/manual_plugin/plugin.py
  • examples/openai_triton/manual_plugin/run.py
  • examples/openai_triton/manual_plugin/tritonPlugins.cpp
  • examples/openai_triton/plugin_autogen/README.md
  • examples/openai_triton/plugin_autogen/build_engine.py
  • examples/openai_triton/plugin_autogen/kernel_config.py
  • examples/openai_triton/plugin_autogen/run_engine.py
  • examples/python_plugin/README.md
  • examples/python_plugin/build_lookup.py
  • examples/python_plugin/plugin_lib/__init__.py
  • examples/python_plugin/plugin_lib/lookup_kernel.py
  • examples/python_plugin/plugin_lib/lookup_plugin.py
  • examples/python_plugin/run_lookup.py
  • examples/run.py
  • examples/sample_weight_stripping/README.md
  • examples/summarize.py
  • examples/utils.py
  • jenkins/L0_Test.groovy
  • jenkins/scripts/cbts/blocks.py
  • tensorrt_llm/_utils.py
  • tensorrt_llm/models/automodel.py
  • tests/integration/defs/accuracy/test_llm_api_pytorch.py
  • tests/integration/defs/common.py
  • tests/integration/defs/conftest.py
  • tests/integration/defs/examples/run_llm_fp8_quant_llama_70b.py
  • tests/integration/defs/examples/test_bert.py
  • tests/integration/defs/examples/test_bindings.py
  • tests/integration/defs/examples/test_chatglm.py
  • tests/integration/defs/examples/test_commandr.py
  • tests/integration/defs/examples/test_draft_target_model.py
  • tests/integration/defs/examples/test_eagle.py
  • tests/integration/defs/examples/test_enc_dec.py
  • tests/integration/defs/examples/test_flux.py
  • tests/integration/defs/examples/test_gpt.py
  • tests/integration/defs/examples/test_gptj.py
  • tests/integration/defs/examples/test_granite.py
  • tests/integration/defs/examples/test_internlm.py
  • tests/integration/defs/examples/test_llama.py
  • tests/integration/defs/examples/test_mamba.py
  • tests/integration/defs/examples/test_medusa.py
  • tests/integration/defs/examples/test_mistral.py
  • tests/integration/defs/examples/test_mixtral.py
  • tests/integration/defs/examples/test_multimodal.py
  • tests/integration/defs/examples/test_nemotron.py
  • tests/integration/defs/examples/test_nemotron_nas.py
  • tests/integration/defs/examples/test_ngram.py
  • tests/integration/defs/examples/test_openai.py
  • tests/integration/defs/examples/test_phi.py
  • tests/integration/defs/examples/test_qwen.py
  • tests/integration/defs/examples/test_qwen2audio.py
  • tests/integration/defs/examples/test_qwenvl.py
  • tests/integration/defs/examples/test_redrafter.py
  • tests/integration/defs/examples/test_whisper.py
  • tests/integration/defs/examples/validate_whisper_beam_logits.py
  • tests/integration/defs/examples/validate_whisper_log_probs_determinism.py
  • tests/integration/defs/perf/build.py
  • tests/integration/defs/perf/test_perf.py
  • tests/integration/defs/test_e2e.py
  • tests/integration/defs/triton_server/conftest.py
  • tests/integration/test_lists/qa/README.md
  • tests/integration/test_lists/qa/llm_function_core.txt
  • tests/integration/test_lists/test-db/README.md
  • tests/integration/test_lists/test-db/l0_a10.yml
  • tests/integration/test_lists/test-db/l0_a100.yml
  • tests/integration/test_lists/test-db/l0_a30.yml
  • tests/integration/test_lists/test-db/l0_b200.yml
  • tests/integration/test_lists/test-db/l0_dgx_h200.yml
  • tests/integration/test_lists/test-db/l0_gb203.yml
  • tests/integration/test_lists/test-db/l0_gh200.yml
  • tests/integration/test_lists/test-db/l0_h100.yml
  • tests/integration/test_lists/test-db/l0_l40s.yml
  • tests/integration/test_lists/waives.txt
💤 Files with no reviewable changes (111)
  • examples/openai_triton/README.md
  • examples/llm-eval/lm-eval-harness/requirements.txt
  • examples/openai_triton/manual_plugin/README.md
  • examples/llm-eval/lm-eval-harness/README.md
  • examples/models/contrib/chatglm3-6b-32k/requirements.txt
  • tests/integration/defs/examples/test_bindings.py
  • examples/models/contrib/internlm/requirements.txt
  • tests/integration/defs/examples/test_gptj.py
  • examples/models/contrib/skywork/README.md
  • examples/python_plugin/plugin_lib/lookup_kernel.py
  • examples/openai_triton/plugin_autogen/README.md
  • examples/models/core/multimodal/build_multimodal_engine.py
  • examples/models/contrib/jais/README.md
  • examples/models/contrib/jais/requirements.txt
  • examples/models/core/mixtral/README.md
  • examples/models/core/qwenvl/requirements.txt
  • examples/cpp_library/CMakeLists.txt
  • examples/models/contrib/chatglm-6b/requirements.txt
  • examples/models/core/mixtral/requirements.txt
  • examples/models/contrib/chatglm2-6b/requirements.txt
  • examples/models/core/multimodal/requirements-vila.txt
  • examples/models/contrib/chatglm2-6b/README.md
  • examples/cpp_library/build.sh
  • examples/models/core/multimodal/requirements-eclair.txt
  • examples/models/core/nemotron/README_nemotron-3.md
  • examples/models/contrib/chatglm3-6b-32k/README.md
  • examples/openai_triton/plugin_autogen/kernel_config.py
  • examples/models/contrib/smaug/README.md
  • examples/dora/README.md
  • examples/models/contrib/internlm/README.md
  • examples/models/contrib/chatglm2-6b/tokenization_chatglm.py
  • examples/python_plugin/plugin_lib/init.py
  • examples/models/core/qwenvl/README.md
  • examples/models/core/multimodal/requirements-internlm-xcomposer2.txt
  • examples/models/contrib/chatglm-6b/README.md
  • tests/integration/defs/examples/test_bert.py
  • examples/generate_xgrammar_tokenizer_info.py
  • examples/models/core/qwen2audio/README.md
  • examples/models/core/granite/README.md
  • examples/sample_weight_stripping/README.md
  • examples/models/core/multimodal/utils.py
  • tests/integration/defs/examples/test_flux.py
  • examples/models/core/qwen2audio/requirements.txt
  • tests/integration/defs/examples/run_llm_fp8_quant_llama_70b.py
  • examples/models/contrib/sdxl/build_sdxl_unet.py
  • examples/openai_triton/manual_plugin/build.py
  • examples/models/core/qwen2audio/run_chat.py
  • examples/openai_triton/manual_plugin/CMakeLists.txt
  • examples/models/contrib/internlm/.gitignore
  • tests/integration/defs/examples/test_medusa.py
  • examples/models/core/qwenvl/vit_onnx_trt.py
  • examples/python_plugin/run_lookup.py
  • examples/openai_triton/manual_plugin/tritonPlugins.cpp
  • examples/models/contrib/arctic/README.md
  • examples/models/contrib/sdxl/README.md
  • tests/integration/defs/examples/test_chatglm.py
  • examples/models/contrib/sdxl/run_sdxl.py
  • examples/language_adapter/README.md
  • tests/integration/defs/examples/test_eagle.py
  • examples/models/contrib/skywork/requirements.txt
  • examples/models/contrib/chatglm-6b/tokenization_chatglm.py
  • examples/ngram/run_dtm_ngram.py
  • examples/models/core/qwenvl/show_pic.py
  • examples/models/core/nemotron/requirements.txt
  • examples/models/core/multimodal/requirements-llava_onevision.txt
  • examples/models/core/qwenvl/run_chat.py
  • examples/cpp_library/tensorrt_llm_libutils.h
  • examples/python_plugin/build_lookup.py
  • examples/models/core/qwen2audio/utils.py
  • examples/openai_triton/plugin_autogen/run_engine.py
  • examples/python_plugin/README.md
  • examples/generate_checkpoint_config.py
  • tests/integration/defs/examples/test_commandr.py
  • examples/run.py
  • examples/models/core/multimodal/run.py
  • examples/openai_triton/manual_plugin/fmha_triton.py
  • examples/hf_lora_convert.py
  • examples/models/contrib/chatglm3-6b-32k/tokenization_chatglm.py
  • examples/models/core/multimodal/eval.py
  • tests/integration/defs/examples/test_mamba.py
  • examples/mmlu.py
  • examples/cpp_library/main.cpp
  • examples/eval_long_context.py
  • examples/models/core/multimodal/requirements-qwen2vl.txt
  • examples/models/contrib/sdxl/pipeline_stable_diffusion_xl.py
  • tests/integration/defs/examples/test_granite.py
  • examples/models/contrib/blip2/README.md
  • tests/integration/defs/examples/test_internlm.py
  • examples/openai_triton/manual_plugin/TritonFlashAttentionPlugin.cpp
  • examples/openai_triton/manual_plugin/run.py
  • examples/dora/normalize_weights.py
  • examples/models/contrib/smaug/requirements.txt
  • tests/integration/defs/test_e2e.py
  • tests/integration/defs/examples/test_enc_dec.py
  • examples/openai_triton/manual_plugin/plugin.py
  • examples/utils.py
  • examples/openai_triton/plugin_autogen/build_engine.py
  • tests/integration/defs/examples/test_llama.py
  • examples/summarize.py
  • examples/llm-eval/lm-eval-harness/lm_eval_tensorrt_llm.py
  • examples/models/core/qwen2audio/run.py
  • tests/integration/test_lists/test-db/l0_a30.yml
  • examples/openai_triton/manual_plugin/TritonFlashAttentionPlugin.h
  • jenkins/scripts/cbts/blocks.py
  • tests/integration/defs/examples/test_draft_target_model.py
  • examples/models/core/qwenvl/run.py
  • examples/python_plugin/plugin_lib/lookup_plugin.py
  • tests/integration/test_lists/test-db/l0_dgx_h200.yml
  • tests/integration/test_lists/waives.txt
  • tests/integration/defs/conftest.py
  • tests/integration/defs/triton_server/conftest.py

Comment thread docs/source/features/auto_deploy/advanced/testing_strategy.md
Comment thread tests/integration/defs/accuracy/test_llm_api_pytorch.py
@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

scope="tests/unittest/llmapi/apps"

echo "== Files in scope =="
fd --type f . "$scope" | sort

echo
echo "== Structural outline =="
ast-grep outline "$scope" --items all --type class,function --view compact || true

echo
echo "== TensorRT/backend-related occurrences with context =="
rg -n -i -C 4 \
  -e '\btensorrt\b' \
  -e '\btrtllm\b' \
  -e '\btrt_llm\b' \
  -e '\bbackend\s*=' \
  -e '\bbackend\s*:' \
  -e '\bbackend\b' \
  "$scope" || true

echo
echo "== Python imports/calls that may configure backend =="
ast-grep run --lang python --pattern 'LLM($$$)' "$scope" || true
ast-grep run --lang python --pattern '$OBJ = LLM($$$)' "$scope" || true

Length of output: 66941


🏁 Script executed:

#!/bin/bash
set -euo pipefail

scope="tests/unittest/llmapi/apps"

echo "== Exact/near-exact legacy backend tokens in Python source =="
python3 - <<'PY'
import ast
from pathlib import Path

root = Path("tests/unittest/llmapi/apps")
for path in sorted(root.rglob("*.py")):
    try:
        tree = ast.parse(path.read_text())
    except SyntaxError as exc:
        print(f"{path}:{exc.lineno}: syntax error: {exc}")
        continue
    for node in ast.walk(tree):
        if isinstance(node, ast.Constant) and isinstance(node.value, str):
            value = node.value.lower()
            if "tensorrt" in value or value in {"trt", "trtllm"}:
                print(f"{path}:{node.lineno}: {node.value!r}")
PY

echo
echo "== All backend fixture parameterizations and server CLI construction =="
rg -n -i -C 3 \
  -e '`@pytest`\.fixture\([^)]*params\s*=' \
  -e 'pytest\.mark\.parametrize\([^)]*backend' \
  -e '["'\'']--backend["'\'']' \
  -e 'backend\s*==|backend\s*!=' \
  "$scope" -g '*.py' || true

echo
echo "== Parent-level pytest fixtures/configuration that could supply a backend =="
fd --type f --glob 'conftest.py' tests/unittest/llmapi | sort | while read -r file; do
  echo "--- $file"
  rg -n -i -C 3 -e '\btensorrt\b' -e '\bbackend\b' "$file" || true
done

echo
echo "== Focused declarations for backend fixture parameters =="
rg -n -i -U -C 2 \
  '`@pytest`\.fixture\([\s\S]{0,250}?params\s*=\s*\[[^\]]+\][\s\S]{0,150}?def backend\b' \
  "$scope" -g '*.py' || true

Length of output: 34786


@xinhe-nv I found no tests in tests/unittest/llmapi/apps that still use --backend tensorrt or otherwise select the retired TensorRT backend.

All local backend fixtures are constrained to pytorch, and direct server launches likewise explicitly use pytorch where a backend is supplied. I also checked parent tests/unittest/llmapi fixture configuration; it does not inject a TensorRT backend.

The only stale backend-related item is a comment in _test_openai_reasoning.py referring to the old “TRT backend” behavior. It does not affect execution, since that module’s backend values no longer include TensorRT.

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60335 [ run ] completed with state SUCCESS. Commit: 6669d31
/LLM/main/L0_MergeRequest_PR pipeline #48679 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

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60813 [ run ] triggered by Bot. Commit: 1913f7a Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60813 [ run ] completed with state SUCCESS. Commit: 1913f7a
/LLM/main/L0_MergeRequest_PR pipeline #49089 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/trtllm-14027-tests-examples branch from 1913f7a to 2f41115 Compare July 22, 2026 03:19
@Wanli-Jiang
Wanli-Jiang requested a review from a team as a code owner July 22, 2026 03:19
@Wanli-Jiang
Wanli-Jiang force-pushed the user/williamj/trtllm-14027-tests-examples branch from 2f41115 to 386a95d Compare July 22, 2026 03:26
@Wanli-Jiang

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

… and CI plumbing

Trailing test/example/CI cleanup after the legacy TensorRT backend
removal (TRTLLM-14026, PR NVIDIA#16369).

CI schedules / jenkins:
- Move backend-neutral tests off the retired -TensorRT- stages and
  delete all dead backend=tensorrt test-db buckets; flip remaining
  neutral buckets to pytorch so parked coverage runs again.
- NEW stages A100X-PyTorch-Post-Merge-1 and L40S-PyTorch-Post-Merge-1
  schedule the restored a100/l40s post-merge coverage (CI-owner
  review).
- Retire the -TensorRT- plumbing in L0_Test.groovy (commented stage
  rows, backend=tensorrt mako branch, TEST_BACKEND changeMap entry,
  excludedBackends) and the -TensorRT- pattern in
  jenkins/scripts/cbts/blocks.py.
- waives.txt: drop 42 waives for deleted/unscheduled tests (the
  validator requires waived tests to be in an active list).

Legacy engine-flow example tests:
- Delete the defs/examples wrappers whose every test drove the removed
  convert->trtllm-build->run flow: test_{bert,chatglm,commandr,
  draft_target_model,eagle,enc_dec,gptj,granite,internlm,llama,mamba,
  medusa,mistral,mixtral,multimodal,nemotron,nemotron_nas,ngram,
  openai,qwen,qwen2audio,qwenvl,redrafter,whisper,bindings,flux}.py,
  the whisper validators, and run_llm_fp8_quant_llama_70b.py.
- test_gpt.py rewritten keeping only the live
  test_gpt_oss_20b_lora_torch; test_phi.py drops its quantization
  engine test; test_e2e.py drops test_gpt3_175b_1layers_build_only.
- Remove the dead helper cascade in defs/common.py (convert_weights,
  quantize_data, prune_checkpoint, refit_model, find_tensorrt),
  defs/perf/build.py and test_perf.py's trtllm-build branches, and
  19 orphaned example_root fixtures across defs/conftest.py and
  triton_server/conftest.py (verified: no dynamic getfixturevalue
  resolution exists for any of them).

Dormant example scripts (imported deleted ModelRunner*/builder
surfaces or drove engine flows; unreachable from CI):
- examples/{run,summarize,utils,mmlu,eval_long_context}.py,
  examples/openai_triton/**, examples/python_plugin/**,
  examples/models/contrib/sdxl/**, examples/llm-eval/lm-eval-harness,
  the engine-flow multimodal/qwenvl/qwen2audio scripts, and
  examples/ngram/run_dtm_ngram.py (READMEs rewritten for the PyTorch
  flow where a live section remains).

examples/ reference sweep (checked against tests, published docs,
jenkins, and code):
- contrib: delete arctic, blip2, chatglm-6b/2-6b/3-6b-32k, internlm,
  jais, skywork, smaug (README/requirements-only legacy-flow dirs;
  hyperclovax stays - live PyTorch README linked from release notes).
- core: delete granite and mixtral; multimodal keeps the live
  Qwen-Image-Bench stub + eval script but drops utils.py, __init__.py
  and the per-model requirements-*.txt; nemotron drops the Nemo-flow
  README_nemotron-3.md + requirements.txt (PyTorch READMEs stay).
- top level: delete generate_checkpoint_config.py,
  generate_xgrammar_tokenizer_info.py, hf_lora_convert.py,
  sample_weight_stripping/, cpp_library/, dora/, language_adapter/.
- Kept deliberately: infinitebench (dependency of the retained
  CLI-flow suite) and longbench/opentelemetry/sparse_attention
  (unreferenced but document current features).

Accuracy suite:
- accuracy/test_cli_flow.py and CliFlowAccuracyTestHarness are KEPT
  (currently unscheduled; retained for possible future reuse).
- Port TestQwen2_7BInstruct::test_tp2 to the PyTorch accuracy suite
  (skipped: TP2 hangs in the AUTO custom allreduce on PCIe-only
  nodes; the LMHead AllReduce ignores allreduce_strategy, so the
  strategy knob cannot work around it).

Misc:
- automodel.py isMedusa/isEagle branch and
  _utils.py::supports_inflight_batching (mapped to deleted TRT model
  classes); test-db README example refreshed to a real test id; docs
  fixes in ci-overview.md and the AutoDeploy testing strategy.

Rider (squashed in): [https://nvbugs/6482297][fix] Parse boolean
stage-config fields in test_to_stage_mapping (from PR NVIDIA#16671, same
author). The stage regex only accepted numeric trailing fields, so the
47 runWithSbatch stage entries (all DGX_B200-PyTorch-*) were silently
dropped and commented-out stage rows were matched;
test_backend_filtering_consistency now tolerates tests legitimately
listed under multiple backends. Carried here because this PR retires
stages and reshuffles test-db buckets - the exact surface those
consistency tests validate.

legacy-files.txt/ruff baseline entries for the deleted files are left
to a mechanical 'legacy_utils.py prune-files' pass after this and the
python-cleanup PR merge, to avoid cross-PR conflicts.

Verified: defs collection passes (4206 tests), pre-commit hooks incl.
the test-list AST validator pass, no broken example links.

Signed-off-by: Wanli Jiang <35160485+Wanli-Jiang@users.noreply.github.com>
@Wanli-Jiang
Wanli-Jiang force-pushed the user/williamj/trtllm-14027-tests-examples branch from 386a95d to 29b7da2 Compare July 22, 2026 04:42
@Wanli-Jiang

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60887 [ run ] triggered by Bot. Commit: 29b7da2 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60887 [ run ] completed with state FAILURE. Commit: 29b7da2
/LLM/main/L0_MergeRequest_PR pipeline #49155 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

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60932 [ run ] triggered by Bot. Commit: 29b7da2 Link to invocation

@ZhanruiSunCh ZhanruiSunCh left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM for infra part.

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60932 [ run ] completed with state FAILURE. Commit: 29b7da2
/LLM/main/L0_MergeRequest_PR pipeline #49197 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

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast

@Wanli-Jiang

Copy link
Copy Markdown
Collaborator Author

/bot skip --comment "all tests passed except the one waived case"

@Wanli-Jiang
Wanli-Jiang enabled auto-merge (squash) July 22, 2026 13:55
@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60986 [ run ] triggered by Bot. Commit: 29b7da2 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60991 [ skip ] triggered by Bot. Commit: 29b7da2 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60986 [ run ] completed with state ABORTED. Commit: 29b7da2

Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #60991 [ skip ] completed with state SUCCESS. Commit: 29b7da2
Skipping testing for commit 29b7da2

Link to invocation

@Wanli-Jiang
Wanli-Jiang merged commit f9c253e into NVIDIA:main Jul 22, 2026
11 checks passed
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.

9 participants