刚刚开始接触CUDA,因为学校实验室这边还没有人去做GPGPU编程,所以自己学起来一头雾水,从头开始啊。。。
上周刚刚安好平台,但由于看的入门书籍已经跟不上软件的更新速度了,所以又要从头开始。
今天总结一下头文件的对应问题,和一些常用函数。
1.老版本的CUDA使用的头文件是cutil.h,新版本已经不支持了。通过看一些sample,发现了一些新版本中常用的头文件:
cuda_runtime.h
helper_cuda.h
helper_string.h
helper_functions.h(包含cuda.h/cuda_runtime_api.h)
2.函数中常用的一个返回值类型是cudaError_t,用于检验所使用函数或程序、硬件中发生的错误类型。
3.在cutil版本中,函数常调用在CUDA_SAFE_CALL()中,新版本里调用的是checkCudaErrors();
4.刚开始学习时,应该熟悉硬件属性,cudaGetDeviceProperties(&properties,device)可以获得;
cudaDeviceProp是一个enum 类型,其中包含硬件各种属性,可在头文件中看到相关定义。
5.内存的分配:
cudaMalloc((void**)&pt,size);
释放:
cudaFree(pt);
6.很重要的一点:如果使用指针的话一定要区分到底是device上的还是host上的,不要调用错误。
今后会深入学习的!共同进步!