Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
77634e6
[None][refactor] Update model path definitions in test_perf.py and cl…
yufeiwu-nv May 19, 2026
fea317c
Refactor model_path to ensure QA and CI have the same testing models
yufeiwu-nv May 25, 2026
204b9cd
test: remove dead bert_attention_plugin SM>=100 waivers
yufeiwu-nv May 25, 2026
2109fc8
test: remove 4 perf waivers per author confirmation
yufeiwu-nv May 25, 2026
7436798
test: add new models to TRUST_REMOTE_CODE_MODELS in test_perf.py
yufeiwu-nv May 26, 2026
f3e7287
Merge branch 'main' into model_dict
yufeiwu-nv May 26, 2026
8fe688b
Merge branch 'main' into model_dict
yufeiwu-nv May 26, 2026
1b7b574
Merge branch 'main' into model_dict
yufeiwu-nv May 27, 2026
e944483
Enhance performance configurations for Nemotron-3-Super-120B-NVFP4 mo…
yufeiwu-nv May 29, 2026
f3cca5e
Merge branch 'main' into model_dict
yufeiwu-nv May 29, 2026
e74dc6b
Merge branch 'main' into model_dict
yufeiwu-nv Jun 2, 2026
d32b70d
Merge branch 'main' into model_dict
yufeiwu-nv Jun 2, 2026
af4dd69
test: fix nemotron_3_super_120b_nvfp4 pattern overlap and yaml comment
yufeiwu-nv Jun 2, 2026
71f9ebe
test: drop unused -bench-pytorch- patterns for nemotron_3_super_120b_…
yufeiwu-nv Jun 2, 2026
3be5642
chore(coderabbit): clarify qa/ vs test-db/ scope to avoid cross-sync …
yufeiwu-nv Jun 2, 2026
1495761
Merge branch 'main' into model_dict
yufeiwu-nv Jun 2, 2026
97de773
Merge branch 'main' into model_dict
yufeiwu-nv Jun 2, 2026
4719d67
Merge branch 'main' into model_dict
yufeiwu-nv Jun 2, 2026
959ce50
Merge branch 'main' into model_dict
yufeiwu-nv Jun 3, 2026
dc708b7
Update .coderabbit.yaml
yufeiwu-nv Jun 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 61 additions & 4 deletions tests/integration/defs/perf/pytorch_model_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -458,9 +458,12 @@ def get_model_yaml_config(model_label: str,
},
}
},
# Nemotron-3-Super-120B-NVFP4: (no MTP)
# Nemotron-3-Super-120B-NVFP4 (streaming/low-latency variant for spark perf)
# Streaming serve cases use small cuda_graph batch and no attention DP for latency.
{
'patterns': ['nemotron_3_super_120b_nvfp4-'],
'patterns': [
'nemotron_3_super_120b_nvfp4-serve-pytorch-streaming-',
],
'config': {
'max_seq_len': 1048576,
'enable_chunked_prefill': True,
Expand All @@ -481,9 +484,11 @@ def get_model_yaml_config(model_label: str,
},
}
},
# Nemotron-3-Super-120B-NVFP4: MTP speculative decoding
# Nemotron-3-Super-120B-NVFP4_MTP (streaming/low-latency variant for spark perf)
{
'patterns': ['nemotron_3_super_120b_nvfp4_mtp'],
'patterns': [
'nemotron_3_super_120b_nvfp4_mtp-serve-pytorch-streaming-',
],
'config': {
'max_seq_len': 1048576,
'enable_chunked_prefill': True,
Expand All @@ -509,6 +514,58 @@ def get_model_yaml_config(model_label: str,
},
}
},
# Nemotron-3-Super-120B-NVFP4 (throughput variant, aligned with curated yaml)
# Non-streaming cases use attention DP and larger cuda_graph batch for throughput.
{
'patterns': ['nemotron_3_super_120b_nvfp4-'],
'config': {
'max_seq_len': 1048576,
'enable_chunked_prefill': True,
'enable_attention_dp': True,
'stream_interval': 1,
'moe_config': {
'backend': 'CUTLASS',
},
'cuda_graph_config': {
'enable_padding': True,
'max_batch_size': 256,
},
'kv_cache_config': {
'enable_block_reuse': False,
'mamba_ssm_cache_dtype': 'float16',
'mamba_ssm_stochastic_rounding': True,
'mamba_ssm_philox_rounds': 5,
},
}
},
# Nemotron-3-Super-120B-NVFP4_MTP (throughput variant with MTP spec decoding)
{
'patterns': ['nemotron_3_super_120b_nvfp4_mtp'],
'config': {
'max_seq_len': 1048576,
'enable_chunked_prefill': True,
'enable_attention_dp': True,
'stream_interval': 1,
'moe_config': {
'backend': 'CUTLASS',
},
'cuda_graph_config': {
'enable_padding': True,
'max_batch_size': 256,
},
'kv_cache_config': {
'enable_block_reuse': False,
'mamba_ssm_cache_dtype': 'float16',
'mamba_ssm_stochastic_rounding': True,
'mamba_ssm_philox_rounds': 5,
},
'speculative_config': {
'decoding_type': 'MTP',
'num_nextn_predict_layers': 3,
'allow_advanced_sampling': True,
},
}
},
Comment thread
coderabbitai[bot] marked this conversation as resolved.
]

# Apply pattern-based configurations on top of base config
Expand Down
20 changes: 19 additions & 1 deletion tests/integration/defs/perf/test_perf.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@
"glm_5_fp8",
"nemotron_3_nano_omni_nvfp4",
"nemotron_3_nano_omni_nvfp4_image",
"nemotron_nano_12b_v2",
"phi_4_multimodal_instruct",
"phi_4_multimodal_instruct_fp4",
"phi_4_multimodal_instruct_fp8",
}

# Models that use random_image dataset in serve mode benchmarks.
Expand All @@ -84,6 +88,17 @@
"nemotron_3_super_120b_nvfp4_mtp": "cnn_dailymail",
}

# All spec-decoding models (MTP, Eagle3, etc.). Used to skip --ignore-eos in
# benchmark client commands: forcing generation past EOS produces unstable
# acceptance rates for spec-dec.
SPEC_DEC_MODELS = {
"qwen3_4b_eagle3",
"qwen3_235b_a22b_fp4_eagle3",
"gpt_oss_120b_eagle3",
"gpt_oss_120b_eagle3_throughput",
*SPEC_DEC_REAL_DATASET_MODELS,
}

# Autodeploy model configs - maps model name to config file path (relative to TRT-LLM root)
AUTODEPLOY_MODEL_CONFIGS = {
"nemotron_nano_3_30b_fp8": "examples/auto_deploy/nano_v3.yaml",
Expand Down Expand Up @@ -1389,12 +1404,15 @@ def get_trtllm_serve_client_command(self,
model_dir,
"--num-prompts",
str(self._config.num_reqs),
"--ignore-eos",
"--tokenize-on-client",
"--no-test-input",
"--percentile-metrics",
"ttft,tpot,itl,e2el",
]
# --ignore-eos must be off for spec-decoding models: forcing generation
# past EOS produces unstable acceptance rates.
if self._config.model_name not in SPEC_DEC_MODELS:
client_cmd.append("--ignore-eos")
if self._config.model_name in OPENAI_CHAT_BACKEND_MODELS:
client_cmd += ["--backend", "openai-chat"]
if real_dataset_path:
Expand Down
Loading
Loading