cuda配置

  • 格式:pdf
  • 大小:122.46 KB
  • 文档页数:4

cuda配置

Visual Studio 2010 中CUDA 4.0的安装与配置

安装环境:Win7 64位系统,Geforce GT 430显卡

安装前提:Visual Studio 2010

Visual Assist X

安装步骤:1,Nvidia显卡驱动,装275.33版,这是最新版本驱动,初次安装为了少出错,最好安装⽐较新版本的驱动。

2,Cuda Toolkit 4.0安装,CUDA 4.0的新特性可以参见其Release Notes,其中包括了本⽂将要介绍的Thrust库。

3,CUDA Tools SDK 4.0安装,默认安装路径可能是

C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0,记这个路径为

SDK_PATH.

4,Parallel Nsight 2.0安装,这个⼯具可以将GPU通⽤计算集成进Microsoft Visual Studio,能够对使⽤CUDA C,OpenCL,DirectCompute, Direct3D,和 OpenGL的应⽤程

序进⾏调试和分析。

现在可以⽤VS打开CUDA SDK的例⼦了,在这之前,两个⼯具库可以先⽣成⼀下。a.使⽤VS2010打开SDK_PATH \ c\common\cutil vs2010.sln,VS2010 选“Build|Batch

Build…”,“Select All”,⽣成所有配置需要的lib.如果遇到“Can not open source

file …”的错误,把⽂件夹的只读属性去掉。

⽬的:⽣成各配置需要的cutilxx[D].lib XX:32 /64 [D]debug模式lib存放的位置:SDK_PATH \ c\common\lib\(win32|X64)

b.同上⽅法,打开SDK_PATH\share\ shrUtils_vs2010.sln 选“Build|Batch Build…”

⽬的:⽣成各配置需要的shrUtilxx.lib XX:32 /64 [D]debug模式lib存放的位置:SDK_PATH\share\lib\(Win32|x64)

注:这个项⽬编译时会提⽰有两个.cpp找不到,直接把他们从项⽬⾥移去即可。因为同名的.h⽂件⾥已经有完整代码了。

测试例⼦:VS2010 打开SDK例⼦:deviceQuery, matrixMul各种配置均可编译执⾏成

功, CUDA的基本配置就完了。

创建⾃⼰的CUDA项⽬1,创建⼀个Win32 console application 程序 HelloWorldCuda,选择空项⽬,然后添加⼀个源⽂件HelloWorldCuda.cpp, 改名字为HelloWorldCuda.cu。2,选择Project | Build Customizations…菜单,在对话框中选择CUDA 4.0,这会添加对CUDA C/C++⽂件(*.cu)的⽀持

3,选择HelloWorldCuda.cu⽂件,右击选择Property打开属性对话框,在General属性页下,将Item Type改为”CUDA C/C++”4,选择HelloWorldCuda⼯程,右击选择Property打开属性对话框,选择“Linker|General”属性页,在“Additional LibrariesDirectories”下添加“$(CUDA_PATH_V4_0)\lib\$(Platform);”

注意:CUDA C/C++已经在属性页中出现了5,打开“Linker|Input”属性页,在“Additional Dependencies”中添加“cudart.lib;”

6, 向HelloWorldCuda.cu中添加⼀些代码。…………测试程序:

#include

bool InitCUDA()

{

int count;

cudaGetDeviceCount(&count);

if(count == 0)

{

fprintf(stderr, "There is no device.\n"); return false;

}

int i;

for(i = 0; i < count; i++)

{

cudaDeviceProp prop;

if(cudaGetDeviceProperties(∝, i) == cudaSuccess)

{

if(prop.major >= 1)

{

break;

}

}

}

if(i == count)

{

fprintf(stderr, "There is no device supporting CUDA 1.x.\n");

return false;

}

cudaSetDevice(i);

return true;}

int main()

{

if(!InitCUDA())

{

return 0;

}

printf("HelloWorld, CUDA has been initialized.\n");

return 0;

}

⽤ Ctrl+F5 运⾏,通过nvcc编译成功,输出结果。"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\bin\nvcc.exe"-gencode=arch=compute_10,code=\"sm_10,compute_10\" --use-local-env --cl-version 2010 -ccbin

CUDA C/C++关键字和函数⾼亮显⽰:

在上⾯HelloWorldCuda.cu⽂件中发现CUDA C/C++的关键字__global__等没有⾼亮显⽰,⽽且还有下划曲线。下⾯进⾏CUDA C/C++关键字和函数的语法⾼亮显⽰,配置Visual AssistX 函数⾼亮,代码提⽰等功能。

