I tried a code on both CPU and a single GPU, yet the results were as expected. Both cases take the same amount of time. However, I should point that the difference you see might be due to the first-time allocation of tensors. Besides, your method for measuring execution time is not good. Try something like timeit. If the issue persists, please leave a detailed demo of your code(you can replace the model with a simple network and use arbitrary input and target), plus the output.