I would recommend to time the DataLoader using the AverageMeter from the ImageNet example 88.
I’m not sure, if cprofile is giving the right profiles as CUDA operations are asynchronous and this it might accumulate the time on the blocking operation on the CPU side.