1 前言
- 文章的主要目的是介绍CUDA的编程方法和规范,并不是探讨深层次的原理,所以想探究并行计算原理的同学可以不用看。
- 我假设看文章的人熟悉C语言编程,懂得什么是线程,什么是进程,什么是信号量等基础的多线程知识。
2 环境配置
CUDA环境的配置还是很规范的,首先确认自己显卡的类型,然后去CUDA开发工具网站下载对应的CUDA版本。具体的安装方法网站中有PDF的说明,不同的操作系统不一样。我实际安装过UBUNTU和windows两个版本,感觉跟着说明一步步走就可以,并没有什么坑。所以,环境安装的部分就不展开了。
3 工程的创建和编译
安装后,就可以开始编码了。首先你要创建一个CUDA工程。我使用的是VS2015,在创建解决方案时就有专门的CUDA工程,如图:
之后程序会自动生成默认工程代码,如图:
然后,就像C语言程序一样,编译运行即可。默认的程序实现了一个vector相加的功能。
大家可以看到,CUDA程序的起始地址也是main函数,但CUDA程序的源文件是以.cu结尾的,这种文件会使用CUDA环境的NVCC.exe程序进行编译。同时CUDA程序的语法就是C语言的扩展,例如__global__等,都是CUDA程序特有的关键字,有着特殊的含义和用法,这些将在以后的文章中介绍