nn.DataParallel размножает batch на GPU в одном процессе с gather на master — простой, но с bottleneck; DDP — multiprocess с градиентным all-reduce, масштабируется лучше.
Разбор
- DP устарел для серьёзного multi-GPU.
- DDP требует launch через torchrun.
- Будьте осторожны с BN и sampler.
- Один GPU — DDP не нужен.
Итог
Для multi-GPU берите DDP, не DataParallel.