Recommended setup
Per-GPU notes
H100 / H200
- The default target the recipes on this site are tuned against.
- H200 ships with 141 GB HBM (vs. 80 GB on H100), so you can often reduce TP for the same model — e.g. TP 8 → TP 4 on a single 8-GPU node.
B100 / B200
- Same launch flags as H-series; FP8 GEMM uses the same code path.
- First-run kernel compilation can take longer than on H-series. If the rollout engine
is flagged unhealthy during warm-up, raise
--rollout-health-check-first-wait(e.g. 600s).
A100
- No FP8 GEMM — the BF16 path is used automatically.
- Supported, but not part of CI; expect rougher edges than on H/B-series.
Multi-node networking
- InfiniBand HDR/NDR: ~200/400 Gbps per port. Default in most H100 deployments.
- RoCEv2: works, configure
NCCL_IB_HCAto your physical NICs. - Slingshot 11: requires
NCCL_NET_PLUGIN=cassini.
ib_send_bw between two ranks before launching a multi-day run.
Common environment variables
NVSHMEM_DISABLE_NCCL=1 on rollout and training actors automatically. DeepEP
initializes NVSHMEM, whose built-in NCCL path opens a second NCCL communicator that collides
with miles’ own NCCL and hangs during SGLang CUDA-graph replay. Export NVSHMEM_DISABLE_NCCL=0
to opt out.
NVLink + IB topology
For 8× GPUs per node:- All-to-all NVLink connectivity (
nvidia-smi topo -mshould showNV4between every pair). - 4–8 IB NICs per node, one per GPU pair, configured via
NCCL_IB_HCA.
nvidia-smi topo -m shows PIX or PHB instead of NV*, you’ve lost a link —
fix before training.

