Hi,
Keep in mind that the cuda api is asynchronous. And only wait for ops to actually run when the new value is needed outside of the GPU. So here the copy will have to wait for all the ops above to finish before running. You want to synchronize the cuda device before gettting timings if you want to see the runtime of a single op.