1,需要安装的软件:CUDA Toolkit4.0 + GPUComputing SDK + CUDA Wizard + +对应的显卡驱动+ Visual Assist破解版 + VS2008
下载地址:http://developer.nvidia.com/cuda-toolkit-40
2,先安装显卡,得确保显卡支持CUDA加速。查询是否支持可看此网站:
http://developer.nvidia.com/cuda-gpus
3,再安装Toolkit4.0和SDK,最好选择默认。在Win7环境下,Toolkit4.0安装后文件路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2
SDK默认安装文件路径为:C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0,注意:ProgramData Win7为隐藏文件,
XP系统下默认安装路径为C:\Documents and Settings\All Users\Application Data\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0
4,C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\src该目录下,为SDK所带的demo程序,有VS2005、VS2008和VS2010三个版本。
5,安装CUDAWizard,下载地址:
http://sourceforge.net/projects/cudavswizard/
安装后,重新打开VS2008,此时【新建项目类型】多了【CUDA】一项,此时可以新建CUDA C程序了。但此时肯定编译通不过,缺少必要的环境变量设置。
6,Ctrl+R,输入cmd,进入命令提示窗口
输入setcuda,看是否出现以CUDA开头的环境变量,如果没有,说明SDK安装不正确,重新安装
之后,在环境变量中设置【用户变量】中的【path】,添加上
C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\bin\win32\Debug
和
C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\bin\win32\Release
7,打开VS2008,【工具】-【选项】-【项目和解决方案】-【VC++目录】-
【包含文件】添加上
C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include、
和
C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\common\inc
【库文件】添加上
C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v4.0\lib
和
C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\common\lib
【源文件】添加上
C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\common\src
8,【工具】-【选项】-【项目和解决方案】-【VC++项目设置】-
【C/C++文件扩展名】添加上*.cu
【包括的扩展名】添加上.cuh
【规则文件搜索路径】
C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\common
9,产生一些必须的库文件
打开文件夹C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\common
用VS打开Release_vs2008.sln(包含有cutil_vs2008和rendercheckgl_vs2008项目),选择【生成】-【批生成】,选择【Debug|Win32】和【Release|Win32】,点击【生成】,即可生成一些必须的库文件。
10,高亮显示:打开一个项目,右击项目名称,选择【自定义生成规则】-【查找现有的】,地址为C:\ProgramData\NVIDIACorporation\NVIDIA GPU Computing SDK 4.0\C\common,选择cuda.rules。
注意:CUDA共有两个环境,一个为CUDADriver API,另一个CUDA Runtime API。运行时API是在驱动API基础上进一步抽象的结果,使用起来更加简洁;驱动API接近底层硬件,较为复杂,但能实现运行时API不能实现的功能。
一般我们写程序都是以Runtime API来写,它的所有函数前缀都为cuda;Driver API的所有函数前缀都为cu,它们的函数基本上都一一对应。
现在所研究的cudaEncode是以Driver API来写的,有待进一步改进为Runtime API形式。
11,安装VisualAssist。之后,配置VA,使其对CUDA也支持。
Ctrl+R,输入regedit,进入注册表编辑器,之后进入注册表编辑:HKEY_CURRENT_USER\Software\Whole Tomato\Visual Assist X\VANet9\找到右边的ExtSource项,将其值添加.cu;.cuh;之后关闭。
12,可以编辑一个HelloCUDA程序试试是否都配置正确
HelloCUDA.cu
#include <stdio.h>
int mani()
{
printf(“HelloCUDA\n”);
return0;
}
如果正确的话,试试输入_global_时是否有提示,检验Visual Assist。
之后打开SDK中的src文件夹,有很多源文件。
可以打开bandwidthTest,测试能否成功。如果出现缺少.lib文件或.dll文件,可能是前面的配置不正确,再调试一下。
13,http://developer.download.nvidia.com/compute/cuda/2_3/toolkit/docs/online/modules.html
该网站有CUDARuntime API和CUDA DriverAPI的所有函数的详细说明
14,学习资料:
C:\ProgramData\NVIDIA Corporation\NVIDIAGPU Computing SDK 4.0\C\doc文件夹下的
CUDA_C_Best_Practices_Guide.pdf
CUDA_C_Getting_Started_Windows.pdf
CUDA_C_Programming_Guide.pdf
书籍有:GPU高性能编码CUDA实战(CUDA By Example)
GPU高性能运算之CUDA