I’ve added torch.cuda.synchronize() before starting and stopping the timer and used some dummy data:
dataX = torch.randn(1000, 3).to(device)
dataY = torch.randn(1000, 1).to(device)

CPU: 0.44854 seconds/epoch
GPU (TitanV): 0.0877 seconds/epoch
Based on your estimate (4.1 minutes for 200 epochs), it seems that each epoch takes (4.1*60)/200 = 1.22seconds on your GPU.
Which GPU, CUDA, cudnn, PyTorch versions are you using?