CUDA40与VS.docx
- 文档编号:20179558
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:9
- 大小:239.33KB
CUDA40与VS.docx
《CUDA40与VS.docx》由会员分享,可在线阅读,更多相关《CUDA40与VS.docx(9页珍藏版)》请在冰豆网上搜索。
CUDA40与VS
VisualStudio2010中CUDA4.0的安装与配置
安装环境:
Win764位系统,GeforceGT430显卡
安装前提:
VisualStudio2010
VisualAssistX
安装步骤:
--[if!
supportLists]-->1,
--[endif]-->Nvidia显卡驱动,装275.33版,这是最新版本驱动,初次安装为了少出错,最好安装比较新版本的驱动。
--[if!
supportLists]-->2,
--[endif]-->CudaToolkit4.0安装,CUDA4.0的新特性可以参见其ReleaseNotes,其中包括了本文将要介绍的Thrust库。
--[if!
supportLists]-->3,
--[endif]-->CUDAToolsSDK 4.0安装,默认安装路径可能是
C:
\ProgramData\NVIDIACorporation\NVIDIAGPUComputingSDK4.0,记这个路径为SDK_PATH.
--[if!
supportLists]-->4,
--[endif]-->ParallelNsight2.0 安装,这个工具可以将GPU通用计算集成进MicrosoftVisualStudio,能够对使用CUDAC,OpenCL,DirectCompute,Direct3D,和OpenGL的应用程序进行调试和分析。
现在可以用VS打开CUDASDK的例子了,在这之前,两个工具库可以先生成一下。
--[if!
supportLists]-->a.
--[endif]-->使用VS2010打开SDK_PATH\c\common\cutilvs2010.sln,VS2010选“Build|BatchBuild…”,“SelectAll”,生成所有配置需要的lib.如果遇到“Cannotopensourcefile…”的错误,把文件夹的只读属性去掉。
目的:
生成各配置需要的cutilxx[D].libXX:
32/64[D]debug模式
lib存放的位置:
SDK_PATH\c\common\lib\(win32|X64)
--[if!
supportLists]-->b.
--[endif]-->同上方法,打开SDK_PATH\share\shrUtils_vs2010.sln选“Build|BatchBuild…”
目的:
生成各配置需要的shrUtilxx.libXX:
32/64[D]debug模式
lib存放的位置:
SDK_PATH\share\lib\(Win32|x64)
注:
这个项目编译时会提示有两个.cpp找不到,直接把他们从项目里移去即可。
因为同名的.h文件里已经有完整代码了。
测试例子:
VS2010打开SDK例子:
deviceQuery,matrixMul各种配置均可编译执行成功,CUDA的基本配置就完了。
创建自己的CUDA项目
--[if!
supportLists]-->1,
--[endif]-->创建一个Win32consoleapplication程序HelloWorldCuda,选择空项目,然后添加一个源文件HelloWorldCuda.cpp,改名字为HelloWorldCuda.cu。
--[if!
supportLists]-->2,
--[endif]-->选择Project|BuildCustomizations…菜单,在对话框中选择CUDA4.0,这会添加对CUDAC/C++文件(*.cu)的支持
--[if!
supportLists]-->3,
--[endif]-->选择HelloWorldCuda.cu文件,右击选择Property打开属性对话框,在General属性页下,将ItemType改为”CUDAC/C++”
--[if!
supportLists]-->4,
--[endif]-->选择HelloWorldCuda工程,右击选择Property打开属性对话框,选择“Linker|General”属性页,在“AdditionalLibrariesDirectories”下添加“$(CUDA_PATH_V4_0)\lib\$(Platform);”
注意:
CUDAC/C++已经在属性页中出现了
--[if!
supportLists]-->5,
--[endif]-->打开“Linker|Input”属性页,在“AdditionalDependencies”中添加“cudart.lib;”
6,向HelloWorldCuda.cu中添加一些代码。
…………
测试程序:
#include
boolInitCUDA()
{
intcount;
cudaGetDeviceCount(&count);
if(count==0)
{
fprintf(stderr,"Thereisnodevice.\n");
returnfalse;
}
inti;
for(i=0;i { cudaDevicePropprop; if(cudaGetDeviceProperties(&prop,i)==cudaSuccess) { if(prop.major>=1) { break; } } } if(i==count) { fprintf(stderr,"ThereisnodevicesupportingCUDA1.x.\n"); returnfalse; } cudaSetDevice(i); returntrue; } intmain() { if(! InitCUDA()) { return0; } printf("HelloWorld,CUDAhasbeeninitialized.\n"); return0; } 用Ctrl+F5运行,通过nvcc编译成功,输出结果。 "C: \ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v4.0\bin\nvcc.exe"-gencode=arch=compute_10,code=\"sm_10,compute_10\"--use-local-env--cl-version2010-ccbin CUDAC/C++关键字和函数高亮显示: 在上面HelloWorldCuda.cu文件中发现CUDAC/C++的关键字__global__等没有高亮显示,而且还有下划曲线。 下面进行CUDAC/C++关键字和函数的语法高亮显示,配置VisualAssistX函数高亮,代码提示等功能。 下面是关于代码高亮的设置。 共三个设置 --[if! supportLists]-->1. --[endif]-->.cu文件中C/C++关键字高亮 这个设置是让VS2010编辑.cu文件时,把.cu文件里的C/C++语法高亮。 设置方法: 在VS2010的菜单依次点击: “Tools|Options…|TextEditor|FileExtension”,在这个界面里: “Editor”下拉框选“MicrosoftVisualC++”,在“Extension”文本框输入.cu点击“Add”按钮,重复工作把.cuh添加为vc++类型,点击确定按钮。 把全部.cu文件关闭,再打开,.cu文件C++关键字就高亮了。 如果不行就重启VS2010。 但是CUDA的关键字还是黑色的,下一步把CUDA关键自高亮显示。 --[if! supportLists]-->2. --[endif]-->CUDA关键字高亮 为了让CUDA的关键字,如__device__、dim3之类的文字高亮,需要如下步骤: 把SDK_PATH\C\doc\syntax_highlighting\usertype.dat复制到X: \ProgramFiles(X86)\MicrosoftVisualStudio10.0\Common7\IDE\目录下 这里X: 是安装VS2010盘符,这是win764位下的路径。 注意: win764系统不要复制到这个目录里,复制到这里是不会CUDA关键字高亮的: X: \ProgramFiles\MicrosoftVisualStudio10.0\Common7\IDE\ (如果你的win7是32位的,可能正好是上面这个目录,应该会高亮的,这是win764位和32位的差别) 再次强调: SDK_PATH要换成你安装SDK的实际路径,不要直接使用这个字符串。 VS2010需要重启,重启后打开.cu文件,CUDA的关键字应该变成蓝色了。 3.CUDA函数高亮,及CUDA函数输入代码提示 实现这个功能就要使用VAssistX了。 首先安装支持VS2010的VisualAssistX,在CUDA安装前、后安装都行。 需要两步实现需要的功能: a)让VisualAssistX支持CUDA函数高亮和代码完成。 在VS2010菜单里依次点击: “VAssistX->VisualassistXOptions->Projects->C/C++Directories”在这个界面的“Platform”下拉框选Custom,在“ShowDirectoriesfor..“下拉框选Otherincludefiles, 然后在下面的输入框里,新建、添加三个路径,点击确定,三个路径分别如下: SDK_PATH的\c\common\inc SDK_PATH的\shared\inc X: \ProgramFiles\NVIDIAGPUComputingToolkit\CUDA\v4.0\include 这里SDK_PATH要用你安装的SDK路径代替,X: 是你的CUDAtoolkit安装盘符。 这样分别在这三个目录里面的.h文件定义的函数和类型VAssistX会帮我们在编辑文件时候实现高亮和完成代码。 如果少包含一个路径,这个目录里的.h定义的函数和类型就不会高亮和提示了。 b)让VisualAssistX支持.cu文件,也就让VisualAssistX帮我们实现.cu文件高亮和代码完成功能,需要编辑注册表。 首先关闭VS2010,点击开始菜单输入regedit打开注册表,找到如下位置: HKEY_CURRENT_USER\Software\WholeTomato\VisualAssistX\VANet10。 在右边找到ExtSource项目,鼠标右键选修改,在原有文字后添加如下文字: .cu;.cuh;确定后 关闭注册表,重新打开vs2010,VisualAssistX开始支持.cu及.cuh文件的语法高亮及代码完成。 此时.cu文件的CUDA函数是高亮的,使用函数名符号就会自动提示函数全称,参数类型等信息了。 经过上面的安装,开发程序应该没问题了,但会发现有如下的问题: 1.VS2010显示.cu文件时,有很多CUDA函数下有波浪线 2.在.cu文件里使用VS2010的“Gotodefinition”功能查无法找到CUDA函数的定义。 这两个问题的原因是VS2010不认识这些函数,没有指定它们在那个头文件里包含的。 解决方法其实是一样的,把CUDAtookit和CUDASDK的头文件路径加到VS2010的VC++目录里面。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CUDA40 VS