It is correct. The difference between DataParallel  and  DistributedDataParallel is (in your current example):

in DataParallel mode you have to set the batch size to 16 for your data loaders.
in DistributedDataParallel you have to set the batch size to 4 for your data loaders.