perf(recipes): use FlashInfer TRT-LLM MoE for BF16 - #3461
Open
seonjinn wants to merge 8 commits into
Open
Conversation
Signed-off-by: seonjinn <sna@nvidia.com>
seonjinn
marked this pull request as ready for review
August 5, 2026 20:37
…m-performance-recipes-20260802
Contributor
Author
|
/ok to test 999ea23 |
Co-authored-by: OpenAI Codex <codex@openai.com> Signed-off-by: seonjinn <sna@nvidia.com>
Contributor
Author
|
/ok to test c228a56 |
…60802 Signed-off-by: seonjinn <sna@nvidia.com>
Contributor
Author
|
/ok to test a5b8645 |
…0260802 Signed-off-by: seonjinn <sna@nvidia.com>
Contributor
Author
|
Contributor self-review refresh for The recipe-only backend/parallelism changes were rechecked against current schemas and their #3659/#3669 runtime dependency. Recipe minimization and Ruff/format/config checks pass locally, with no new source-level findings. |
…nc-20260817 Signed-off-by: seonjinn <sna@nvidia.com>
Contributor
Author
|
/ok to test 1670a5f |
Signed-off-by: seonjinn <sna@nvidia.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Use the FlashInfer TRT-LLM MoE backend in the Blackwell BF16 performance
recipes where it produced a measured end-to-end gain:
TRT-LLM BF16 expert-width requirement; PP2 preserves the rollout GPU count
while avoiding the host-memory pressure observed with TP4/PP1.
The asynchronous Qwen, DeepSeek-V3, and Nemotron recipes remain unchanged
because the tested configurations did not establish an end-to-end win.
Native BF16 TRT-LLM layerwise refit support is already available on
mainthrough #3545. The two-gather refit optimization in #3669 is a separate
follow-up and is not required by this recipe-only change.
Performance
The table reports FlashInfer TRT-LLM versus Triton over the common steady-state
window, Steps
3-9,11-19. Each row is a same-source, same-topology 20-stepbackend pair on OCI-HSG GB200; only the MoE backend changes.
182.124s -> 177.933s(-2.30%)69.173s -> 63.594s(-8.06%)+8.87%1.895s -> 4.182s273.495s -> 248.103s(-9.28%)192.641s -> 161.776s(-16.02%)+19.18%3.669s -> 8.395s210.739s -> 189.589s(-10.04%)161.290s -> 135.871s(-15.76%)+19.10%3.913s -> 8.688sFlashInfer's generation savings exceed its higher BF16 refit cost in these
three pairs. These are matched single-job pairs, not repeat-level variance
estimates.
W&B: Qwen3-30B FlashInfer,
Qwen3-30B Triton,
Qwen3-235B 64-GPU FlashInfer,
Qwen3-235B 64-GPU Triton,
Qwen3-235B 128-GPU FlashInfer,
Qwen3-235B 128-GPU Triton.
Why DeepSeek-V3 remains on Triton
The DeepSeek pair used 192 GB200 GPUs with the same TP16/PP1 non-colocated
topology and the same Steps
3-9,11-19window.21.529s16.876s-4.654s(-21.62%)7.365s7.265s-0.100s(-1.36%)4.416s4.384s-0.031s(-0.71%)5.760s11.394s+5.634s(+97.82%)40.281s41.112s+0.831s(+2.06%)prepare_for_generation/transfer_and_update_weightsis nested inside theprepare phase and increased from
6.136sto12.153son the 15 steps wherean update occurred. Profiling attributes the added refit cost to the native
TRT-LLM reload path: expert-layout conversion, cloning deferred tensors away
from reusable transport buffers, and backend-specific weight loading. The
+5.634sprepare regression exceeds the-4.654sgeneration saving, whilepolicy training and logprobs are effectively unchanged. Therefore raw E2E is
2.06%slower. FlashInfer generated2.45%more tokens, so pooled E2Ethroughput was at parity (
+0.05%), but that is not evidence for changing therecipe default.
W&B: DeepSeek FlashInfer,
DeepSeek Triton.