Could you check the batch size and make sure it’s >1 so that it can be split in dim0 and each GPU would get at least one sample?
If that’s already the case, you could check the .device attribute of the input tensor inside the forward method of your model and verify that the tensors are placed on both GPUs.
Generally, I would also recommend to use DistributedDataParallel for the best performance instead of nn.DataParallel.