cuda初学-01

来源:互联网 发布:vlc软件 编辑:程序博客网 时间:2024/06/05 00:11

      cuad编程,一般分为如下几大部分:

                             1.头文件包含。

                             2.申请设备内存cudaMalloc((void**)&dev_a,sizeof(int));

                             3.将内存中的东西拷贝到设备内存中,使GPU执行cudaMemcpy(dev_a,a,sizeof(int),cudaMemcpyHostToDevice);   将a的内容传到dev_a;

                             4.执行运算函数add<<<N,M>>>(a,b);(执行函数add,调用N块线程块,每个线程块调用M个线程)

                             5.将GPU运算的结果传到CPU内存cudaMemcpy(a,dev_a,sizeof(int),cudaMemcpyHostToDevice);

                             6.释放设备内存cudaFree(dev_a);

                            //  CPU端代码生成原始数据,通过CUDA运行时函数库将这些原始数据传输到GPU上,在CPU端启动CUDA内核函数进行运算,然后将运算结果从设备端传输到主机端,计算任务便完成了。<无意中从别人的博客上看到的,觉得很有概括意义的一句话,并且比较清楚>

                     // cudaMallocHost():这个方法是在主机上分配空间,可以加快传输速度,因此在写cuda时,应该使用此函数取代Malloc


0 0
原创粉丝点击