If you want backpropagation, you need to stay clear of both no_grad and detach.
Benchmarking tends to be a bit delicate due to the asynchronous nature of CUDA, so you would need to take care of synchronization before measurement.
Generally, views share the memory with the array they are viewing, so you would not have to worry about it.
Best regards
Thomas