Can you, please, explain how device memory allocation is working in pytorch? In this example https://github.com/sniklaus/pytorch-extension/blob/master/src/HadamardProduct_kernel.cu 26 he runs only kernel, but sending memory of input1 and input2 to the GPU is absent, just like loading data of output back to host. Does pytorch use UVA(unified virtual addressing) or something like it?