结构体中的指针变量怎么样从Host拷贝到到device?

比如 : struct MyStruct{
int *point;

}

可以直接调用,关键看内存开在哪里

host端
data* h_input;
h_input=(data*)malloc(sizeof(data));
h_input->value=(int*)malloc(sizeof(int)N);
h_input->num=(int
)malloc(sizeof(int)*N);

data tmp; 用于过渡 中转站
cudaMalloc((void**)&tmp->value,sizeof(int)N);
cudaMalloc((void
*)&tmp->num,sizeof(int)*N);

device端
data* d_input;
cudaMalloc((void**)&d_input,sizeof(data));
将host端数据复制端device端

cudaMemcpy(tmp->value,h_input->value,sizeof(int)*N,cudaMemcpyHostToDevice);
cudaMemcpy(tmp->num,h_input->num,sizeof(int)*N,cudaMemcpyHostToDevice);
cudaMemcpy(d_input, &tmp , sizeof(data),cudaMemcpyHostToDevice);