Skip to content

[None][feat] Add VR200 support for Mistral Large 4 modeling_v2 - #21604

Merged
yizhang-nv merged 1 commit into
NVIDIA:feat/mistral-large-4from
yt0428:codex/mistral-large-4-vr200
Nov 6, 2026
Merged

yizhang-nv merged 1 commit into
NVIDIA:feat/mistral-large-4from
yt0428:codex/mistral-large-4-vr200

Conversation

@yt0428

@yt0428 yt0428 commented Nov 4, 2026

Copy link
Copy Markdown
Collaborator

Description

Mistral Large 4 modeling_v2 currently rejects VR200/SM107, and its existing DeepGEMM projection and prefill-indexer paths hit architecture feature guards on that GPU. Add dedicated SM107 TEP, TP, and DEP targets for four or eight ranks, with native three-token DSpark enabled or disabled.

  • Preserve K128 FP8 quantization while adapting scale storage to the existing Rubin MXFP8 GEMM's K32 R128c4 interface.
  • Add an FP8 Triton prefill scorer that retains the indexer formula, query windows, bounded tiling, and the aligned output required by GVR top-k.
  • Use interface-address discovery for the Lamport MPI rendezvous fallback, avoiding a hostname-derived loopback address on multi-node runs.
  • Extend routing/operator/vision/DSpark regression coverage, provide shared full and long accuracy panels with DSpark OFF, and document VR200 support and its measured validation scope.

The three target trees intentionally mirror their SM103 counterparts to follow modeling_v2's architecture-isolation contract. Their inference changes are concentrated in FP8 projection and prefill scoring; the existing checkpoint layout, NVFP4 routed experts, vision path, and native DSpark implementation are retained.

Test Coverage

Checks on the submitted files: all configured pre-commit and commit-message hooks passed, including Ruff lint/format, AST test-list validation, pinned-memory policy, and DCO validation. All 23 submitted files match their pre-hook hashes.

Recorded validation of the same inference/test sources:

  • CPU routing/native-DSpark checks: 354 passed, 12 skipped, 30 deselected; Lamport initialization regressions: 3 passed.
  • FP8 projection standalone checks: 28 executed numerical cells. Triton scorer: 13 numerical cases plus 3 actual GVR consumer regressions.
  • Eight-rank communication: all-reduce, all-gather, and reduce-scatter checks passed.
  • VR200 end-to-end accuracy: 30/30 workloads passed across 24 configurations, using modeling_v2="require" and checkpoint revision bb6d00fe249b0e876f0cffc6b85014be02de3e68 of mistralai/Mistral-Large-4-1T-A52B-NVFP4.

The six TEP4/TP4/DEP4 configurations at the 1M envelope, with DSpark ON/OFF, each passed full and long_full (12 workloads). Full-panel scores below are percentages; each panel evaluated GSM8K (1,319), MMMU (900), GPQA Diamond (198), and RULER (1,800), plus functional/cache/coverage checks.

Core configuration GSM8K MMMU GPQA Diamond
TEP4 ON 92.9871 81.3333 86.8687
TEP4 OFF 92.0394 81.2222 84.3434
TP4 ON 92.5322 82.2222 82.8283
TP4 OFF 92.0394 81.5556 83.3333
DEP4 ON 92.2669 79.8889 84.8485
DEP4 OFF 92.4185 81.7778 84.8485

All six long panels passed 183 RULER questions: 180 questions across 64K/128K and three fixed true-1M NIAH/VT witnesses. The longest completed prompt was 1,048,330 tokens. The 64K mean was 94.6296%; 128K means ranged from 93.1481% to 93.5185%; all three 1M witnesses were correct in each configuration. Long speculative execution, cache reuse, image-prefill, and required rank-coverage checks passed.

The other 18 configurations passed the complete 1,319-question GSM8K evaluation. All ON runs passed the acceptance-length gate. The six fresh OFF comparison arms within the ON core panels passed both the GSM8K threshold and the 1.5 percentage-point difference limit. Existing accuracy references and tolerances were unchanged.

Validation boundaries: the eight-GPU 1M configurations received GSM8K-only coverage; VR200 llguidance and disaggregated-serving recipes were not validated. The current expanded standalone GPU catalog/vision combinations were not all rerun: the FP8 catalog now defines 112 cells, while the 28 standalone cells listed above were executed. The separate end-to-end matrix covers all 24 requested configurations.

PR Checklist

  • Scope, rationale, relevant tests, and validation boundaries reviewed.
  • Coding/pre-commit checks and DCO sign-off passed.
  • Model deployment documentation updated.
  • No public LLM API/configuration schema changes or new dependencies.

Signed-off-by: yt0428 <51468697+yt0428@users.noreply.github.com>
@yt0428
yt0428 marked this pull request as ready for review November 4, 2026 06:13
@yt0428
yt0428 requested review from kaiyux and laikhtewari November 4, 2026 06:13
@yt0428

yt0428 commented Nov 4, 2026

Copy link
Copy Markdown
Collaborator Author

/bot skip

@github-actions

