Skip to content

[None][test] Update Nemotron-3-Super-120B-A12B-NVFP4 MTP perf case with the real dataset on DGX-Spark#12982

Merged
JennyLiu-nv merged 5 commits into
NVIDIA:mainfrom
JennyLiu-nv:spark-nemotron-super-perf
Apr 21, 2026
Merged

[None][test] Update Nemotron-3-Super-120B-A12B-NVFP4 MTP perf case with the real dataset on DGX-Spark#12982
JennyLiu-nv merged 5 commits into
NVIDIA:mainfrom
JennyLiu-nv:spark-nemotron-super-perf

Conversation

@JennyLiu-nv

@JennyLiu-nv JennyLiu-nv commented Apr 13, 2026

Copy link
Copy Markdown
Collaborator
  • Changes
    • Added MTP and non-MTP cases for comparison.
    • Dataset is using real dataset instead of random.
      • Using random dataset the MTP will only get the output throught ~8 tokens/s with the same config with real dataset
    • Added input_output_len: 8192,512 with maxnt: 4096 for MTP to verify the chunked_prefill + MTP feature support since version 1.3.0rc9.
  • Test dry run on DGX-Spark (built image in current branch)
  OUTPUT   THROUGHPUT (Tokens/s)  
nemotron_3_super_120b_nvfp4_mtp-serve-pytorch-streaming-float4-maxbs:8-maxnt:4096-input_output_len:2048,256-kv_cache_dtype:fp8-reqs:1-con:1 26.74 🔗 View Log
nemotron_3_super_120b_nvfp4-serve-pytorch-streaming-float4-maxbs:8-maxnt:4096-input_output_len:2048,256-kv_cache_dtype:fp8-reqs:1-con:1 13.95 🔗 View Log
nemotron_3_super_120b_nvfp4_mtp-serve-pytorch-streaming-float4-maxbs:8-maxnt:4096-input_output_len:8192,512-kv_cache_dtype:fp8-reqs:1-con:1 13.30 🔗 View Log
nemotron_3_super_120b_nvfp4-serve-pytorch-streaming-float4-maxbs:8-maxnt:4096-input_output_len:8192,512-kv_cache_dtype:fp8-reqs:1-con:1 9.15 🔗 View Log

Summary by CodeRabbit

  • Tests
    • Expanded performance testing configurations for Nemotron-3 models.
    • Separated test variants to cover both speculative decoding and standard modes independently.
    • Enhanced test dataset generation logic and updated test matrix parameters for improved benchmark accuracy.

Description

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.

@coderabbitai

coderabbitai Bot commented Apr 13, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

The PR splits the Nemotron-3-Super-120B-NVFP4 model configuration into two separate variants: one without speculative decoding and another with MTP-based speculative decoding. Both variants now include extended KV cache and SSM cache configuration settings. Test infrastructure is updated to support custom dataset generation for performance benchmarking, and test matrix entries are adjusted to reflect the new model variants.

Changes

