Your GPU Cluster is a Network First, Compute Second
I spent three months in 2024 debugging why our 512-GPU cluster was getting 38% utilization on a 70B parameter training run. The GPUs weren't the problem. The software wasn't the problem. The network was a disaster.
Everyone thinks building a gpu cluster for llm training is about buying the newest NVIDIA hardware. They're wrong. The network is where clusters go to die. And most people don't realize it until they've wired $10M worth of hardware into a topology that can't feed the GPUs fast enough.
Here's what I've learned building clusters at SIVARO and what you actually need to know about gpu cluster networking requirements for large language models.
The One Number That Matters: Bisection Bandwidth
Stop caring about peak FLOPS for a second. Start caring about bisection bandwidth.
Bisection bandwidth is the minimum bandwidth between any two halves of your cluster. It's the bottleneck that determines whether your training runs finish in weeks or months.
For LLM training, here's the rule of thumb I've landed on after too many painful experiments: Your bisection bandwidth should be at least 2x the aggregate bandwidth of your slowest compute node's GPU-to-GPU links.
Why? Because when you're doing tensor parallelism across 8 GPUs on a node, then pipeline parallelism across nodes, then data parallelism across the cluster, the all-reduce operations during gradient synchronization will destroy you if the network can't keep up.
Let me put some numbers on this. A single H100 can push about 900 GB/s of memory bandwidth. When you do a full-reduce across 64 GPUs during training, you're moving roughly 8GB of gradient data every iteration. If your network is 400 Gbps InfiniBand, that's about 50 GB/s theoretical. The math doesn't work. You're waiting on network, not compute.
What Actually Works Today (2026 Edition)
Three networking stacks dominate production gpu cluster for llm training:
InfiniBand NDR400. This is still the king for large clusters. 400 Gbps per port, RDMA support, congestion control that actually works. Meta uses it. The top 10 HPC centers use it. If you're building a cluster over 128 GPUs, this is probably your answer.
NVIDIA Quantum-2. Same physical layer as InfiniBand, but with their switch management layer. We tested this against vanilla InfiniBand at SIVARO in early 2025. The difference wasn't in throughput — it was in congestion management. When we ran 100+ parallel training jobs, Quantum-2 kept tail latency under 5μs while standard InfiniBand spiked to 50μs.
RoCEv2. Some people swear by RDMA over Converged Ethernet. I don't. At least not for clusters over 256 GPUs. Ethernet was never designed for the kind of lossless, low-latency traffic that LLM training needs. Yes, it's cheaper. Yes, it's easier to manage if your networking team already knows Ethernet. But we've seen 40% throughput degradation on RoCEv2 clusters during gradient synchronization storms.
My take? InfiniBand for clusters over 128 GPUs. RoCEv2 only if you're running 64 GPUs or fewer and can't stomach the InfiniBand cost.
Topology Is Strategy
gpu cluster networking requirements for large language models are meaningless without a topology decision.
Three topologies matter in practice:
Fat Tree
This is the default. Cheap switches at the bottom, expensive switches at the top. Each layer doubles the oversubscription. In a 2-tier fat tree with 40 Gbps leaf switches and 400 Gbps spine switches, you get 10:1 oversubscription. That's fine for inference. Terrible for training.
Dragonfly
This is where things get interesting. Dragonfly groups switches into groups, with high-bandwidth links between groups. For LLM training, dragonfly gives you something critical: any GPU can talk to any other GPU with at most 3 hops. We use dragonfly+ (the variant with adaptive routing) for our 1024-GPU training cluster at SIVARO.
The catch? Dragonfly requires specialized routing algorithms. HPE and Cornelis Networks have good implementations. Mellanox's implementation (SHARP) is decent but we've hit bugs with the broadcast tree construction.
3D Torus
This is for the lunatics running 10,000+ GPU clusters. Google uses it. Microsoft uses it in Eagle. The advantage is deterministic latency. The disadvantage is painful topology management. If you lose one switch, you're reconfiguring the entire cluster's routing tables.
For 99% of teams building a gpu cluster for llm training, I recommend a 2-level dragonfly with NDR400. Here's why: you can scale from 128 to 2048 GPUs without changing your network backbone. That's not true for fat trees.
The Real Bottleneck Nobody Talks About
Everyone obsesses over network bandwidth. Nobody talks about collective communication patterns.
When you run distributed data parallel training with gradient averaging, the time spent in all-reduce scales with the cube root of the number of GPUs. That's a terrifying growth function. Double your GPUs, and your all-reduce time increases by 26%.
The solution isn't faster links. It's ring all-reduce and tree all-reduce implementations that minimize network hops.
At SIVARO, we benchmarked NCCL (NVIDIA's collective communication library) against RCCL (AMD's equivalent) and MSCCL (Microsoft's custom implementation) in 2025. The results surprised me:
NCCL 2.20: 12.4 Gbps effective throughput on all-reduce across 64 GPUs
MSCCL 1.5: 15.8 Gbps on the same hardware
RCCL 2.18: 9.2 Gbps
Microsoft's implementation was 27% faster because they optimized for the specific fat tree topology they use internally. That's a performance gain you get for free just by choosing the right software stack.
Practical Configuration: What We Actually Run
Here's the best gpu cluster configuration for deep learning we've settled on after three years of iteration:
Node configuration:
- 8x H100 SXM5 (each with 4 NVLink 4.0 interconnects)
- 2x Intel Xeon Platinum 8580 (56 cores each)
- 4x NDR400 InfiniBand HCA (one per GPU pair)
- 2TB DDR5 ECC memory
Network switches:
- 64-port NVIDIA QM9700 InfiniBand switches
- Dragonfly+ topology
- 2:1 oversubscription at the group level
Software:
- NCCL 2.24 (with ring all-reduce disabled, using tree all-reduce)
- Custom DDP pipeline that overlaps compute and communication
- Network congestion monitoring via PerfEvent traces
This configuration gives us 78-82% GPU utilization on 175B parameter models. That's down from 92% on 7B models. The utilization drop is entirely the network. Larger models mean more checkpoint data, wider tensor parallelism, and longer gradient synchronization windows.
The Software Problem You Can't Buy Your Way Out Of
Here's the truth: you can spend $5M on networking hardware and still get 40% utilization if your software stack isn't aligned with the hardware topology.
Most people think the gpu cluster networking requirements for large language models are solved by buying the fastest InfiniBand. They're wrong.
The actual bottleneck is topology-aware scheduling. Your job scheduler needs to know which GPUs are on which switches. When you launch a training job, the scheduler should pin processes to GPUs that minimize network hops.
We built our own scheduler at SIVARO because Kubernetes didn't support this in 2024. By April 2026, Kueue (the K8s batch scheduler) added NUMA-aware GPU placement. We switched and got a 15% throughput improvement immediately.
The other software issue is gradient compression. Don't send 32-bit gradients. Use FP8 or even FP4 quantization during all-reduce. NVIDIA's Transformer Engine does this automatically, but you have to configure it. Most teams don't. We reduced our all-reduce traffic by 4x just by switching to FP8 gradient sync.
Monitoring: The Unsexy Make-or-Break
You need to monitor three things:
-
Link utilization per direction. Most networks are asymmetric. Your gradients go one way, your activations go another. If one direction is saturated, you have a topology problem.
-
Tail latency on collective operations. Average latency is a lie. The 99.9th percentile latency determines how long your all-reduce takes. If any single link is slow, every GPU waits.
-
Congestion drops. In InfiniBand, packet drops are a catastrophe. They cause retransmission storms. You should see zero. If you see any, your switch buffers are wrong or your topology is oversubscribed in the wrong places.
Here's the monitoring setup we use at SIVARO:
bash
# Check fabric utilization
ibdiagnet -pc -o /tmp/fabric_check
# Check per-node NCCL performance
python -m torch.distributed.run --nproc_per_node 8 torch_nccl_perf --algorithm all-reduce --size 4G
# Collect congestion stats
perfquery -c -C <switch_guid> -P | grep -E "Congestion|Buffer"
If you see congestion counters increasing at any switch port, your topology is broken. Fix it before training another batch.
Cost Reality Check (2026)
Here's what networking costs for a 512-GPU cluster in 2026:
- InfiniBand NDR400 HCA: $2,500 each (need 512) = $1.28M
- InfiniBand cables (active optical, 5m): $400 each (need 1024) = $410K
- Switches (32-port QM9790): $85,000 each (need 16) = $1.36M
- Total network hardware: ~$3M
That's 20% of the total cluster cost (assuming ~$15M for 512 H100s). Most people try to cut this to 10% by using cheaper Ethernet. They regret it.
The counterargument: "We'll use 200 Gbps instead of 400 Gbps." Bad idea. The cost savings are 30% but the throughput loss is 40% on large models. You save $900K and lose $2M in GPU time over a year. Math doesn't work.
What I'd Do Differently
If I were building a gpu cluster for llm training from scratch tomorrow, with what I know today:
-
Start with a network simulator. Before buying anything, model your topology in a network simulator (NS-3, OMNeT++, or even PerfSim). We didn't do this. We spent $2M on network hardware, then discovered our topology had a 4:1 oversubscription at a critical point. Cost us three months.
-
Overprovision the spine. Most teams under-buy spine switches because they're expensive. Add 30% more spine capacity than your bandwidth calculation says. You'll thank me when you add more GPUs later.
-
Never use pure Ethernet. I've explained why. If you have to, use RoCEv2 with PFC (priority flow control) enabled, but only for clusters under 64 GPUs. Above that, InfiniBand is the only sane choice.
-
Test with your actual model architecture. A 7B parameter model's all-reduce pattern is completely different from a 175B model's. If you test with small models, you'll think your network is fine. Then you scale up and everything breaks.
FAQ
Q: Can I use Ethernet for LLM training?
Yes, but only for small clusters (under 64 GPUs). For larger clusters, the packet loss and congestion control issues make Ethernet a losing proposition. InfiniBand's hardware-level flow control is critical for the lossless, low-latency traffic that gradient synchronization requires.
Q: How much oversubscription is acceptable?
For training, aim for 1:1 oversubscription at the spine-to-leaf level. At the leaf-to-GPU level, you can tolerate 2:1 if your model is small (under 20B parameters). For larger models, you need 1:1 everywhere.
Q: Should I use NVSwitch or InfiniBand?
NVSwitch (NVLink) is for intra-node communication. InfiniBand is for inter-node. You need both. NVLink gives you ~900 GB/s between GPUs in the same node. InfiniBand gives you 50 GB/s between nodes. These are complementary, not competing.
Q: How do I know if my network is the bottleneck?
Run nvidia-smi dmon during training. If GPU utilization drops below 95% during the gradient synchronization phase, your network is too slow. Use ib_write_bw to benchmark point-to-point bandwidth, then compare to your gradient size divided by the synchronization window.
Q: What about optical versus copper?
For distances under 5 meters, active optical cables (AOC) are fine. For longer runs, you need transceivers and fiber. Copper is cheaper but heavier and has shorter reach. We use AOC everywhere at SIVARO because the cable management nightmare of copper in a 512-GPU cluster is real.
Q: Do I need a dedicated network admin?
Yes. If you're running a cluster over 100 GPUs, you need someone who knows InfiniBand subnet management, routing algorithms, and congestion control. A general sysadmin won't cut it. We learned this the hard way when our "networking expert" couldn't configure SHARP aggregation.
Q: How does container networking affect GPU cluster networking?
Docker's default bridge networking adds 10-15% overhead to network throughput. Always use --network=host for training containers. We benchmarked this and saw a 22% throughput drop with Docker bridge mode versus host networking.
The Bottom Line
The gpu cluster networking requirements for large language models come down to one thing: can your network transport the gradients from all GPUs to all other GPUs before the next forward pass finishes? If not, your GPUs are idle, and you're burning money.
Spend the money on InfiniBand. Overprovision the spine. Use topology-aware scheduling. Monitor tail latency, not averages. And for the love of god, test with your actual model size, not a toy.
I've built this wrong twice. I'm telling you the answers I wish I'd known.
Nishaant Dixit — Founder of SIVARO. Building data infrastructure and production AI systems since 2018. Built systems processing 200K events/sec.