Skip to content

[#11548][feat] AutoDeploy: Optimize Qwen3.5 perf#12265

Merged
taylor-yb-lee merged 28 commits into
NVIDIA:mainfrom
nv-auto-deploy:taylor/taylor_qen3.5_perf
Apr 9, 2026
Merged

[#11548][feat] AutoDeploy: Optimize Qwen3.5 perf#12265
taylor-yb-lee merged 28 commits into
NVIDIA:mainfrom
nv-auto-deploy:taylor/taylor_qen3.5_perf

Conversation

@taylor-yb-lee

@taylor-yb-lee taylor-yb-lee commented Mar 17, 2026

Copy link
Copy Markdown
Collaborator

Description

This PR enables lm_head sharding for Qwen3_5MoeModel and adds TP8 MoE support for Qwen3.5 with NVFP4 quantization.

Key changes:

  • Include lm_head in Qwen3_5MoeModel to enable tensor-parallel sharding
  • Exclude lm_head from CUDA graph capture to preserve optimized performance with sharding applied

Known Limitations

As of #12114, the default model factory for Qwen3.5 has been changed to Qwen3_5MoeForConditionalGeneration to support both VLM and text-only modes. However, this factory currently has several outstanding issues:

Recommendation: Until these issues are resolved, use AutoModelForCausalLM for text-only Qwen3.5 workloads.
(See the comments in examples/auto_deploy/model_registry/configs/qwen3.5_moe_400b.yaml)

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)

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

@taylor-yb-lee taylor-yb-lee changed the title [#11548][feat] AutoDeploy: Optimize Qwen3.5 perf [#11548][feat] AutoDeploy: Optimize Qwen3.5 perf Mar 17, 2026
@taylor-yb-lee
taylor-yb-lee marked this pull request as ready for review March 17, 2026 02:25
@taylor-yb-lee
taylor-yb-lee requested a review from a team as a code owner March 17, 2026 02:25
@taylor-yb-lee taylor-yb-lee linked an issue Mar 17, 2026 that may be closed by this pull request
1 task
@taylor-yb-lee taylor-yb-lee removed their assignment Mar 17, 2026
@taylor-yb-lee taylor-yb-lee added the AutoDeploy <NV> AutoDeploy Backend label Mar 17, 2026
@coderabbitai

coderabbitai Bot commented Mar 17, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

This PR adds tensor parallelism-aware MoE scale sharding support to the auto-deploy framework. Changes include updating the Qwen 3.5 MoE 400B configuration with new MoE transforms blocks and parameter adjustments, introducing new NVFP4 and FineGrained FP8 scale sharding helpers, and enhancing lm_head node handling for column-sharded architectures.

Changes

Cohort / File(s) Summary
Model Configuration
examples/auto_deploy/model_registry/configs/qwen3.5_moe_400b.yaml
Updated max_num_tokens from 8192 to 16000 and free_gpu_memory_fraction from 0.8 to 0.4; added fuse_nvfp4_moe, dist_mapping (moe_tp: 8, moe_ep: 1), and shard_all_unprocessed transforms blocks.
MoE Scale Sharding
tensorrt_llm/_torch/auto_deploy/transform/library/sharding.py
Added two new TP-aware MoE scale sharding functions: _shard_nvfp4_moe_scale for NVFP4 weight scales and _tp_shard_moe_scale for expert-level scale TP sharding; extended existing TP sharding flow to handle blocked scales with state-dict load hooks for NVFP4 and FineGrained FP8 variants.
Graph Utilities
tensorrt_llm/_torch/auto_deploy/utils/_graph.py
Enhanced get_lm_head_node to unwrap trtllm_dist_all_gather operations, exposing the underlying linear node for column-sharded lm_head scenarios.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning PR description lacks key required sections: no Title section with ticket/issue format, missing Test Coverage details, and PR Checklist is incomplete with several unchecked items and no specific test documentation. Add proper PR title following template format [Ticket][type] Summary, provide specific test coverage details (test files/functions), and ensure all relevant checklist items are addressed or marked as N/A with explanation.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically identifies the main change: optimizing Qwen3.5 performance in AutoDeploy, which aligns with the key objective of improving performance through lm_head sharding and TP8 MoE support.
Docstring Coverage ✅ Passed Docstring coverage is 80.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@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 (3)
tensorrt_llm/_torch/auto_deploy/transform/library/sharding.py (2)

1671-1691: Add parameter documentation to the docstring.

The function docstring explains the purpose well but lacks parameter documentation, which would help future maintainers understand the expected inputs (especially orig_weight_shape which represents the uint8-packed weight shape before any sharding).

📝 Suggested docstring enhancement
 def _shard_nvfp4_moe_scale(
     scale: torch.Tensor,
     orig_weight_shape: torch.Size,
     dim: int,
     rank: int,
     world_size: int,
 ) -> torch.Tensor:
     """Shard NVFP4 weight_scale for MoE TP, preserving 2D cutlass format.

     Unlike _shard_fp4_weight_scale (which returns 1D), this returns a 2D tensor
     with the correct padded shape, matching the format expected by MoE stacking.
+
+    Args:
+        scale: The weight_scale tensor in cutlass format (1D or 2D).
+        orig_weight_shape: Shape of the corresponding uint8-packed weight tensor
+            before TP sharding (used for format conversion).
+        dim: Dimension along which to split (0 for column, 1 for row).
+        rank: Current TP rank.
+        world_size: Total TP world size.
+
+    Returns:
+        2D tensor with padded shape (m + pad_m, n + pad_n) in cutlass format.
     """
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tensorrt_llm/_torch/auto_deploy/transform/library/sharding.py` around lines
1671 - 1691, Update the _shard_nvfp4_moe_scale docstring to include parameter
and return documentation: describe each parameter (scale: torch.Tensor of
per-element scales; orig_weight_shape: torch.Size representing the uint8-packed
weight shape prior to sharding—note last dim was doubled to convert from bytes
to elements; dim: int tensor split dimension; rank: int current TP rank;
world_size: int total TP ranks) and the return value (torch.Tensor shaped to the
padded 2D cutlass format matching MoE stacking). Also mention padding behavior
(pads m to multiple of 128 and n to multiple of 4) so maintainers know why
reshape uses those pads.

1846-1865: Index arithmetic relies on implicit arg layout.

The scale index calculation 6 + s_idx * 3 depends on the implicit structure of node.args. While the comments explain the layout, this coupling between the function and op schema is fragile. Consider extracting the base index as a constant or using extract_op_args/set_op_args for consistency with the pattern used elsewhere (e.g., line 1922).

♻️ Optional: extract base index as constant
+    # Scales start at arg index 6 (after: hidden_states, selected_experts, 
+    # final_scales, w_up, w_down, w_gate)
+    _SCALE_ARGS_BASE_IDX = 6
+
     if tp_size > 1 and scale_names:
         _BLOCKED_SCALE_NAMES = {"weight_scale", "weight_scale_inv"}
         for s_idx, s_name in enumerate(scale_names):
             if s_name not in _BLOCKED_SCALE_NAMES:
                 continue
-            # For each scale_name, the 3 lists correspond to w_up, w_down, w_gate
-            # w_up/w_gate use COLUMN split (dim=0), w_down uses ROW split (dim=1)
             scale_dim_groups = [
-                (6 + s_idx * 3 + 0, SplitDimension.COLUMN, w_up_orig_shapes),
-                (6 + s_idx * 3 + 1, SplitDimension.ROW, w_down_orig_shapes),
-                (6 + s_idx * 3 + 2, SplitDimension.COLUMN, w_gate_orig_shapes),
+                (_SCALE_ARGS_BASE_IDX + s_idx * 3 + 0, SplitDimension.COLUMN, w_up_orig_shapes),  # w_up
+                (_SCALE_ARGS_BASE_IDX + s_idx * 3 + 1, SplitDimension.ROW, w_down_orig_shapes),   # w_down
+                (_SCALE_ARGS_BASE_IDX + s_idx * 3 + 2, SplitDimension.COLUMN, w_gate_orig_shapes), # w_gate
             ]
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tensorrt_llm/_torch/auto_deploy/transform/library/sharding.py` around lines
1846 - 1865, The index math for scale args is fragile: replace the repeated
magic expression (6 + s_idx * 3) with a clearly named base index and/or use the
existing arg helper functions; specifically, inside the loop over scale_names
compute a single base_index = 6 + s_idx * 3 (or obtain the named args via
extract_op_args/set_op_args) and then build scale_dim_groups using base_index +
0/1/2, keeping references to _BLOCKED_SCALE_NAMES, args, scale_dim_groups and
the call to _tp_shard_moe_scale unchanged so the rest of the logic is identical
but the indexing is explicit and maintainable.
tensorrt_llm/_torch/auto_deploy/utils/_graph.py (1)

574-582: Consider handling both all_gather backends for consistency.

The unwrapping logic only handles trtllm_dist_all_gather, but the codebase supports both trtllm_dist_all_gather and torch_dist_all_gather backends (see _get_dist_ops in sharding.py). If the torch distributed backend is used for lm_head sharding, this unwrapping won't trigger.

♻️ Proposed fix to handle both backends
     # Unwrap all_gather for sharded lm_head: when lm_head weight is column-
     # sharded the graph contains  lm_head_linear -> all_gather -> output.
     # We look through the all_gather so that callers (e.g.
     # gather_logits_before_lm_head) see the underlying linear and can insert
     # gather_tokens *before* the sharded GEMM + all_gather, keeping both out
     # of the main CUDA graph and avoiding NVLink contention with layer
     # AllReduces.
-    if is_op(lm_head_node, torch.ops.auto_deploy.trtllm_dist_all_gather):
+    if is_op(lm_head_node, [
+        torch.ops.auto_deploy.trtllm_dist_all_gather,
+        torch.ops.auto_deploy.torch_dist_all_gather,
+    ]):
         lm_head_node = lm_head_node.all_input_nodes[0]
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tensorrt_llm/_torch/auto_deploy/utils/_graph.py` around lines 574 - 582, The
unwrap currently only checks for torch.ops.auto_deploy.trtllm_dist_all_gather;
update the condition that tests lm_head_node to also detect the torch
distributed all_gather backend used elsewhere in the repo (the op registered as
torch_dist_all_gather) so sharded lm_head -> all_gather is handled regardless of
backend. Concretely, modify the check around lm_head_node (the block that calls
is_op(lm_head_node, torch.ops.auto_deploy.trtllm_dist_all_gather) and then
reassigns lm_head_node = lm_head_node.all_input_nodes[0]) to test for both
torch.ops.auto_deploy.trtllm_dist_all_gather and the torch ops variant (or
obtain the set from _get_dist_ops in sharding.py) and unwrap when either
matches.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@tensorrt_llm/_torch/auto_deploy/transform/library/sharding.py`:
- Around line 1671-1691: Update the _shard_nvfp4_moe_scale docstring to include
parameter and return documentation: describe each parameter (scale: torch.Tensor
of per-element scales; orig_weight_shape: torch.Size representing the
uint8-packed weight shape prior to sharding—note last dim was doubled to convert
from bytes to elements; dim: int tensor split dimension; rank: int current TP
rank; world_size: int total TP ranks) and the return value (torch.Tensor shaped
to the padded 2D cutlass format matching MoE stacking). Also mention padding
behavior (pads m to multiple of 128 and n to multiple of 4) so maintainers know
why reshape uses those pads.
- Around line 1846-1865: The index math for scale args is fragile: replace the
repeated magic expression (6 + s_idx * 3) with a clearly named base index and/or
use the existing arg helper functions; specifically, inside the loop over
scale_names compute a single base_index = 6 + s_idx * 3 (or obtain the named
args via extract_op_args/set_op_args) and then build scale_dim_groups using
base_index + 0/1/2, keeping references to _BLOCKED_SCALE_NAMES, args,
scale_dim_groups and the call to _tp_shard_moe_scale unchanged so the rest of
the logic is identical but the indexing is explicit and maintainable.

In `@tensorrt_llm/_torch/auto_deploy/utils/_graph.py`:
- Around line 574-582: The unwrap currently only checks for
torch.ops.auto_deploy.trtllm_dist_all_gather; update the condition that tests
lm_head_node to also detect the torch distributed all_gather backend used
elsewhere in the repo (the op registered as torch_dist_all_gather) so sharded
lm_head -> all_gather is handled regardless of backend. Concretely, modify the
check around lm_head_node (the block that calls is_op(lm_head_node,
torch.ops.auto_deploy.trtllm_dist_all_gather) and then reassigns lm_head_node =
lm_head_node.all_input_nodes[0]) to test for both
torch.ops.auto_deploy.trtllm_dist_all_gather and the torch ops variant (or
obtain the set from _get_dist_ops in sharding.py) and unwrap when either
matches.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 119f372a-2765-40bb-8ff6-cc5145e00132

📥 Commits

Reviewing files that changed from the base of the PR and between 5003d38 and be0f385.

📒 Files selected for processing (3)
  • examples/auto_deploy/model_registry/configs/qwen3.5_moe_400b.yaml
  • tensorrt_llm/_torch/auto_deploy/transform/library/sharding.py
  • tensorrt_llm/_torch/auto_deploy/utils/_graph.py

Comment thread examples/auto_deploy/model_registry/configs/qwen3.5_moe_400b.yaml

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

Shall we add the test coverage for new functions?

Comment thread examples/auto_deploy/model_registry/configs/qwen3.5_moe_400b.yaml Outdated
Comment thread tensorrt_llm/_torch/auto_deploy/transform/library/sharding.py
@taylor-yb-lee
taylor-yb-lee force-pushed the taylor/taylor_qen3.5_perf branch from be0f385 to e553c79 Compare March 19, 2026 03:33
@taylor-yb-lee

Copy link
Copy Markdown
Collaborator Author

/bot help

@github-actions

Copy link
Copy Markdown

GitHub Bot Help

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

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

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

See details below for each supported subcommand.

Details

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

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

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

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

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

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

--stage-list "A10-PyTorch-1, xxx" (OPTIONAL) : Only run the specified test stages. Examples: "A10-PyTorch-1, xxx". Note: Does NOT update GitHub check status.

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

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

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

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

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

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

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

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

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

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

kill

kill

Kill all running builds associated with pull request.

skip

skip --comment COMMENT

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

reuse-pipeline

reuse-pipeline

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

@taylor-yb-lee
taylor-yb-lee force-pushed the taylor/taylor_qen3.5_perf branch from 7a9606f to 3b16a43 Compare March 24, 2026 01:04
@taylor-yb-lee

Copy link
Copy Markdown
Collaborator Author

/bot run --extra-stage "DGX_B200-4_GPUs-AutoDeploy-1, DGX_H100-4_GPUs-AutoDeploy-1"

@taylor-yb-lee
taylor-yb-lee force-pushed the taylor/taylor_qen3.5_perf branch from 17aacaa to 3c1e8b0 Compare March 24, 2026 07:52
@taylor-yb-lee

Copy link
Copy Markdown
Collaborator Author

Shall we add the test coverage for new functions?

Added new unittest for NVFP4 MoE TP sharding

@taylor-yb-lee

Copy link
Copy Markdown
Collaborator Author

/bot run --extra-stage "DGX_B200-4_GPUs-AutoDeploy-1, DGX_H100-4_GPUs-AutoDeploy-1"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #40085 [ run ] triggered by Bot. Commit: 3c1e8b0 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #40087 [ run ] triggered by Bot. Commit: 3c1e8b0 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #40085 [ run ] completed with state ABORTED. Commit: 3c1e8b0

Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #40087 [ run ] completed with state SUCCESS. Commit: 3c1e8b0
/LLM/main/L0_MergeRequest_PR pipeline #31239 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

Link to invocation

@taylor-yb-lee

Copy link
Copy Markdown
Collaborator Author

/bot run --extra-stage "DGX_B200-4_GPUs-AutoDeploy-1, DGX_H100-4_GPUs-AutoDeploy-1"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42060 [ run ] completed with state SUCCESS. Commit: 3d438ec
/LLM/main/L0_MergeRequest_PR pipeline #32900 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

Link to invocation

@taylor-yb-lee

Copy link
Copy Markdown
Collaborator Author

/bot run --extra-stage "DGX_B200-4_GPUs-AutoDeploy-1, DGX_H100-4_GPUs-AutoDeploy-1"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42085 [ run ] triggered by Bot. Commit: 3d438ec Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42085 [ run ] completed with state FAILURE. Commit: 3d438ec
/LLM/main/L0_MergeRequest_PR pipeline #32924 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

Link to invocation

@taylor-yb-lee

Copy link
Copy Markdown
Collaborator Author

/bot run --extra-stage "DGX_B200-4_GPUs-AutoDeploy-1, DGX_H100-4_GPUs-AutoDeploy-1"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42103 [ run ] triggered by Bot. Commit: 3d438ec Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42103 [ run ] completed with state FAILURE. Commit: 3d438ec
/LLM/main/L0_MergeRequest_PR pipeline #32940 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

Link to invocation

@taylor-yb-lee

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-multi-gpu-test

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42177 [ run ] triggered by Bot. Commit: 3d438ec Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42177 [ run ] completed with state SUCCESS. Commit: 3d438ec
/LLM/main/L0_MergeRequest_PR pipeline #33004 (Partly Tested) completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

Link to invocation

@taylor-yb-lee

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-multi-gpu-test

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42185 [ run ] triggered by Bot. Commit: 3d438ec Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42185 [ run ] completed with state SUCCESS. Commit: 3d438ec
/LLM/main/L0_MergeRequest_PR pipeline #33010 (Partly Tested) completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

Link to invocation

@taylor-yb-lee

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-multi-gpu-test --reuse-test

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42267 [ run ] triggered by Bot. Commit: 3d438ec Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42267 [ run ] completed with state SUCCESS. Commit: 3d438ec
/LLM/main/L0_MergeRequest_PR pipeline #33068 (Partly Tested) completed with status: 'FAILURE'

CI Report

⚠️ Action Required:

  • Please check the failed tests and fix your PR
  • If you cannot view the failures, ask the CI triggerer to share details
  • Once fixed, request an NVIDIA team member to trigger CI again

Link to invocation

@taylor-yb-lee

Copy link
Copy Markdown
Collaborator Author

/bot run --extra-stage "DGX_B200-4_GPUs-AutoDeploy-1, DGX_H100-4_GPUs-AutoDeploy-1"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42371 [ run ] triggered by Bot. Commit: 3d438ec Link to invocation

@taylor-yb-lee

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast --disable-multi-gpu-test --reuse-test

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42371 [ run ] completed with state SUCCESS. Commit: 3d438ec
/LLM/main/L0_MergeRequest_PR pipeline #33152 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

Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42401 [ run ] triggered by Bot. Commit: 3d438ec Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42401 [ run ] completed with state SUCCESS. Commit: 3d438ec
/LLM/main/L0_MergeRequest_PR pipeline #33174 (Partly Tested) completed with status: 'SUCCESS'

CI Report

Link to invocation

@taylor-yb-lee

Copy link
Copy Markdown
Collaborator Author

/bot run --disable-fail-fast --stage-list "DGX_B200-4_GPUs-AutoDeploy-1, DGX_H100-4_GPUs-AutoDeploy-1"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42466 [ run ] triggered by Bot. Commit: 3d438ec Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42466 [ run ] completed with state SUCCESS. Commit: 3d438ec
/LLM/main/L0_MergeRequest_PR pipeline #33223 (Partly Tested) completed with status: 'SUCCESS'

CI Report

Link to invocation

@taylor-yb-lee

Copy link
Copy Markdown
Collaborator Author

/bot skip --comment "my change is only about AutoDeploy. I ran the relevant tests separately: Single GPU only : https://prod.blsm.nvidia.com/sw-tensorrt-top-1/job/LLM/job/main/job/L0_MergeRequest_PR/33174/
Multi GPU for Auto Deploy : https://nv/trt-llm-cicd/job/main/job/L0_MergeRequest_PR/33223/
and they passed. "

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42560 [ skip ] triggered by Bot. Commit: 3d438ec Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #42560 [ skip ] completed with state SUCCESS. Commit: 3d438ec
Skipping testing for commit 3d438ec

Link to invocation

@taylor-yb-lee
taylor-yb-lee merged commit 1936367 into NVIDIA:main Apr 9, 2026
5 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in AutoDeploy Board Apr 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AutoDeploy/llmc-blocker <NV> Tag for issues that are blocking AutoDeploy standalone repo AutoDeploy <NV> AutoDeploy Backend

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

[AutoDeploy]: Qwen-3.5 400B perf optimization

5 participants