一直很想做cuda-GPU编程,很早就将CUDA9.0安装好了,后面就没怎么管它,忙别的去了。敲黑板,划重点,我科研还是很努力的,可是很多人看不见罢了。之前一直在使用粒子方法进行流体模拟,计算时间极其漫长,周末想了想,自己来做一个大型显式动力学分析软件,学学CUDA编程是不错的。所以现在为大家呈上热腾腾的一泡小白教程(调皮)。
首先到英伟达官网上下载安装CUDA最新版,要注册。其次,安装vs2013或者更高版本。其实我感觉如果安装Gfortran也是可以用的,只要有C++编译器就行了。两个安装好后,不需要再额外设置什么环境变量,用不上的。软件安装就介绍到这里。
我主要给大家介绍两种编译方法,一种是使用VS编译器编译,一种是命令行nvcc编译。
采用VS编译CUDA文件:打开VS,新建项目,选择CUDA9.1,其余照常设置,会生成一个kernel.cu文件,但是现在还不可以调试,因为编译器设置还不完全。选择解决方案(test4),然后右键属性,编辑cuda c/c++,设置编译器到安装目录下NVIDIA GPU Computing Toolkit\CUDA\v9.1。注意,安装路径以及文件存放路径都尽量别有中文路径。CTRL+FN+F5编译运行,显示计算成功。
采用nvcc编译:我个人一直不怎么喜欢使用编译器,而是喜欢命令行编译,这样对编译器的依赖会降低,提高自己写程序,查错误的能力,而且,最关键的是很少涉及版权问题。首先新建如下的文件,推荐使用notepad++或者sublime,保存为x.cu文件(我的是cuda.cu)。以管理员身份运行cmd命令,cd进入存放文件的目录,输入以下命令:nvcc cuda.cu -o cuda,如果没有报错,再输入./cuda就可以输出,进入目录文件夹还会看到生成一系列文件,cuda.exe就是编译好的可执行文件,但是并不能直接执行。必须在命令行才行。