【cudaMemcpy】

1.cudaMalloc

在设备(Device)上申请一个空间

 float *d_alpha = nullptr,//如果你想表示空指针,那么使用nullptr,而不是NULL。NULL被推导为long int,而不是空指针,
	 cudaMalloc(&d_alpha, num_vec_aligned * sizeof(float));
      

2.cudaMemcpy

cudaMemcpy用于在主机(Host)和设备(Device)之间往返的传递数据,用法如下:

主机到设备:

cudaMemcpy(d_y, y, y_size* sizeof(float), cudaMemcpyHostToDevice);

设备到主机:

cudaMemcpy(y, d_y, y_size* sizeof(float), cudaMemcpyDeviceToHost);

注意:该函数是同步执行函数,在未完成数据的转移操作之前会锁死并一直占有CPU进程的控制权,所以不用再添加cudaDeviceSynchronize()函数

你可能感兴趣的:(CUDA,cuda)