Use cuda pointers with TVM

So can I simply do that?

void* ptr;
cudaMalloc(&ptr, 10 * 10 * 2 * sizeof(float));
TVMArray *x{};
std::vector<int64_t> shape ={1, 10, 10, 2};
TVMArrayAlloc(&shape[0], shape.size(), kDLFloat, 32, 1, kDLGPU, 0, &x);
x->data = ptr;