下⾯是关于代码⾼亮的设置。共三个设置1..cu⽂件中C/C++关键字⾼亮

这个设置是让VS2010编辑.cu⽂件时,把.cu⽂件⾥的C/C++语法⾼亮。“Tools|Options…|Text Editor|File Extension”,设置⽅法: 在VS2010的菜单依次点击:

在这个界⾯⾥:“Editor”下拉框选“Microsoft Visual C++”,在“Extension”⽂本框输⼊.cu 点击“Add”按钮,重复⼯作把.cuh 添加为vc++类型,点击确定按钮。把全部.cu⽂件关闭,再打开,.cu⽂件C++关键字就⾼亮了。如果不⾏就重启VS2010。但是CUDA的关键字还是⿊⾊的,下⼀步把CUDA关键⾃⾼亮显⽰。

2.CUDA关键字⾼亮

为了让CUDA的关键字,如__device__、dim3之类的⽂字⾼亮,需要如下步骤:

把SDK_PATH\C\doc\syntax_highlighting\usertype.dat 复制到X:\Program Files(X86)\Microsoft Visual Studio 10.0\Common7\IDE\ ⽬录下

这⾥ X:是安装VS2010盘符,这是win7 64位下的路径。

注意:win7 64系统不要复制到这个⽬录⾥,复制到这⾥是不会CUDA关键字⾼亮的:X:\Program Files \Microsoft Visual Studio 10.0\Common7\IDE\

(如果你的win7是32位的,可能正好是上⾯这个⽬录,应该会⾼亮的,这是win7 64位和32位的差别)

再次强调:SDK_PATH要换成你安装SDK的实际路径,不要直接使⽤这个字符串。VS2010需要重启,重启后打开.cu⽂件,CUDA的关键字应该变成蓝⾊了。

3. CUDA 函数⾼亮,及CUDA函数输⼊代码提⽰

实现这个功能就要使⽤VAssistX了。⾸先安装⽀持VS2010的Visual AssistX, 在CUDA 安装前、后安装都⾏。需要两步实现需要的功能:a) 让Visual AssistX⽀持CUDA函数⾼亮和代码完成。在VS2010菜单⾥依次点

击: “VAssistX->Visual assist X Options->Projects->C/C++Directories”在这个界⾯

的“Platform”下拉框选 Custom,在“Show Directories for..“下拉框选 Other include files,然后在下⾯的输⼊框⾥,新建、添加三个路径,点击确定,三个路径分别如下: SDK_PATH的\c\common\incSDK_PATH的\shared\inc

X:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include

这⾥SDK_PATH要⽤你安装的SDK路径代替,X:是你的CUDA toolkit安装盘符。

这样分别在这三个⽬录⾥⾯的.h⽂件定义的函数和类型VAssistX会帮我们在编辑⽂件时候实现⾼亮和完成代码。如果少包含⼀个路径,这个⽬录⾥的.h定义的函数和类型就不会⾼亮和提⽰了。b)让Visual AssistX⽀持.cu⽂件,也就让Visual AssistX帮我们实现.cu⽂件⾼亮和代码完成功能,需要编辑注册表。⾸先关闭VS2010,点击开始菜单输⼊regedit打开注册表,找到如下位置:HKEY_CURRENT_USER\Software\Whole Tomato\VisualAssist X\VANet10。在右边找到ExtSource项⽬,⿏标右键选修改,在原有⽂字后添加如下⽂字:.cu;.cuh; 确定后

关闭注册表,重新打开vs2010,Visual AssistX开始⽀持.cu及.cuh⽂件的语法⾼亮及代码完成。此时.cu⽂件的CUDA函数是⾼亮的,使⽤函数名符号就会⾃动提⽰函数全称,参数类型等信息了。

经过上⾯的安装,开发程序应该没问题了,但会发现有如下的问题:1. VS2010显⽰.cu⽂件时,有很多CUDA函数下有波浪线

2. 在.cu⽂件⾥使⽤VS2010的“Go to definition”功能查⽆法找到CUDA函数的定义。

这两个问题的原因是VS2010不认识这些函数,没有指定它们在那个头⽂件⾥包含的。解决⽅法其实是⼀样的,把CUDAtookit 和CUDA SDK的头⽂件路径加到VS2010的VC++⽬录⾥⾯。

感谢⽹上各种资料,感谢前⼈⾛过的路。