一:新建CUDA项目流程(VS2013下)
1.新建项目(file->New->Project)
2.在项目列表中可以看见NVIDIA的CUDA项目(前提是你安装了CUDA)
选择项目,添加一些必要的信息,自己定义就行
3.项目生生成成功
.cu文件就是跑在GPU上面的文件。文件夹里面是自动生成的一些要依赖的库文件你可以不用管
二:第一个程序:HelloWorld
我们通过最基本最经典的HelloWorld的程序来讲解在CUDA编程中的一些最基本的概念.消化这个程序的流程是非常重要的,因为很多基础都在这里.(这里贴代码采用的是截图的方式,便于知道哪里更加重要)
第一阶段:普通(C程序)
代码:
结果:
其实这就是一个C语言程序,但是其中载入了一些GPU编程的头文件(实际上这些文件并没有用到).后面会在这个源文件上面添加一些代码来慢慢扩充整个GPU编程入门源程序.
这里我们要搞清楚两个常用的概念:主机(host)和设备(device).
主机:CPU及系统的内存
设备:GPU及其内存
所以,在这里我们认为他是和纯C语言代码差不多是因为这个程序并没有考虑除了主机之外的设备.
第二阶段(引入核函数)
代码:
结果:
这里确实用到了GPU,但是设备函数(也叫核函数)本身并没有做什么事情,仅仅是调用了一下而已.
1.这个程序两个地方需要注意
1.一个空的函数kernel_func(),且前面是__global__来修饰
2.对于这个函数的调用,注意其特殊的调用格式.
2.__global__
告诉系统,这个函数应该交给编译设备代码的编译器来编译.而main函数依然是交给主机的编译器.
3.这段代码看上去就像是CUDA编译器在运行时负责实现从主机代码中调用设备代码.
4.核函数调用时候的尖括号