Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
13 changes: 13 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,19 @@ reviews:
Act as a QA engineer reviewing test changes and coverage for TensorRT-LLM.
Keep feedback actionable: suggest concrete list file names and whether
coverage is sufficient, insufficient, or needs follow-up outside the PR.
- path: "tests/integration/test_lists/qa/**"
instructions: |
Files here are manually-triggered QA perf/regression lists, maintained
by the QA team. They are NOT derived from, and do NOT need to mirror,
the auto-run CI test-db under tests/integration/test_lists/test-db/.
Do NOT suggest cross-syncing entries between qa/ and test-db/; coverage
Comment thread
yufeiwu-nv marked this conversation as resolved.
in one does not imply coverage in the other and is decided independently.
- path: "tests/integration/test_lists/test-db/**"
instructions: |
Files here drive the auto-run CI test-db (per-GPU l0_*.yml tiers).
Adding or removing entries here changes what CI runs either in every PR (pre-merge) or three times a day (post-merge).
Do NOT suggest cross-syncing with the QA lists under
tests/integration/test_lists/qa/.
knowledge_base:
code_guidelines:
enabled: true
Expand Down
69 changes: 65 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,62 @@ 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.
# Pattern is intentionally narrowed so it does NOT match the
# 'serve-pytorch-streaming-' streaming variant above.
{
'patterns': ['nemotron_3_super_120b_nvfp4-serve-pytorch-float'],
'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)
# Pattern is intentionally narrowed so it does NOT match the
# '_mtp-serve-pytorch-streaming-' streaming variant above.
{
'patterns': ['nemotron_3_super_120b_nvfp4_mtp-serve-pytorch-float'],
'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
16 changes: 15 additions & 1 deletion tests/integration/defs/perf/test_perf.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,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 @@ -1394,12 +1405,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