test: add inference performance test harness for GPT 583M, hybrid 2B,…#4806
Conversation
… GPT 16B
Adds tests/performance_tests/, a server+client benchmark harness that spins
up `tools.run_dynamic_text_generation_server`, sweeps batch sizes against the
OpenAI-compatible `/v1/completions` endpoint, and compares throughput / avg-
p50-p99 latency / TPOT against checked-in baseline_values.json with a 10%
tolerance. Vendored from /Users/shanmugamr/inference-bench and adapted to
work inside the existing cog + nemo-run CI flow.
Three test cases shipped with baselines captured on cw-dfw H100:
- gpt/gpt_583m_perf: 4 batches (1, 8, 32, 128), ~5 min
- hybrid/hybrid_2b_perf: 4 batches (1, 8, 32, 128), ~8 min
- gpt/gpt_16b_perf: 3 batches (1, 8, 32), ~13 min
CI recipes in tests/test_utils/recipes/h100/{gpt,hybrid}-perf.yaml trigger on
every MR via the existing mr-github scope (alongside functional tests).
Skill + slash command for human-driven runs live under
skills/run-performance-tests/ and .claude/commands/.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
This PR has been automatically converted to draft because all PRs must start as drafts. When you are ready for review, click Ready for Review to begin the review process. This will:
See the contribution guide for more details. |
|
/ok to test b90fdcd |
|
/ok to test 08e3c68 |
|
/ok to test 08e3c68 |
|
/ok to test 1e73e1e |
|
/ok to test ce2c8c9 |
| @@ -0,0 +1,167 @@ | |||
| --- | |||
| name: run-performance-tests | |||
There was a problem hiding this comment.
Is it possible to make this skill more generic rather than specific to your user and the cluster? I would recommend removing your username, cluster name, and cluster host.
There was a problem hiding this comment.
Ahh sorry this was not even supposed to be inside. Will remove it
These were committed by mistake in 1404dbe; they're local-only Claude Code workflow files and should not live in the repo. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
/ok to test b571da0 |
|
🔄 Merge queue validation started! You can track the progress here: https://github.com/NVIDIA/Megatron-LM/actions/runs/26169622887 |
… GPT 16B
Adds tests/performance_tests/, a server+client benchmark harness that spins up
tools.run_dynamic_text_generation_server, sweeps batch sizes against the OpenAI-compatible/v1/completionsendpoint, and compares throughput / avg- p50-p99 latency / TPOT against checked-in baseline_values.json with a 10% tolerance. Vendored from /Users/shanmugamr/inference-bench and adapted to work inside the existing cog + nemo-run CI flow.Three test cases shipped with baselines captured on cw-dfw H100:
CI recipes in tests/test_utils/recipes/h100/{gpt,hybrid}-perf.yaml trigger on every MR via the existing mr-github scope (alongside functional tests).
Skill + slash command for human-driven runs live under skills/run-performance-tests/ and .claude/commands/.
What does this PR do ?
Issue tracking
For PRs from open-source community contributors:
Linked issue:
Contribution process
Pre-checks
Code review
Feel free to message or comment the @mcore-oncall to help accelerate your merge into main. The less complex your PR is, the faster it will be approved and merged!
All PRs start as draft. If you open a non-draft PR, it will be automatically converted to draft.
Step 1: Mark PR as "Ready for Review"
.github/CODEOWNERS.Final Review might get declined if these requirements are not fulfilled.
Step 2: Final Review
For PRs that change
megatron/core, once all expert reviewers have approved, theFinal Reviewlabel is applied automatically and final reviewers are assigned.For PRs outside
megatron/core, this step is skipped.Step 3: Approved
Once all required reviewers have approved, the
Approvedlabel is applied automatically.Merge
Any member of mcore-engineers will be able to merge your PR.
For MRs into `dev` branch
The proposed review process for `dev` branch is under active discussion.MRs are mergable after one approval by either
eharper@nvidia.comorzijiey@nvidia.com.