cuda | cudamemcpy的使用
cuda | cudamemcpy的使用
·
首先要先加上 cuda_runtime.h 头:
#include "cuda.h"
#include "cuda_runtime.h"
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()函数
更多推荐
所有评论(0)