PerformancePerformance track

Scaling efficiency

Read it in Chapter 5 · checkpoint +50 XP →

Why 2× the GPUs rarely gives 2× the speed: serial work, communication and synchronization (Amdahl's law and friends).

Amdahl's law: if a fraction s of the work is serial, the speedup on n workers is at most 1 / (s + (1−s)/n). Even 5% serial work caps you at 20× speedup.

Distributed training adds communication that grows with scale: collective latency terms, cross-rack hops, and the growing chance that some GPU is slow (see Stragglers).

Weak vs strong scaling

  • Strong scaling: same problem, more GPUs. Efficiency drops as per-GPU work shrinks.
  • Weak scaling: grow the batch with the GPU count. Much friendlier, which is why large-batch training exists, within the limits of what still converges.

Measuring it: scaling efficiency = (throughput at n) / (n × throughput at 1). Report it alongside MFU. A job can scale perfectly and still be inefficient per GPU.

LIVE Scaling efficiency
idealactual
1×4×16×64×256×1024×1416642561024workersspeedupidealactual15.3×
Speedup
15.3×
Efficiency
24%
Amdahl ceiling
50×

Speedup = 1 / (serial + (1 − serial)/n + comm·log₂ n). A toy model, but it shows why efficiency decays.

Related

Sources & further reading

Written for LazyLab in our own words; sources are cited for depth and verification.