前面搭建好了CUDA的开发环境,现在来开始第一个程序看看,新建项目:
新建好后项目目录结构如下,一开始就一个文件"kernel.cu",cu后缀说明项目将使用英伟达编译器而不是Visual C编译器,它是混合了主机代码和设备代码的源文件,主机代码是在CPU运行(串行),通过kernel调用,把数据传给GPU设备设备来执行(并行),然后再把结果拷贝回主机,这个流程可以在addWithCuda函数中看到:
重点的计算流程在addWithCuda函数中,这里分配了一个block,里面用数组大小个线程(这里为5)去计算,最后在109行把数据从设备空间拷贝到主机空间:
运行结果如下: