As in this has to be done within a function with a global declaration?
i.e something like:
__global__
void moveVals(at::TensorAccessor<float, 1> real, at::TensorAccessor<float, 1> imag, cuComplex* dst, int len)
{
	int i = blockIdx.x * blockDim.x + threadIdx.x;

	if(i >= len)
		return;

	dst[i].x = real[i];
	dst[i].y = imag[i];
}

for example?
I tried two variations, both of which did not work:
The issue with using at::Tensor as inputs is that it can’t fill a single float value.
The issue with using at::TensorAccessor is that its not recognizable by the device.