Are you asking if you need to call something like that:
dist.all_reduce(param.grad.data, op=dist.reduce_op.SUM)
to be able to use DistributedDataParallel ?
No, you do not need to. You can see imagenet example 1