DataParallel allows CPU inputs, as it’s first step is to transfer inputs to appropriate GPUs. that’s simply the reason why.