Skip to content

[https://nvbugs/6095421][fix] In ModelConfig.resolve_moe_backend, after the GptOss branch, return "DEEPGEMM" w - #14182

Closed
tensorrt-cicd wants to merge 1 commit into
NVIDIA:mainfrom
tensorrt-cicd:repair-bot-bug6095421
Closed

[https://nvbugs/6095421][fix] In ModelConfig.resolve_moe_backend, after the GptOss branch, return "DEEPGEMM" w#14182
tensorrt-cicd wants to merge 1 commit into
NVIDIA:mainfrom
tensorrt-cicd:repair-bot-bug6095421

Conversation

@tensorrt-cicd

@tensorrt-cicd tensorrt-cicd commented May 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Root cause: AUTO moe_backend resolves to CUTLASS on Blackwell, whose FP8_BLOCK_SCALES path uses a DeepGEMM JIT kernel that only supports Hopper, so the DeepSeek-V3-Lite-fp8 worker throws during warmup and the disagg parent deadlocks waiting for MPI_READY.
  • Fix: In ModelConfig.resolve_moe_backend, after the GptOss branch, return "DEEPGEMM" when is_sm_100f(sm_version) is True so non-GptOss MoE models use the Blackwell-native FP8 backend.
  • Automated fix generated by repair-bot

Test plan

  • Verify fix on the same GPU type as the original failure
  • Check for regressions in related tests

Links

Summary by CodeRabbit

  • New Features
    • Added optimized MoE backend support for Blackwell GPU architecture to improve inference performance.

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 15, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

The PR adds Blackwell GPU-specific MOE backend selection to TensorRT-LLM's model configuration. It imports a GPU detection utility and adds a conditional branch in resolve_moe_backend that returns "DEEPGEMM" when targeting Blackwell SM 100F devices with the GptOssForCausalLM architecture and AUTO backend mode.

Changes

Blackwell MOE Backend Selection

Layer / File(s) Summary
Blackwell GPU MOE backend selection
tensorrt_llm/_torch/model_config.py
Import is_sm_100f GPU detection utility and add conditional logic in ModelConfig.resolve_moe_backend to return "DEEPGEMM" when is_sm_100f() is true for GptOssForCausalLM models under AUTO backend selection.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Suggested reviewers

  • StanleySun639
  • hyukn
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the specific change: returning DEEPGEMM in ModelConfig.resolve_moe_backend for Blackwell (SM100f), directly matching the main code modification.
Description check ✅ Passed The PR description provides root cause, fix explanation, test coverage verification, and bug link, but lacks formal PR checklist completion and detailed API impact assessment.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
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.

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

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

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.


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.

Caution

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

⚠️ Outside diff range comments (1)
tensorrt_llm/_torch/model_config.py (1)

1-1: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Add/update the required NVIDIA copyright header on this modified Python source file.

This file appears to be missing the required TensorRT-LLM copyright/license header for modified source files.

As per coding guidelines "**/*.{cpp,cc,cxx,h,hpp,hxx,cu,py}: All TensorRT-LLM source files must contain an NVIDIA copyright header with year of latest modification, using the Apache 2.0 license text."

🤖 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 `@tensorrt_llm/_torch/model_config.py` at line 1, This file
tensorrt_llm/_torch/model_config.py is missing the required NVIDIA Apache-2.0
copyright header; add the standard TensorRT-LLM Apache 2.0 license header (with
the year of latest modification) at the very top of the file before any imports
(i.e., above the existing import contextlib line) so the file contains the
official multi-line copyright and license block used across TensorRT-LLM Python
sources.
🤖 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.

Outside diff comments:
In `@tensorrt_llm/_torch/model_config.py`:
- Line 1: This file tensorrt_llm/_torch/model_config.py is missing the required
NVIDIA Apache-2.0 copyright header; add the standard TensorRT-LLM Apache 2.0
license header (with the year of latest modification) at the very top of the
file before any imports (i.e., above the existing import contextlib line) so the
file contains the official multi-line copyright and license block used across
TensorRT-LLM Python sources.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: ec34a9d1-93e2-4de0-8bfa-5f8af6107ddc

📥 Commits

Reviewing files that changed from the base of the PR and between 8a11da8 and b311270.

📒 Files selected for processing (1)
  • tensorrt_llm/_torch/model_config.py

@tensorrt-cicd
tensorrt-cicd force-pushed the repair-bot-bug6095421 branch 2 times, most recently from 7cd4e5f to 721c243 Compare May 18, 2026 03:41
@heyuhhh

heyuhhh commented May 18, 2026

Copy link
Copy Markdown
Collaborator

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator Author

PR_Github #48841 [ run ] triggered by Bot. Commit: 721c243 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator Author

PR_Github #48841 [ run ] completed with state SUCCESS. Commit: 721c243
/LLM/main/L0_MergeRequest_PR pipeline #38598 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

@heyuhhh

heyuhhh commented May 18, 2026

Copy link
Copy Markdown
Collaborator

/bot run --disable-fail-fast

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator Author

PR_Github #48859 [ run ] triggered by Bot. Commit: 721c243 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator Author

PR_Github #48859 [ run ] completed with state ABORTED. Commit: 721c243

Link to invocation

DeepSeek-V3-Lite-fp8 disagg test hangs on GB300 because resolve_moe_backend()
returns CUTLASS for non-GptOss MoE models, and the CUTLASS FP8_BLOCK_SCALES
path uses a DeepGEMM JIT kernel that only supports Hopper (SM90). On Blackwell
(SM100/103) the worker throws 'fp8 blockscale gemm only support Hopper' during
warmup; the disagg parent then deadlocks waiting for MPI_READY.

Route AUTO moe_backend to DEEPGEMM on SM100/103, which natively supports these
architectures with FP8_BLOCK_SCALES.

Signed-off-by: tensorrt-cicd <90828364+tensorrt-cicd@users.noreply.github.com>
@tensorrt-cicd
tensorrt-cicd force-pushed the repair-bot-bug6095421 branch from 721c243 to b4c1d41 Compare May 26, 2026 01:30
@heyuhhh heyuhhh closed this May 26, 2026
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.

3 participants