Cohort / File(s) Summary
Model Configuration
tests/integration/defs/perf/pytorch_model_config.py
Split Nemotron-3-Super-120B-NVFP4 config into two patterns: one without speculative decoding and a new nemotron_3_super_120b_nvfp4_mtp variant with MTP speculative decoding. Added max_seq_len = 1048576 and extended KV cache configuration with Mamba SSM cache settings (mamba_ssm_cache_dtype, mamba_ssm_stochastic_rounding, mamba_ssm_philox_rounds).
Test Infrastructure
tests/integration/defs/perf/test_perf.py
Added model entry for nemotron_3_super_120b_nvfp4_mtp; replaced LONG_MAX_SEQ_LEN_MODELS with SPEC_DEC_REAL_DATASET_MODELS; introduced generate_trtllm_custom_dataset() function to stream and tokenize datasets for benchmarking; updated server command generation to unconditionally add reasoning and tool parsers for NeMOTRON super models; modified client command to support real dataset paths with --tokenize-on-client flag; refactored get_commands() to conditionally generate custom datasets for spec-dec models.
Test Matrix
tests/integration/test_lists/qa/llm_spark_perf.yml
Removed two test entries with input_output_len:2048,512 and 16384,512; added four replacement entries with input_output_len:2048,256 and 16384,256 for both nemotron_3_super_120b_nvfp4 (no speculative decoding) and nemotron_3_super_120b_nvfp4_mtp (with MTP speculative decoding) variants.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~22 minutes

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 20.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Description check ⚠️ Warning PR description is incomplete and lacks required sections from the template, particularly missing detailed explanation of 'Description' and 'Test Coverage' sections. Complete the PR description by filling in the Description section explaining what changes were made and why, and the Test Coverage section listing relevant tests that safeguard the changes.
✅ Passed checks (1 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: updating Nemotron-3-Super-120B-A12B-NVFP4 MTP performance test cases with real dataset on DGX-Spark. It is concise, specific, and directly relates to the primary objective of the PR.

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

Actionable comments posted: 2

Caution

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

⚠️ Outside diff range comments (1)
tests/integration/defs/perf/test_perf.py (1)

1-1: ⚠️ Potential issue | 🟡 Minor

Update the copyright year.

This file is modified in this 2026 PR, but the header still ends at 2025.

As per coding guidelines, **/*.{cpp,cc,cxx,h,hpp,py} files should "update year on modified files".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tests/integration/defs/perf/test_perf.py` at line 1, Update the SPDX
copyright header in the file by extending the year range to include 2026:
replace the current SPDX-FileCopyrightText line that ends with "2025" so it
reads through "2026" (i.e., change the year range on the top-line SPDX header).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@tests/integration/defs/perf/test_perf.py`:
- Around line 1488-1518: The current sampling only truncates prompt_ids but
still emits shorter contexts; update the loop around tokenizer.encode/decode so
that after computing prompt_ids you enforce input_len by skipping any sample
with len(prompt_ids) < input_len (or otherwise pad to input_len if you prefer),
e.g., check len(prompt_ids) and continue the sampling loop when it's shorter,
keeping the existing truncation branch intact; apply this change around the
prompt/prompt_ids/prompt_text creation and before writing the sample so
req_count only increments for samples meeting input_len.
- Around line 1590-1603: get_commands() currently calls
generate_trtllm_custom_dataset() directly (using SPEC_DEC_REAL_DATASET_MODELS)
which performs imports and I/O outside the managed llm_venv; change it so
get_commands() does NOT call generate_trtllm_custom_dataset() inline but instead
constructs the dataset file path (real_dataset_path) and appends a dataset-prep
command string to data_cmds that, when executed by
PerfServeScriptTestCmds.run_cmd(), will invoke the same generation logic inside
the managed environment; remove the immediate call to
generate_trtllm_custom_dataset() in get_commands(), ensure the command
references the same input_len/output_len and dataset_source variables, and let
run_ex()/PerfServeScriptTestCmds.run_cmd() run that command so dataset imports
and I/O occur under llm_venv just like the bench path.

---

Outside diff comments:
In `@tests/integration/defs/perf/test_perf.py`:
- Line 1: Update the SPDX copyright header in the file by extending the year
range to include 2026: replace the current SPDX-FileCopyrightText line that ends
with "2025" so it reads through "2026" (i.e., change the year range on the
top-line SPDX header).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 77591721-2b25-4a52-9211-ce51293b24e8

📥 Commits

Reviewing files that changed from the base of the PR and between 9a3dc61 and faea235.

📒 Files selected for processing (3)
  • tests/integration/defs/perf/pytorch_model_config.py
  • tests/integration/defs/perf/test_perf.py
  • tests/integration/test_lists/qa/llm_spark_perf.yml

Comment thread tests/integration/defs/perf/test_perf.py
Comment thread tests/integration/defs/perf/test_perf.py
@JennyLiu-nv

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43023 [ run ] triggered by Bot. Commit: 69860f8 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43023 [ run ] completed with state SUCCESS. Commit: 69860f8
/LLM/main/L0_MergeRequest_PR pipeline #33671 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

@JennyLiu-nv

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43143 [ run ] triggered by Bot. Commit: 69860f8 Link to invocation

@JennyLiu-nv JennyLiu-nv enabled auto-merge (squash) April 14, 2026 02:45
@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43143 [ run ] completed with state SUCCESS. Commit: 69860f8
/LLM/main/L0_MergeRequest_PR pipeline #33774 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

@JennyLiu-nv

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43187 [ run ] triggered by Bot. Commit: 69860f8 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43187 [ run ] completed with state DISABLED
Freeze main and open the PR merge only after CI is back to healthy https://nvidia.slack.com/archives/C059LSY62BT/p1776141760843319?thread_ts=1775985925.442509&cid=C059LSY62BT

Link to invocation

@JennyLiu-nv

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43332 [ run ] triggered by Bot. Commit: d453bf1 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43332 [ run ] completed with state FAILURE. Commit: d453bf1
/LLM/main/L0_MergeRequest_PR pipeline #33876 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

@JennyLiu-nv

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43363 [ run ] triggered by Bot. Commit: d37c8ac Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43363 [ run ] completed with state SUCCESS. Commit: d37c8ac
/LLM/main/L0_MergeRequest_PR pipeline #33899 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

@JennyLiu-nv

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43436 [ run ] triggered by Bot. Commit: d37c8ac Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43436 [ run ] completed with state SUCCESS. Commit: d37c8ac
/LLM/main/L0_MergeRequest_PR pipeline #33966 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

Jenny Liu added 2 commits April 16, 2026 02:13
Signed-off-by: Jenny Liu <JennyLiu-nv+JennyLiu@users.noreply.github.com>
Signed-off-by: Jenny Liu <JennyLiu-nv+JennyLiu@users.noreply.github.com>
…l test

Signed-off-by: Jenny Liu <JennyLiu-nv+JennyLiu@users.noreply.github.com>
@JennyLiu-nv JennyLiu-nv force-pushed the spark-nemotron-super-perf branch from d37c8ac to 2997d5f Compare April 16, 2026 02:14
@NVIDIA NVIDIA deleted a comment from Jennifer-labs Apr 16, 2026
@JennyLiu-nv

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43615 [ run ] triggered by Bot. Commit: 2997d5f Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43615 [ run ] completed with state SUCCESS. Commit: 2997d5f
/LLM/main/L0_MergeRequest_PR pipeline #34107 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

@JennyLiu-nv

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43660 [ run ] triggered by Bot. Commit: 2997d5f Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43660 [ run ] completed with state FAILURE. Commit: 2997d5f
/LLM/main/L0_MergeRequest_PR pipeline #34147 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

@JennyLiu-nv

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43749 [ run ] triggered by Bot. Commit: 50ea17e Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #43749 [ run ] completed with state SUCCESS. Commit: 50ea17e
/LLM/main/L0_MergeRequest_PR pipeline #34233 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

@JennyLiu-nv

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #44274 [ run ] triggered by Bot. Commit: c7f4d98 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #44274 [ run ] completed with state FAILURE. Commit: c7f4d98
/LLM/main/L0_MergeRequest_PR pipeline #34695 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

@JennyLiu-nv

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #44301 [ run ] triggered by Bot. Commit: c7f4d98 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #44301 [ run ] completed with state FAILURE. Commit: c7f4d98
/LLM/main/L0_MergeRequest_PR pipeline #34722 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

@JennyLiu-nv

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #44418 [ run ] triggered by Bot. Commit: c7f4d98 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #44418 [ run ] completed with state SUCCESS. Commit: c7f4d98
/LLM/main/L0_MergeRequest_PR pipeline #34833 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

@JennyLiu-nv

Copy link
Copy Markdown
Collaborator Author

/bot run

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #44631 [ run ] triggered by Bot. Commit: c7f4d98 Link to invocation

@tensorrt-cicd

Copy link
Copy Markdown
Collaborator

PR_Github #44631 [ run ] completed with state SUCCESS. Commit: c7f4d98
/LLM/main/L0_MergeRequest_PR pipeline #35011 completed with status: 'SUCCESS'

CI Report

Link to invocation

@JennyLiu-nv JennyLiu-nv merged commit ab315dd into NVIDIA:main Apr 21, 2026
5 checks passed
@JennyLiu-nv JennyLiu-nv deleted the spark-nemotron-super-perf branch May 7, 2026 06:10
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.

4 participants