test(trtllm): speed up TRTLLM gpu test time by reducing imports - #12413
Merged
Conversation
Signed-off-by: Ryan McCormick <rmccormick@nvidia.com>
This comment has been minimized.
This comment has been minimized.
Signed-off-by: Ryan McCormick <rmccormick@nvidia.com>
rmccorm4
marked this pull request as ready for review
July 30, 2026 05:56
rmccorm4
enabled auto-merge (squash)
July 30, 2026 05:56
Contributor
WalkthroughChangesThe change removes zero-VRAM profiling from TRT-LLM-related tests, documents shared sequential GPU initialization, assigns separate system-status ports to disaggregated workers, and enables dynamic health checks for the multimodal serving test. TRT-LLM Runtime Updates
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Comment |
Contributor
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@tests/serve/test_trtllm.py`:
- Line 359: Add an explicit pytest.mark.timeout(900) entry to the marks list for
the pd_multimodal test, alongside the existing health_check_workers
configuration. Do not rely on TRTLLMConfig.timeout, since it does not enforce a
pytest test timeout.
🪄 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: 799b0939-3021-4761-a5a2-20ceb29ebebe
📒 Files selected for processing (10)
components/src/dynamo/trtllm/tests/test_trtllm_autodeploy.pycomponents/src/dynamo/trtllm/tests/test_trtllm_image_token_resolver.pycomponents/src/dynamo/trtllm/tests/test_trtllm_logits_runtime.pycomponents/src/dynamo/trtllm/tests/test_trtllm_main_init.pycomponents/src/dynamo/trtllm/tests/test_trtllm_multimodal_processor.pycomponents/src/dynamo/trtllm/tests/test_trtllm_unit.pyexamples/backends/trtllm/launch/disagg_multimodal.shtests/kvbm_integration/test_consolidator_config_unit.pytests/serve/test_trtllm.pytests/serve/test_trtllm_mm_hashes_protocol.py
Signed-off-by: Ryan McCormick <rmccormick@nvidia.com>
Signed-off-by: Ryan McCormick <rmccormick@nvidia.com>
Signed-off-by: Ryan McCormick <rmccormick@nvidia.com>
Signed-off-by: Ryan McCormick <rmccormick@nvidia.com>
Signed-off-by: Ryan McCormick <rmccormick@nvidia.com>
Signed-off-by: Ryan McCormick <rmccormick@nvidia.com>
KrishnanPrash
approved these changes
Aug 4, 2026
ziqifan617
approved these changes
Aug 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Reduce TRTLLM test job time from ~25min to ~19min.
pd_multimodalstartup on active one-token canary health checks instead of a fixed 120-second delayRoot cause
pd_multimodalused a fixed startup sleep because the prefill and decode workers shared a system-status port. A readiness check against that shared port could report the wrong worker as ready. Independent ports make per-worker active readiness probes reliable.Separately, the GPU-parallel orchestrator launches one pytest subprocess per selected test node. In run 30510438808, 79 import-heavy tests were marked
profiled_vram_gib(0). They used no GPU memory but each paid pytest and TensorRT-LLM import/setup overhead, consuming process slots and delaying queued positive-VRAM workloads while the GPU was nearly idle.The rc22 request-ID compatibility behavior is unchanged by this patch.
Impact
The multimodal test now advances as soon as both workers successfully serve a canary request, while retaining bounded timeouts and useful failure logs.
The moved tests remain marked
pre_merge,trtllm, andgpu_1. Omitting onlyprofiled_vram_gib(0)routes them through the existing sequential GPU expression, preserving their CUDA-visible runtime while sharing one TensorRT-LLM initialization. Baseline logs show the 79 nodes accounted for about 4,087 child-seconds and delayed the next 20 GiB workload by about 372 seconds. The expected wall-clock reduction is roughly six minutes, pending a new full-CI run.Validation
pre-commitpassed for all eight marker-routing filesbash -n tests/backends/trtllm/common.sh tests/backends/trtllm/agg_multimodal.sh tests/backends/trtllm/pd_multimodal.shprofiled_vram_gib(2.0)and the predownload sentinel retainsprofiled_vram_gib(0)tensorrt_llmSummary by CodeRabbit
Bug Fixes
Tests