feat(recipes): add Nemotron 3.5 Lightning RTX PRO 6000 aggregate DSpark recipe - #14138
Open
scheckerNV wants to merge 1 commit into
Open
scheckerNV wants to merge 1 commit into
scheckerNV wants to merge 1 commit into
Conversation
…rk recipe Adds agg-rtxpro6000-dspark, the first RTX PRO 6000 (sm_120) variant in this family. Derived from agg-h100-dspark with node selector, resource names, and header comment changed; no engine flags touched. NVFP4 rather than the BF16 used on B200/GB200: on sm_120 BF16 measured 3.3x lower throughput on identical hardware and trace, because decode is memory-bandwidth-bound and RTX PRO 6000 uses GDDR7 rather than HBM. Benchmarked on the family's shared 64k/400/90kv trace at concurrency 20 with 3541 requests, matching the published H100 DSpark row: 776.03 output tok/s/GPU, 53.42 user tok/s p50, 542.50 ms TTFT p50, 3526 valid / 15 errors. Signed-off-by: Sanjana Checker <schecker@nvidia.com>
scheckerNV
temporarily deployed
to
external_collaborator
September 1, 2026 21:33 — with
GitHub Actions
Inactive
scheckerNV
temporarily deployed
to
external_collaborator
September 1, 2026 21:33 — with
GitHub Actions
Inactive
Contributor
|
👋 Hi scheckerNV! Thank you for contributing to ai-dynamo/dynamo. Just a reminder: The 🚀 |
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.
Overview
Adds
agg-rtxpro6000-dspark— the first RTX PRO 6000 Blackwell (sm_120) variant in theNemotron 3.5 Lightning family. Existing variants cover H100, H200, B200, and GB200 only.
Derived from
agg-h100-dspark. Six lines changed: node selector, DGD name, label, ConfigMapname and reference, header comment. No engine flags touched.
Results
Benchmarked on the family's shared trace
(
64k_400_90kv_agent_new_noschedule_short_15perc.jsonl) at concurrency 20 with 3,541requests — the same shape as the published H100 DSpark row.
agg-h100-dsparkagg-b200-dspark-bf16agg-rtxpro6000-dspark~41% of H100 throughput, consistent with the GDDR7-vs-HBM3 bandwidth ratio for a
decode-bound workload.
Two notes on comparability, both also in
perf/README.md:max_seq_lento 1048576, so thelong trace requests that exceed a 262144-token context on the other SKUs completed here.
Synthetic ALisn/m. The manifest inherits 3.69 from the H100 recipe; I did notre-derive it on sm_120. Affects synthetic benchmarking runs only, not serving.
Why NVFP4 rather than BF16
B200 and GB200 moved to BF16 in #13370. That result does not transfer to sm_120. Measured on
identical hardware, same trace, cold cache, only the checkpoint differing:
TTFT is unchanged — prefill is compute-bound and precision-insensitive. Inter-token latency
is 3.5× worse under BF16 because decode is memory-bandwidth-bound and BF16 weights are 4×
larger. RTX PRO 6000 uses GDDR7 rather than HBM, so weight size dominates decode in a way it
does not on B200.
DSpark was also measured against DFlash on the same hardware: 1.86× throughput, better on
every metric.
Best-practices compliance
Checked against
nim-turbo-recipe-best-practices(MR !7).Passes: v1beta1, no internal cluster references, no taints/tolerations, no hardcoded
namespace, 2-space indentation, user/group 0,
IPC_LOCKcapabilities, frontend 1 replica,imagePullPolicy: IfNotPresent, same image across frontend and workers, commentedsynthetic-AL block present.
Deviations, all inherited from
agg-h100-dsparkand identical across the family: nodeaffinity for GPU type, explicit probes,
imagePullSecrets, unpinned image digest, frontendmounting
model-cache, noDYN_ROUTER_MODE,sharedMemorySize: 40Givs 64Gi, noephemeral-disk or CPU requests, and the family's
vllm-agg-<sku>-<specdec>naming.I matched the siblings rather than diverge from them; happy to conform whenever the family
does.
One note for whoever owns the standard, not a blocker here: rule 4 (no GPU-type node affinity
in the base recipe) is currently the only thing distinguishing SKU variants in this family —
agg-h100-dsparkandagg-h200-dsparkdiffer by six lines, of which one is the node label.Worth a decision at some point for SKU-differentiated families.
Not included:
perf/perf.yaml(no sibling in this family ships one) and Fern docs (happyto write one, would need the pattern).
Testing
Deployed and benchmarked on AWS
g7e.8xlarge(1× RTX PRO 6000 Blackwell, 96 GB, 32 vCPU,256 GiB), single-node Kubernetes, Dynamo Platform 1.3.0. Smoke-tested via
/v1/chat/completions, then the full shared-trace run above. Raw aiperf exports available.