文章目录
前言
今天开始学习CUDA编程,在这里当成笔记,分享给大家
1. CUDA编程基础
(1)CUDA编程需要将CPU上数据拷贝到GPU显存上,然后在GPU上进行高效计算并得到计算结果,最终将结果拷贝到CPU上打印;
(2)CUDA编程区分GPU函数(设备代码)和CPU上函数(主机代码)是通过关键字 “_global_”;
(3)使用cuda API cudaMalloc(), cudaFree()在GPU显存上分配释放内存空间,类似CPU上Malloc()和Free();cudaMemcpy()将数据在CPU(host)和GPU(device)间拷贝,类似于CPU上的Memcpy();
(4)调用GPU上函数时需要指定模块(block)和每个模块上线程数(thread), 被称为配置内核参数, 比如 gpuAdd<<<1,1>>>(…),这里表示1个模块,每个模块执行1个线程。
(5)内核调用:主机代码(host, CPU)调用设备代码(device, GPU)