Skip to content

[TRTLLM-13696][test] Part2.3: Migrate CPU only tests - auto deploy - #17314

Merged
tongyuantongyu merged 2 commits into
NVIDIA:mainfrom
tongyuantongyu:ytong/host-only-test-ad
Aug 11, 2026
Merged

[TRTLLM-13696][test] Part2.3: Migrate CPU only tests - auto deploy#17314
tongyuantongyu merged 2 commits into
NVIDIA:mainfrom
tongyuantongyu:ytong/host-only-test-ad

Conversation

@tongyuantongyu

@tongyuantongyu tongyuantongyu commented Aug 5, 2026

Copy link
Copy Markdown
Member

Dev Engineer Review

  • Marked non-GPU AutoDeploy tests with pytest.mark.cpu_only.
  • Added AutoDeploy suites to tests/integration/test_lists/test-db/l0_cpu.yml.
  • Refactored executor fixtures and configuration test setup.
  • Updated quantization coverage for bias and no-bias cases.
  • Added a CUDA-availability skip for the FP8 resource-handler test.
  • No public API changes were identified.
  • CPU-stage CI passed on CPU-Generic-x86-1 and CPU-Generic-arm-1.
  • Full CI remained UNSTABLE. Multi-GPU tests require the ci: full pre-merge approved label and follow-up investigation.

QA Engineer Review

  • Updated AutoDeploy tests for model structure, compilation, transformations, custom operations, MLIR, shims, utilities, and standalone imports.
  • Added CPU-only markers to the modified test modules and selected test functions.
  • Updated test behavior in test_quant.py, test_create_ad_executor.py, test_llm_config.py, and test_resource_handlers.py.
  • Added _torch/auto_deploy, auto_deploy/multigpu, auto_deploy/singlegpu, and auto_deploy/standalone to tests/integration/test_lists/test-db/l0_cpu.yml.
  • The modified AutoDeploy test coverage is listed in the CPU test database.
  • Verdict: needs follow-up because full CI was UNSTABLE and another run was requested after failure investigation.

Description

Move AutoDeploy test cases don't need GPU to CPU stage.

Test Coverage

The CPU stage.

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.

@tongyuantongyu

Copy link
Copy Markdown
Member Author

/bot run --stage-list "CPU-Generic-x86-1, CPU-Generic-arm-1" --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64046 [ run ] triggered by Bot. Commit: 4588a83 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64046 [ run ] completed with state SUCCESS. Commit: 4588a83
/LLM/main/L0_MergeRequest_PR pipeline #51975 (Partly Tested) completed with status: 'SUCCESS'

CI Report

Link to invocation

@tongyuantongyu

Copy link
Copy Markdown
Member Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64083 [ run ] triggered by Bot. Commit: 4588a83 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64083 [ run ] completed with state SUCCESS. Commit: 4588a83
/LLM/main/L0_MergeRequest_PR pipeline #52009 completed with status: 'UNSTABLE'

CI Report

⚠️ Multi-GPU Label Required:
Multi-GPU tests require the ci: full pre-merge approved label on this PR. Ask a member of NVIDIA/trt-llm-ci-approvers to add the label, then re-trigger CI with the same bot command (no rebase needed).

⚠️ 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

Link to invocation

@tongyuantongyu
tongyuantongyu marked this pull request as ready for review August 6, 2026 02:20
@tongyuantongyu
tongyuantongyu requested review from a team as code owners August 6, 2026 02:20
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

AutoDeploy CPU coverage now includes integration, unit, model, compile, transformation, utility, multigpu, and standalone suites. Shim tests use shared runtime mocks. Quantization tests use conditional bias construction.

Changes

CPU test coverage