github-actions Bot commented Nov 4, 2026

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. Supports wildcard * for pattern matching (e.g., "*PerfSanity*" matches all stages containing PerfSanity). Examples: "A10-PyTorch-1, xxx", "PerfSanity". The patterns "*", "*Post-Merge*", and "*PerfSanity*", including equivalent escaped or repeated-star forms and their use in comma-separated lists, require the ci: post-merge approved PR label. 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. Requires the ci: full pre-merge approved label on the PR (ask a member of NVIDIA/trt-llm-ci-approvers). 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. Requires the ci: full pre-merge approved label on the PR (ask a member of NVIDIA/trt-llm-ci-approvers).

--post-merge (OPTIONAL) : Run the L0 post-merge pipeline instead of the ordinary L0 pre-merge pipeline. Requires the ci: post-merge approved PR label applied by an active member of NVIDIA/trt-llm-ci-approvers. The approval label remains in place when new commits are pushed.

--extra-stage "H100_PCIe-TensorRT-Post-Merge-1, xxx" (OPTIONAL) : Run the ordinary L0 pre-merge pipeline and specified test stages. Supports wildcard * for pattern matching. Examples: --extra-stage "H100_PCIe-TensorRT-Post-Merge-1, xxx", --extra-stage "Post-Merge". The patterns "*", "*Post-Merge*", and "*PerfSanity*", including equivalent escaped or repeated-star forms and their use in comma-separated lists, require the ci: post-merge approved PR label.

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

@yt0428

yt0428 commented Nov 4, 2026

Copy link
Copy Markdown
Collaborator Author

/bot skip --comment "Format check only"

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #82421 [ skip ] triggered by Bot. Commit: 6e071dd Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #82421 [ skip ] completed with state SUCCESS. Commit: 6e071dd
Skipping testing for commit 6e071dd

Link to invocation

@yizhang-nv
yizhang-nv merged commit 3030ff5 into NVIDIA:feat/mistral-large-4 Nov 6, 2026
11 checks passed
yizhang-nv added a commit to yizhang-nv/TensorRT-LLM that referenced this pull request Nov 9, 2026
…eat/mistral-large-4

Port of feat/mistral-large-4 3030ff5 (NVIDIA#21604) onto this branch.

- Three sm_107 targets, tep, dep and tp: each is this branch's sm_103
  target with NVIDIA#21604's changes. The FP8 block-scale linears run the Rubin
  MXFP8 GEMM (cute_dsl_fp8_block_scale_linear), their K128 weight scales
  converted once to the R128c4 K32 layout, and the indexer scores prefill
  tiles with a Triton FP8 MQA scorer (triton_fp8_mqa_logits).
- Both entries sit under models/mistral_large4/ops/ beside the family's
  other entries, with their tests; l0_gr100 runs them on sm_107.
- The Lamport process group's rendezvous address comes from get_local_ip.
- Routing returns the sm_107 targets on compute capability (10, 7) and
  names sm107 in its refusal.
- Accuracy: the gates share a layout base per target layout, and each
  architecture has its own gate class (Sm107Tep/Dep/Tp beside the sm_103
  ones). test_accuracy_without_dspark runs the full and long_full profiles
  without the draft; artifacts go under the GPU architecture and record
  per-phase timings. RULER pins its attention-DP warm pairs for every long
  profile.
- The vision, native DSpark and routing tests cover sm_107; the
  deployment guide lists VR200 and its validated scope.

Signed-off-by: Yi Zhang <187001205+yizhang-nv@users.noreply.github.com>
yizhang-nv added a commit to yizhang-nv/TensorRT-LLM that referenced this pull request Nov 12, 2026
…eat/mistral-large-4

Port of feat/mistral-large-4 3030ff5 (NVIDIA#21604) onto this branch.

- Three sm_107 targets, tep, dep and tp: each is this branch's sm_103
  target with NVIDIA#21604's changes. The FP8 block-scale linears run the Rubin
  MXFP8 GEMM (cute_dsl_fp8_block_scale_linear), their K128 weight scales
  converted once to the R128c4 K32 layout, and the indexer scores prefill
  tiles with a Triton FP8 MQA scorer (triton_fp8_mqa_logits).
- Both entries sit under models/mistral_large4/ops/ beside the family's
  other entries, with their tests; l0_gr100 runs them on sm_107.
- The Lamport process group's rendezvous address comes from get_local_ip.
- Routing returns the sm_107 targets on compute capability (10, 7) and
  names sm107 in its refusal.
- Accuracy: the gates share a layout base per target layout, and each
  architecture has its own gate class (Sm107Tep/Dep/Tp beside the sm_103
  ones). test_accuracy_without_dspark runs the full and long_full profiles
  without the draft; artifacts go under the GPU architecture and record
  per-phase timings. RULER pins its attention-DP warm pairs for every long
  profile.
- The vision, native DSpark and routing tests cover sm_107; the
  deployment guide lists VR200 and its validated scope.

Signed-off-by: Yi Zhang <187001205+yizhang-nv@users.noreply.github.com>
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