Skip to content

test: add async scheduling inference coverage - #6104

Merged
lmcafee-nvidia merged 5 commits into
NVIDIA:mainfrom
lmcafee-nvidia:async-sched-prefill-tests
Jul 30, 2026
Merged

test: add async scheduling inference coverage#6104
lmcafee-nvidia merged 5 commits into
NVIDIA:mainfrom
lmcafee-nvidia:async-sched-prefill-tests

Conversation

@lmcafee-nvidia

Copy link
Copy Markdown
Contributor

Summary

Adds H100 and GB200 functional and performance coverage for the async dynamic-inference scheduling path introduced in #5939.

  • Adds gpt_dynamic_inference_tp1_pp1_583m_async_sched, a deterministic 583M GPT functional test using --inference-dynamic-batching-async-sched-mode async, with platform-specific H100 and GB200 golden values.
  • Adds gpt_583m_perf_async_sched (H100, DP=8) and gpt_583m_perf_async_sched_gb200_4gpu (GB200, DP=4), with checked-in baselines across multiple batch sizes.
  • Registers the new functional and performance cases in the H100 and GB200 recipes.
  • Adds an ASYNC_SCHED performance-test setting that launches the server in async mode and skips prompt log probabilities, which the benchmark does not request.

This clean branch preserves the test artifacts authored by @shanmugamr1992 while rebasing the work directly onto current main after #5939 merged.

Performance

Same 583M checkpoint, parallelism, and synthetic dataset (ISL=512, OSL=128) per platform; only the dynamic-batching scheduling mode differs.

Throughput (tokens/sec)

Platform Parallelism Batch Legacy Async Change
H100 DP=8 1 44.4 42.8 -3.6%
H100 DP=8 8 344.0 344.0 0.0%
H100 DP=8 32 1379.0 1372.0 -0.5%
H100 DP=8 128 5414.3 5395.8 -0.3%
GB200 DP=4 8 298.9 306.8 +2.6%
GB200 DP=4 32 1188.8 1217.1 +2.4%
GB200 DP=4 128 4663.4 4573.4 -1.9%

Time per output token (ms/token)

Platform Batch Legacy Async
H100 1 22.52 23.39
H100 8 23.26 23.25
H100 32 23.21 23.32
H100 128 23.64 23.72
GB200 8 26.77 26.08
GB200 32 26.92 26.29
GB200 128 27.45 27.99

The observed differences are within run-to-run noise for this small dense model and provide regression baselines rather than a speedup claim.

Test plan

  • H100 functional golden captured and full comparison passed.
  • GB200 functional golden captured and full comparison passed.
  • H100 DP=8 performance baseline recorded and comparison passed at all configured batch sizes.
  • GB200 DP=4 performance baseline recorded and comparison passed at all configured batch sizes.

shanmugamr1992 and others added 4 commits July 28, 2026 17:33
Add gpt_dynamic_inference_tp1_pp1_583m_async_sched, exercising the new
--inference-dynamic-batching-async-sched-mode async path end-to-end with
greedy sampling and comparing generated tokens against golden values.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: shanmugamr1992 <shanmugamr1992@gmail.com>
Signed-off-by: Lawrence McAfee <lmcafee@nvidia.com>
Register the gpt_dynamic_inference_tp1_pp1_583m_async_sched test case on
dgx_gb200 via a new gb200/gpt-dynamic-inference.yaml recipe (nodes: 1,
gpus: 4) and capture platform-specific golden values. Generated tokens
match the H100 golden (deterministic greedy sampling); throughput is
GB200-specific.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: shanmugamr1992 <shanmugamr1992@gmail.com>
Signed-off-by: Lawrence McAfee <lmcafee@nvidia.com>
Adds inference performance tests exercising dynamic-batching async prefill
scheduling on both H100 (DP=8) and GB200 (DP=4) for the 583M checkpoint.

- run_perf_test.sh: read ASYNC_SCHED config key; when true, launch the server
  with --inference-dynamic-batching-async-sched-mode async. Also pass
  --skip-prompt-log-probs because the server tool force-sets return_log_probs=True
  (echo/loglikelihood support), which would set materialize_only_last_token_logits
  to False and violate the async-scheduling requirement.
- gpt_583m_perf_async_sched (H100) and gpt_583m_perf_async_sched_gb200_4gpu
  (GB200) test cases with platform-keyed baselines captured on cw-dfw / oci-hsg.
- Register both in the existing h100/gpt-perf-dp8 and gb200/gpt-perf-dp4 recipes.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: shanmugamr1992 <shanmugamr1992@gmail.com>
Signed-off-by: Lawrence McAfee <lmcafee@nvidia.com>
The initial GB200 batch-32 capture (1002 tok/s, TPOT 31.9) was a noisy
cold outlier; a fresh capture puts it at ~1217 tok/s (TPOT 26.3), in line
with the non-async DP=4 baseline. Re-recording avoids a too-low floor that
would push normal runs near the +20% improvement ceiling.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: shanmugamr1992 <shanmugamr1992@gmail.com>
Signed-off-by: Lawrence McAfee <lmcafee@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Jul 28, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@shanmugamr1992
shanmugamr1992 marked this pull request as ready for review July 28, 2026 21:36
@shanmugamr1992
shanmugamr1992 requested a review from a team as a code owner July 28, 2026 21:36
@lmcafee-nvidia

Copy link
Copy Markdown
Contributor Author

/ok to test b15d040

@svcnvidia-nemo-ci svcnvidia-nemo-ci added the Approved All necessary approvals have been made label Jul 29, 2026
Signed-off-by: Lawrence McAfee <lmcafee@nvidia.com>
@lmcafee-nvidia

Copy link
Copy Markdown
Contributor Author

/ok to test d9e177d

@svcnvidia-nemo-ci

Copy link
Copy Markdown
Contributor

🔄 Merge queue validation started!

You can track the progress here: https://github.com/NVIDIA/Megatron-LM/actions/runs/30514662280

Merged via the queue into NVIDIA:main with commit 354b5d2 Jul 30, 2026
88 checks passed
@lmcafee-nvidia
lmcafee-nvidia deleted the async-sched-prefill-tests branch July 30, 2026 06:58
svcnvidia-nemo-ci pushed a commit to dimapihtar/Megatron-LM that referenced this pull request Aug 4, 2026
Signed-off-by: shanmugamr1992 <shanmugamr1992@gmail.com>
Signed-off-by: Lawrence McAfee <lmcafee@nvidia.com>
Co-authored-by: shanmugamr1992 <shanmugamr1992@gmail.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: Dmytro Pykhtar <dpykhtar@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Approved All necessary approvals have been made complexity: medium

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants