One GRPO step on one GB10
One DGX Spark GB10 package drawn in iso: a Grace CPU die with 20 Arm cores and a Blackwell GPU die, both joined to one 128 GB slab of unified LPDDR5X memory at the center. An NVLink-C2C link joins the two dies. On the Grace die run the Ray head, the TrainerController and RolloutExecutor Ray actors, and the math reward. On the Blackwell die the FSDP trainer is active and the SGLang engine waits. Inside the shared slab the trainer state is the active footprint and the engine state is parked. The trainer onloads its state from the slab in 0.87 s, and the weight update from the trainer to the parked engine state takes 0.64 s. Below, one median step of 152.6 s to scale: rollout 47.5 s, log probabilities 23.4 s, GRPO update 77.0 s, weight update 0.64 s, and 4.2 s that the phase medians do not cover. Medians of 48 steps of a run made before we added the heat guard.
ONE NVIDIA DGX SPARK · GB10 SUPERCHIP
Qwen3-0.6B
Ray head
TrainerController
RolloutExecutor
math reward
NVLink-C2C
FSDP trainer
FSDPTrainRayActor, active
Blackwell GPU
one die, shares the pool
SGLang engine
waits for new weights
Grace CPU
20 Arm cores
trainer state
active footprint
engine state
parked in the pool
LPDDR5X · 128 GB unified, one pool for both dies
onload 0.87 s
weight update 0.64 s
ONE STEP TO SCALE · 152.6 S, MEDIAN OF 48
1
47.5 s
2
23.4 s
3
77.0 s
4
0.64 s
1
rollout, SGLang engine
2
log probabilities, trainer
3
GRPO update, Adam
4
weight update to the engine
dashed end: median step minus the phase medians, 4.2 s. Trainer offload 0.76 s.
Medians from the run made before the heat guard.