Layer / File(s) Summary
CPU suite registration and test classification
tests/integration/test_lists/test-db/l0_cpu.yml, tests/unittest/auto_deploy/..., tests/unittest/_torch/auto_deploy/...
The CPU test list includes AutoDeploy suites. Tests across AutoDeploy areas receive cpu_only markers.
Shim test isolation
tests/unittest/auto_deploy/singlegpu/shim/*
Shim tests centralize engine, factory, executor, device, and runtime mocks. Configuration tests patch device counts and set gpus_per_node from the emulated count.
Quantization and environment handling
tests/unittest/auto_deploy/singlegpu/custom_ops/quantization/test_quant.py, tests/unittest/auto_deploy/singlegpu/custom_ops/test_resource_handlers.py
Quantization tests construct bias tensors from boolean parameters. The FP8 resource test checks for zero CUDA devices before querying device capability.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

Suggested reviewers: qijune

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 57.64% 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
Description check ✅ Passed The description states the migration goal, identifies the CPU stage as coverage, and includes the required checklist.
Title check ✅ Passed The title clearly identifies the ticket, test-related change, and migration of AutoDeploy CPU-only tests.
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.

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

🧹 Nitpick comments (1)
tests/unittest/auto_deploy/singlegpu/shim/test_create_ad_executor.py (1)

33-56: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add return annotations to the changed fixtures and context managers.

  • tests/unittest/auto_deploy/singlegpu/shim/test_create_ad_executor.py#L33-L56: annotate _mock_autodeploy_runtime_dependencies as an iterator yielding None.
  • tests/unittest/auto_deploy/singlegpu/shim/test_create_ad_executor.py#L136-L160: annotate both context managers with their yielded mock types.
  • tests/unittest/auto_deploy/singlegpu/shim/test_llm_config.py#L117-L120: annotate test_config_params with a precise iterator/configuration type.

As per coding guidelines, “Annotate every function, use None for procedures.”

🤖 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/unittest/auto_deploy/singlegpu/shim/test_create_ad_executor.py` around
lines 33 - 56, Annotate all specified test fixtures and context managers with
return types: in
tests/unittest/auto_deploy/singlegpu/shim/test_create_ad_executor.py lines
33-56, update _mock_autodeploy_runtime_dependencies to return an iterator
yielding None; in lines 136-160, annotate both context managers with the precise
mock types they yield; and in
tests/unittest/auto_deploy/singlegpu/shim/test_llm_config.py lines 117-120,
annotate test_config_params with its precise iterator/configuration type. Use
None for procedures and preserve the existing fixture behavior.

Source: Coding guidelines

🤖 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/unittest/auto_deploy/singlegpu/shim/test_llm_config.py`:
- Around line 117-138: Update the test_config_params fixture to patch the
get_device_count symbol actually used by LlmArgs, from
tensorrt_llm.llmapi.utils, or remove the patch if device detection should remain
real. Ensure the fixture’s device-count setup aligns with the gpus_per_node=1
scenario so the value under test is controlled correctly.

---

Nitpick comments:
In `@tests/unittest/auto_deploy/singlegpu/shim/test_create_ad_executor.py`:
- Around line 33-56: Annotate all specified test fixtures and context managers
with return types: in
tests/unittest/auto_deploy/singlegpu/shim/test_create_ad_executor.py lines
33-56, update _mock_autodeploy_runtime_dependencies to return an iterator
yielding None; in lines 136-160, annotate both context managers with the precise
mock types they yield; and in
tests/unittest/auto_deploy/singlegpu/shim/test_llm_config.py lines 117-120,
annotate test_config_params with its precise iterator/configuration type. Use
None for procedures and preserve the existing fixture behavior.
🪄 Autofix

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: 9b1812d7-2483-45dc-bea1-7d1ea29c1480

📥 Commits

Reviewing files that changed from the base of the PR and between a6aeaff and 4588a83.

📒 Files selected for processing (79)
  • tests/integration/test_lists/test-db/l0_cpu.yml
  • tests/unittest/_torch/auto_deploy/unit/singlegpu/models/test_gpt_oss_modeling.py
  • tests/unittest/auto_deploy/multigpu/custom_ops/test_ad_dist_strategies.py
  • tests/unittest/auto_deploy/multigpu/transformations/library/test_tp_sharding.py
  • tests/unittest/auto_deploy/singlegpu/compile/test_captured_graph.py
  • tests/unittest/auto_deploy/singlegpu/compile/test_piecewise_runner.py
  • tests/unittest/auto_deploy/singlegpu/compile/test_piecewise_utils.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/attention/test_torch_attention_op.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/mla/test_torch_mla_op.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/mla/test_triton_mla_op.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/moe/test_mxfp4_moe_layout.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/quantization/test_quant.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/rope/test_rope_op_variants.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/test_gptq_op.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/test_resource_handlers.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/test_update_kv_cache.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_decompose.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_dialect.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_elementwise_fusion_e2e.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_fx_mlir_roundtrip.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_string_codegen.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_subgraph_discovery.py
  • tests/unittest/auto_deploy/singlegpu/models/test_cohere_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_decilm_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_deepseek_v2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_eagle.py
  • tests/unittest/auto_deploy/singlegpu/models/test_exaone_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma3n_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma4_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_glm4_moe_lite_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_glm4_moe_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_glm_moe_dsa_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_granite_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_hf.py
  • tests/unittest/auto_deploy/singlegpu/models/test_hunyuan_moe_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_internlm3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_kimi_k2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_llama3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_llama4_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_minimax_m2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_mistral3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_mistral_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_olmo3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_openelm_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_qwen3_5_moe.py
  • tests/unittest/auto_deploy/singlegpu/models/test_qwen3_moe_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_qwen3_next_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_seed_oss_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_skywork_r1v2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_smollm3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_starcoder2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_step3p7_modeling.py
  • tests/unittest/auto_deploy/singlegpu/shim/test_create_ad_executor.py
  • tests/unittest/auto_deploy/singlegpu/shim/test_llm_config.py
  • tests/unittest/auto_deploy/singlegpu/test_graph_canonicalize.py
  • tests/unittest/auto_deploy/singlegpu/test_hf_export_info.py
  • tests/unittest/auto_deploy/singlegpu/test_mistral_small_4_tokenizer_bridge.py
  • tests/unittest/auto_deploy/singlegpu/test_pattern_matcher.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_bmm_moe_hooks.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_fuse_silu_mul.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_fuse_swiglu.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_gemm_fusion.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_kvcache_vswa_metadata.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_mrope_delta_cache.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_quant_fusion.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_quantization.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_shared_kv_attention.py
  • tests/unittest/auto_deploy/singlegpu/transformations/test_export.py
  • tests/unittest/auto_deploy/singlegpu/transformations/test_pipeline_cache.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_config.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_create_derived_custom_op.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_dist_config.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_example_configs.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_multi_stream_utils.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_node_utils_sharding.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_quantization_utils.py
  • tests/unittest/auto_deploy/standalone/test_standalone_import.py

Comment thread tests/unittest/auto_deploy/singlegpu/shim/test_llm_config.py Outdated
@tongyuantongyu
tongyuantongyu force-pushed the ytong/host-only-test-ad branch from 4588a83 to 1ad436e Compare August 6, 2026 02:52
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@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: 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/unittest/auto_deploy/singlegpu/custom_ops/quantization/test_quant.py`:
- Line 153: Rename the local variable input to input_tensor in the affected
test, and update both operator calls to use input_tensor so the built-in input
is no longer shadowed.
🪄 Autofix

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: 821ebf12-1a09-443a-a191-d8880304ac4f

📥 Commits

Reviewing files that changed from the base of the PR and between 63eb095 and 1ad436e.

📒 Files selected for processing (79)
  • tests/integration/test_lists/test-db/l0_cpu.yml
  • tests/unittest/_torch/auto_deploy/unit/singlegpu/models/test_gpt_oss_modeling.py
  • tests/unittest/auto_deploy/multigpu/custom_ops/test_ad_dist_strategies.py
  • tests/unittest/auto_deploy/multigpu/transformations/library/test_tp_sharding.py
  • tests/unittest/auto_deploy/singlegpu/compile/test_captured_graph.py
  • tests/unittest/auto_deploy/singlegpu/compile/test_piecewise_runner.py
  • tests/unittest/auto_deploy/singlegpu/compile/test_piecewise_utils.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/attention/test_torch_attention_op.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/mla/test_torch_mla_op.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/mla/test_triton_mla_op.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/moe/test_mxfp4_moe_layout.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/quantization/test_quant.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/rope/test_rope_op_variants.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/test_gptq_op.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/test_resource_handlers.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/test_update_kv_cache.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_decompose.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_dialect.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_elementwise_fusion_e2e.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_fx_mlir_roundtrip.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_string_codegen.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_subgraph_discovery.py
  • tests/unittest/auto_deploy/singlegpu/models/test_cohere_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_decilm_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_deepseek_v2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_eagle.py
  • tests/unittest/auto_deploy/singlegpu/models/test_exaone_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma3n_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma4_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_glm4_moe_lite_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_glm4_moe_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_glm_moe_dsa_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_granite_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_hf.py
  • tests/unittest/auto_deploy/singlegpu/models/test_hunyuan_moe_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_internlm3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_kimi_k2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_llama3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_llama4_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_minimax_m2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_mistral3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_mistral_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_olmo3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_openelm_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_qwen3_5_moe.py
  • tests/unittest/auto_deploy/singlegpu/models/test_qwen3_moe_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_qwen3_next_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_seed_oss_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_skywork_r1v2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_smollm3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_starcoder2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_step3p7_modeling.py
  • tests/unittest/auto_deploy/singlegpu/shim/test_create_ad_executor.py
  • tests/unittest/auto_deploy/singlegpu/shim/test_llm_config.py
  • tests/unittest/auto_deploy/singlegpu/test_graph_canonicalize.py
  • tests/unittest/auto_deploy/singlegpu/test_hf_export_info.py
  • tests/unittest/auto_deploy/singlegpu/test_mistral_small_4_tokenizer_bridge.py
  • tests/unittest/auto_deploy/singlegpu/test_pattern_matcher.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_bmm_moe_hooks.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_fuse_silu_mul.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_fuse_swiglu.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_gemm_fusion.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_kvcache_vswa_metadata.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_mrope_delta_cache.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_quant_fusion.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_quantization.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_shared_kv_attention.py
  • tests/unittest/auto_deploy/singlegpu/transformations/test_export.py
  • tests/unittest/auto_deploy/singlegpu/transformations/test_pipeline_cache.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_config.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_create_derived_custom_op.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_dist_config.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_example_configs.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_multi_stream_utils.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_node_utils_sharding.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_quantization_utils.py
  • tests/unittest/auto_deploy/standalone/test_standalone_import.py
🚧 Files skipped from review as they are similar to previous changes (77)
  • tests/unittest/_torch/auto_deploy/unit/singlegpu/models/test_gpt_oss_modeling.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_gemm_fusion.py
  • tests/unittest/auto_deploy/singlegpu/models/test_deepseek_v2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/transformations/test_pipeline_cache.py
  • tests/unittest/auto_deploy/singlegpu/transformations/test_export.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/mla/test_triton_mla_op.py
  • tests/unittest/auto_deploy/singlegpu/models/test_step3p7_modeling.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/rope/test_rope_op_variants.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_fuse_swiglu.py
  • tests/unittest/auto_deploy/singlegpu/models/test_skywork_r1v2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/attention/test_torch_attention_op.py
  • tests/unittest/auto_deploy/singlegpu/models/test_glm4_moe_lite_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_llama3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_glm_moe_dsa_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_kimi_k2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/test_resource_handlers.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_dist_config.py
  • tests/unittest/auto_deploy/multigpu/custom_ops/test_ad_dist_strategies.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_config.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_string_codegen.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/moe/test_mxfp4_moe_layout.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/mla/test_torch_mla_op.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_mrope_delta_cache.py
  • tests/unittest/auto_deploy/singlegpu/compile/test_piecewise_runner.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_fx_mlir_roundtrip.py
  • tests/unittest/auto_deploy/singlegpu/models/test_qwen3_5_moe.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_quantization.py
  • tests/unittest/auto_deploy/singlegpu/models/test_qwen3_moe_modeling.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/test_gptq_op.py
  • tests/unittest/auto_deploy/singlegpu/models/test_qwen3_next_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_llama4_modeling.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_kvcache_vswa_metadata.py
  • tests/unittest/auto_deploy/singlegpu/compile/test_piecewise_utils.py
  • tests/unittest/auto_deploy/singlegpu/models/test_seed_oss_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_internlm3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_openelm_modeling.py
  • tests/unittest/auto_deploy/singlegpu/test_mistral_small_4_tokenizer_bridge.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_node_utils_sharding.py
  • tests/unittest/auto_deploy/singlegpu/models/test_mistral_modeling.py
  • tests/unittest/auto_deploy/singlegpu/shim/test_llm_config.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_example_configs.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_multi_stream_utils.py
  • tests/unittest/auto_deploy/singlegpu/models/test_smollm3_modeling.py
  • tests/unittest/auto_deploy/standalone/test_standalone_import.py
  • tests/unittest/auto_deploy/singlegpu/test_graph_canonicalize.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_shared_kv_attention.py
  • tests/unittest/auto_deploy/singlegpu/models/test_starcoder2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_minimax_m2_modeling.py
  • tests/integration/test_lists/test-db/l0_cpu.yml
  • tests/unittest/auto_deploy/singlegpu/utils/test_quantization_utils.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_decompose.py
  • tests/unittest/auto_deploy/singlegpu/test_pattern_matcher.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_fuse_silu_mul.py
  • tests/unittest/auto_deploy/singlegpu/models/test_eagle.py
  • tests/unittest/auto_deploy/singlegpu/models/test_olmo3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_dialect.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_elementwise_fusion_e2e.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_create_derived_custom_op.py
  • tests/unittest/auto_deploy/singlegpu/models/test_decilm_modeling.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_subgraph_discovery.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_bmm_moe_hooks.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma2_modeling.py
  • tests/unittest/auto_deploy/multigpu/transformations/library/test_tp_sharding.py
  • tests/unittest/auto_deploy/singlegpu/compile/test_captured_graph.py
  • tests/unittest/auto_deploy/singlegpu/models/test_mistral3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/test_hf_export_info.py
  • tests/unittest/auto_deploy/singlegpu/models/test_hf.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/test_update_kv_cache.py
  • tests/unittest/auto_deploy/singlegpu/shim/test_create_ad_executor.py
  • tests/unittest/auto_deploy/singlegpu/models/test_hunyuan_moe_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_glm4_moe_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma3n_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_exaone_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_granite_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_cohere_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma4_modeling.py

@tongyuantongyu

Copy link
Copy Markdown
Member Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64261 [ run ] triggered by Bot. Commit: 1ad436e Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64261 [ run ] completed with state FAILURE. Commit: 1ad436e
/LLM/main/L0_MergeRequest_PR pipeline #52165 completed with status: 'UNSTABLE'

CI Report

⚠️ Multi-GPU Label Required:
Multi-GPU tests require the ci: full pre-merge approved label on this PR. Ask a member of NVIDIA/trt-llm-ci-approvers to add the label, then re-trigger CI with the same bot command (no rebase needed).

⚠️ 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

Link to invocation

@brnguyen2 brnguyen2 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.

The mechanism here is worth being explicit about, because it makes this more than a tagging change: jenkins/L0_Test.groovy:1455 runs CPU stages with -m cpu_only and every GPU stage with -m "not cpu_only". Marking a test moves it off GPU hardware rather than adding a CPU run. That's the intent for device-agnostic tests, but it means a module-level pytestmark = pytest.mark.cpu_only over a file that still contains GPU-gated tests silently deletes those from CI — the CPU stage skips them via their own skipif(not torch.cuda.is_available()), and the GPU stages never select them. See the inline comment on test_multi_stream_utils.py; that one is an explicitly documented regression guard.

Worth auditing the other ~20 files where you used module-level pytestmark rather than per-test marks, for the same pattern. The rest looks careful — I checked every newly-marked file for collection-time CUDA (module imports, @parametrize arguments evaluated at import) and the only real case was the one you already fixed in test_quant.py; get_device_counts() degrades to skipif marks so test_tp_sharding.py collects fine without GPUs.

The test_create_ad_executor.py refactor into _mock_ad_engine_build / _mock_py_executor_creation is a clear improvement over the repeated five-deep with stacks.

Comment thread tests/unittest/auto_deploy/singlegpu/utils/test_multi_stream_utils.py Outdated
Comment thread tests/unittest/auto_deploy/singlegpu/models/test_hf.py Outdated
Comment thread tests/unittest/auto_deploy/singlegpu/shim/test_llm_config.py Outdated
Signed-off-by: Yuan Tong <13075180+tongyuantongyu@users.noreply.github.com>
Signed-off-by: Yuan Tong <13075180+tongyuantongyu@users.noreply.github.com>
@tongyuantongyu
tongyuantongyu force-pushed the ytong/host-only-test-ad branch from 1ad436e to 8727bf0 Compare August 7, 2026 04:17
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@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.

🧹 Nitpick comments (1)
tests/unittest/auto_deploy/singlegpu/shim/test_llm_config.py (1)

28-32: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Annotate the new fixture function.

patch_device_count is a generator fixture without a return annotation. Add Generator[None, None, None] or an equivalent precise type to satisfy the guideline that every function must be annotated.

Proposed fix
-def patch_device_count():
+def patch_device_count() -> Generator[None, None, None]:
🤖 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/unittest/auto_deploy/singlegpu/shim/test_llm_config.py` around lines 28
- 32, Add a precise generator return annotation, such as Generator[None, None,
None], to the patch_device_count pytest fixture while preserving its existing
patch and yield behavior.

Source: Coding guidelines

🤖 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.

Nitpick comments:
In `@tests/unittest/auto_deploy/singlegpu/shim/test_llm_config.py`:
- Around line 28-32: Add a precise generator return annotation, such as
Generator[None, None, None], to the patch_device_count pytest fixture while
preserving its existing patch and yield behavior.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 3d97f9c5-d584-4592-9603-707da3e38acb

📥 Commits

Reviewing files that changed from the base of the PR and between 8836813 and 8727bf0.

📒 Files selected for processing (79)
  • tests/integration/test_lists/test-db/l0_cpu.yml
  • tests/unittest/_torch/auto_deploy/unit/singlegpu/models/test_gpt_oss_modeling.py
  • tests/unittest/auto_deploy/multigpu/custom_ops/test_ad_dist_strategies.py
  • tests/unittest/auto_deploy/multigpu/transformations/library/test_tp_sharding.py
  • tests/unittest/auto_deploy/singlegpu/compile/test_captured_graph.py
  • tests/unittest/auto_deploy/singlegpu/compile/test_piecewise_runner.py
  • tests/unittest/auto_deploy/singlegpu/compile/test_piecewise_utils.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/attention/test_torch_attention_op.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/mla/test_torch_mla_op.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/mla/test_triton_mla_op.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/moe/test_mxfp4_moe_layout.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/quantization/test_quant.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/rope/test_rope_op_variants.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/test_gptq_op.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/test_resource_handlers.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/test_update_kv_cache.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_decompose.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_dialect.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_elementwise_fusion_e2e.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_fx_mlir_roundtrip.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_string_codegen.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_subgraph_discovery.py
  • tests/unittest/auto_deploy/singlegpu/models/test_cohere_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_decilm_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_deepseek_v2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_eagle.py
  • tests/unittest/auto_deploy/singlegpu/models/test_exaone_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma3n_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma4_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_glm4_moe_lite_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_glm4_moe_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_glm_moe_dsa_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_granite_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_hf.py
  • tests/unittest/auto_deploy/singlegpu/models/test_hunyuan_moe_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_internlm3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_kimi_k2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_llama3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_llama4_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_minimax_m2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_mistral3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_mistral_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_olmo3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_openelm_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_qwen3_5_moe.py
  • tests/unittest/auto_deploy/singlegpu/models/test_qwen3_moe_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_qwen3_next_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_seed_oss_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_skywork_r1v2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_smollm3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_starcoder2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_step3p7_modeling.py
  • tests/unittest/auto_deploy/singlegpu/shim/test_create_ad_executor.py
  • tests/unittest/auto_deploy/singlegpu/shim/test_llm_config.py
  • tests/unittest/auto_deploy/singlegpu/test_graph_canonicalize.py
  • tests/unittest/auto_deploy/singlegpu/test_hf_export_info.py
  • tests/unittest/auto_deploy/singlegpu/test_mistral_small_4_tokenizer_bridge.py
  • tests/unittest/auto_deploy/singlegpu/test_pattern_matcher.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_bmm_moe_hooks.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_fuse_silu_mul.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_fuse_swiglu.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_gemm_fusion.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_kvcache_vswa_metadata.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_mrope_delta_cache.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_quant_fusion.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_quantization.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_shared_kv_attention.py
  • tests/unittest/auto_deploy/singlegpu/transformations/test_export.py
  • tests/unittest/auto_deploy/singlegpu/transformations/test_pipeline_cache.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_config.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_create_derived_custom_op.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_dist_config.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_example_configs.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_multi_stream_utils.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_node_utils_sharding.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_quantization_utils.py
  • tests/unittest/auto_deploy/standalone/test_standalone_import.py
🚧 Files skipped from review as they are similar to previous changes (76)
  • tests/unittest/auto_deploy/singlegpu/custom_ops/mla/test_triton_mla_op.py
  • tests/unittest/auto_deploy/singlegpu/models/test_mistral_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_step3p7_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_deepseek_v2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_granite_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_glm4_moe_lite_modeling.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_dist_config.py
  • tests/unittest/auto_deploy/singlegpu/models/test_qwen3_moe_modeling.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_gemm_fusion.py
  • tests/unittest/auto_deploy/singlegpu/models/test_qwen3_5_moe.py
  • tests/unittest/auto_deploy/singlegpu/models/test_cohere_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_llama4_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_kimi_k2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_starcoder2_modeling.py
  • tests/unittest/_torch/auto_deploy/unit/singlegpu/models/test_gpt_oss_modeling.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_string_codegen.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/moe/test_mxfp4_moe_layout.py
  • tests/unittest/auto_deploy/singlegpu/models/test_qwen3_next_modeling.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/test_update_kv_cache.py
  • tests/unittest/auto_deploy/singlegpu/models/test_openelm_modeling.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_fx_mlir_roundtrip.py
  • tests/unittest/auto_deploy/singlegpu/test_hf_export_info.py
  • tests/unittest/auto_deploy/multigpu/transformations/library/test_tp_sharding.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_subgraph_discovery.py
  • tests/unittest/auto_deploy/singlegpu/compile/test_piecewise_utils.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_kvcache_vswa_metadata.py
  • tests/unittest/auto_deploy/singlegpu/models/test_mistral3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_multi_stream_utils.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_fuse_silu_mul.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/mla/test_torch_mla_op.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/test_gptq_op.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/rope/test_rope_op_variants.py
  • tests/unittest/auto_deploy/standalone/test_standalone_import.py
  • tests/unittest/auto_deploy/singlegpu/models/test_glm_moe_dsa_modeling.py
  • tests/unittest/auto_deploy/singlegpu/test_mistral_small_4_tokenizer_bridge.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_dialect.py
  • tests/unittest/auto_deploy/singlegpu/transformations/test_pipeline_cache.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_mrope_delta_cache.py
  • tests/unittest/auto_deploy/multigpu/custom_ops/test_ad_dist_strategies.py
  • tests/unittest/auto_deploy/singlegpu/models/test_exaone_modeling.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/attention/test_torch_attention_op.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_fuse_swiglu.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma4_modeling.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_node_utils_sharding.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_quantization.py
  • tests/unittest/auto_deploy/singlegpu/custom_ops/test_resource_handlers.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_quantization_utils.py
  • tests/unittest/auto_deploy/singlegpu/compile/test_piecewise_runner.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_create_derived_custom_op.py
  • tests/unittest/auto_deploy/singlegpu/models/test_eagle.py
  • tests/unittest/auto_deploy/singlegpu/test_graph_canonicalize.py
  • tests/unittest/auto_deploy/singlegpu/models/test_minimax_m2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_seed_oss_modeling.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_config.py
  • tests/unittest/auto_deploy/singlegpu/utils/test_example_configs.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_decompose.py
  • tests/unittest/auto_deploy/singlegpu/models/test_llama3_modeling.py
  • tests/integration/test_lists/test-db/l0_cpu.yml
  • tests/unittest/auto_deploy/singlegpu/models/test_internlm3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_skywork_r1v2_modeling.py
  • tests/unittest/auto_deploy/singlegpu/shim/test_create_ad_executor.py
  • tests/unittest/auto_deploy/singlegpu/models/test_smollm3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_decilm_modeling.py
  • tests/unittest/auto_deploy/singlegpu/transformations/test_export.py
  • tests/unittest/auto_deploy/singlegpu/models/test_olmo3_modeling.py
  • tests/unittest/auto_deploy/singlegpu/compile/test_captured_graph.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_quant_fusion.py
  • tests/unittest/auto_deploy/singlegpu/models/test_hunyuan_moe_modeling.py
  • tests/unittest/auto_deploy/singlegpu/models/test_glm4_moe_modeling.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_bmm_moe_hooks.py
  • tests/unittest/auto_deploy/singlegpu/models/test_gemma3n_modeling.py
  • tests/unittest/auto_deploy/singlegpu/transformations/library/test_shared_kv_attention.py
  • tests/unittest/auto_deploy/singlegpu/test_pattern_matcher.py
  • tests/unittest/auto_deploy/singlegpu/mlir/test_elementwise_fusion_e2e.py

@brnguyen2 brnguyen2 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.

Approving — the comments below are optional touch-ups, not blockers.

Revisit — all three prior threads check out against the current code, not just the resolution status:

  1. test_multi_stream_utils.py — module-level pytestmark replaced by a class-level marker on TestDisableMultiStream only. TestRecordStreamDuringCudaGraphCapture (line 108) is unmarked, so GPU stages still select it. Fixed correctly.
  2. test_hf.py — markers are now per-test; test_hf_load_state_dict_with_device (line 44) is deliberately left unmarked, so its torch.cuda.is_available() branch still runs on GPU stages. Fixed correctly.
  3. test_llm_config.py — the get_device_count patch moved out of the data fixture into a separate patch_device_count fixture requested only by test_config_flow. No leak into later tests. Fixed correctly.

I also re-checked the general hazard I raised last round, and want to record why it's not a problem here: tests/unittest/conftest.py:228 (pytest_ignore_collect) skips importing any test file whose source doesn't literally contain pytest.mark.cpu_only when the mark expression is cpu_only. That's what makes adding whole directories to l0_cpu.yml safe — test_flashinfer_attention_op.py, which evaluates torch.cuda.get_device_capability(0) in a decorator, is never imported on a 0-GPU node. It also means any file with at least one marked test is imported in full on the CPU stage, so module-level imports there must be CPU-safe (test_mxfp4_moe_layout.py imports triton_kernels at module scope) — CI evidence says that holds today.

Every remaining module-level pytestmark = pytest.mark.cpu_only (piecewise_utils, mxfp4_moe_layout, gptq_op, update_kv_cache, the three mlir files, create_ad_executor, llm_config) contains no GPU-gated test, so nothing else is silently dropped.

One non-blocking note inline.

@tongyuantongyu

Copy link
Copy Markdown
Member Author

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64934 [ run ] triggered by Bot. Commit: 8727bf0 Link to invocation

@govind-ramnarayan govind-ramnarayan 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 as long as it is green on the new CI stage (I guess if a migrated test requires a GPU it will not be?)

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #64934 [ run ] completed with state SUCCESS. Commit: 8727bf0
/LLM/main/L0_MergeRequest_PR pipeline #52769 completed with status: 'SUCCESS'

CI Report

Link to invocation

@tongyuantongyu
tongyuantongyu merged commit 01351ee into NVIDIA:main Aug 11, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants