2024年1月7日发(作者:)
CUDA 6.5 安装及配置( WIN7 32位 / 英伟达G卡 / VS2010 )
V1.0迷若烟雨 2014年9月23日
前言
本文讲解如何在VS 2010开发平台中搭建CUDA开发环境,并高亮函数及实现输入智能提示。
当前配置:
系统:WIN7 32位
开发平台:VS 2010
显卡:英伟达GT330M卡,1G显存
CUDA版本:6.5
若配置不一样,请自行更改。
安装的基本过程是:
1. 装VS2010
2. 先装assist x
3. 然后装tookit6.5
4. 然后装sdk 2.3
5. .然后复制到...(解决CU文件关键字高亮问题)
6. 然后再ASSIST X中添加包含路径以及那个UNDERLINE(解决红色波浪线问题)
本文假定大家已经安装好了VS2010以及assist x,这个网上有大把的教程。比如说: /jasonleesjtu/article/details/12993227
第一步
安装之前必须确认自己电脑的GPU支持CUDA。在设备管理器中找到显示适配器(Display
adapters),找到自己电脑的显卡型号,如果包含在/object/cuda_的列表中,说明支持CUDA。
点击这里下载 cuda最新版,目前最高版本是6.5。下载完毕后得到 cuda_6.5.14_windows_notebook_文件。
第二步
运行安装程序,弹出安装过程中转文件路径设定框:
这个路径随便填无所谓,安装完后就会自动删除的,我就直接设置为默认的。
第三步
等待系统帮你检测当前平台是否适合搭建CUDA:
第四步
检测完毕后,正式进入CUDA安装界面:
同意并继续
第五步
然后选择安装模式:
为了完全安装所有功能,选择自定义模式安装。
第六步
接下来勾选要安装的组件:
全部勾上
第七步
接下来要设置三个安装路径:
这三个路径安装的是什么在日后的文章中将会解释,目前先不理会,直接安装到默认路径。点击下一步之后开始正式安装。
第八步
安装完毕后,可以看到系统中多了CUDA_PATH和CUDA_PATH_V6_0两个环境变量,接下来,还要在系统中添加以下几个环境变量:
CUDA_SDK_PATH = C:ProgramDataNVIDIA CorporationCUDA Samplesv6.0
CUDA_LIB_PATH = %CUDA_PATH%libx64
CUDA_BIN_PATH = %CUDA_PATH%bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%binx64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%commonlibx64
然后,在系统变量 PATH 的末尾添加:
;%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;
第九步
重新启动计算机以使环境变量生效
第十步
开始菜单->
NVIDIA Corporation->CUDA Samples->6.5->Browse CUDA Samples,左键,打开示例代码的位置:
默认安装的话应该是在下图所示的位置:
打开VS2010的上图所示的工程,编译,这个花的时间有点长,大约1个多小时吧,最后还有16个编译不过(因为没装Dx3D,不过这并不影响我们后来的工作)。生成的文件在bin文件夹下,进入Win32->Debug把中间文件清理掉,然后返回上一集目录,按住Ctrl键的同时右键,选择在此处打开命令窗口,然后切入到Debug文件夹,把如下图所示的拖
入到控制台上运行,
结果如下,这上面显示了你显卡相关的信息,特别注意的是红色框内的数字,代表了你的计算能力。一定要记好,后米我们会用到。
第十一步
打开VS2010并建立一个CUDA 6.5 RunTime项目:
它会帮你生成一系列的文件,并做好相应的配置,免去了之前的方法中繁琐的步骤,所以强烈推荐选用这个方法(当然,如果你不嫌麻烦的话也可以试下)。
生成的工程布局如下所示:
编译,运行,结果不怎么乐观:
原因在哪儿呢?我们在上右键,
选择属性,切换到CUDA C++->Device,可以看到默认的是20的计算能力,而由于之前我们可以看到我们的显卡的计算能力是1.2,因此计算能力不匹配,所以我们要改为12 (这个要根据你自己的配置改,不用我教吧)
改完后的示例:
编译运行,哈哈,结果出来了:
原来示例是矩阵加法的运算啊。
不知道有没有注意到上面的图中,我的工程里函数名石油高亮的,这样能大大加快我们的开发速度,因此有必要给大家讲下怎么配置
第十二步
不过这之前我们最好先装上SDK,目前SDK的最新版是2.3
第十三步
下面是关于代码高亮的设置。共三个设置
1. .cu文件高亮
这个设置是让VS2010编辑.cu文件时,把.cu文件里的C/C++语法高亮。
设置方法: 在VS2010的菜单 依次点击:工具->选项->文本编辑器->文件扩展名 ,在这个界面里: “编辑器(I)”下拉框选microsoft visual ++,在“扩展名”文本框输入.cu 点击“添加”按钮 ,重复工作把.cuh 添加为vc++类型,点击确定按钮。 把全部.cu文件关闭,再打开,.cu文件C++关键字就高亮了。如果不行就重新VS2010。
但是CUDA的关键字还是黑色的,下一步把CUDA关键自高亮显示
2. CUDA关键字高亮
为了让CUDA的关键字,象 __device__、dim3之类的文字高亮,需要如下步骤:
把SDK_PATHCdocsyntax_ 复制到X:Program Files
(X86)Microsoft Visual Studio 10.0Common7IDE 目录下 ,这里 X:是安装VS2010盘符,这是win7 64位下的路径。
注意:win7 64系统不要复制到这个目录里,复制到这里是不会CUDA关键字高亮的:
X:Program Files Microsoft Visual Studio 10.0Common7IDE
(如果你的win7是32位的,可能正好是上面这个目录,应该会高亮的,这可能是win7 64位和32位的差别吧)
再次强调:SDK_PATH要换成你安装SDK的实际路径,不要直接使用这个字符串。
VS2010需要重启,重启后打开.cu文件,CUDA的关键自应该变成蓝色了。
3. CUDA 函数高亮,及CUDA函数输入代码提示
实现这个功能就要使用VAssistX了。 首先安装支持VS2010的VAssistX。这个可以在CUDA 安装前、后安装都行。
需要两步实现需要的功能:
a) 让VAssistX支持CUDA函数高亮和代码完成
这个在VAssistX的菜单里设置完成:在Vs2010菜单里依次点击:VassistX->Visual assist X
Options->Projects->C/C++Directories在这个界面的 “Platform”下拉框选 Custom,在“Show
Directories for..“下拉框选 Other include files,然后在下面的输入框里,新建、添加三个路径,
点击确定,三个路径分别如下
SDK_PATH的ccommoninc
SDK_PATH的sharedinc
X:Program FilesNVIDIA GPU Computing ToolkitCUDAv6.5include
再次强调:这里SDK_PATH要用你安装的SDK路径代替,X:是你的CUDA toolkit安装盘符。
这样分别在这三个目录里面的.h文件定义的函数和类型VAssistX会帮我们在编辑文件时候实现高亮和完成代码
如果少包含一个路径,这个目录里的.h定义的函数和类型就不会高亮和提示了。
b)让VAssistX支持.cu文件,也就是编辑.cu文件是VAssistX帮我们实现高亮和代码完成功能。这个需要编辑注册表了。
首先关闭VS2010,使用regedit打开注册表,找到如下位置:
HKEY_CURRENT_USERSoftwareWhole TomatoVisual Assist XVANet10
在右边找到ExtSource项目,鼠标右键选修改,在原有文字后添加如下文字:.cu;.cuh; 确定后
关闭注册表,重新打开vs2010,VAssistX开始支持.cu及.cuh文件的语法高亮及代码完成。
此时.cu文件了的CUDA函数是高亮的,使用函数名符号就会自动提示函数全称,参数类型等信息了。
但是红色波浪线也有可能是ASSIST X的UNDERLINE设置错误造成的,解决方法如下:
在VAssistX菜单栏->Visual Assist X Options->展开Advanced->Underlines->把underlines
spelling errors in comments and strings using的勾去掉就行
注意:修改注册表时,请把vs关闭,否则修改不成功。
参考文章:
1. /jayxujia123/article/details/12111941关于安装CUDA环境的一些总结(vs2010+cuda5.5)[32/64bit均有]
2.
/scut-fm/p/
CUDA 6.0 安装及配置( WIN7 64位 / 英伟达G卡 / VS2010 )
3.
/xing901022/archive/2013/08/09/手把手教你cuda5.5与VS2010的编译环境搭建,这儿就是前面所说的配置很繁琐的那个
4.
/topics/370015301 这个比较全,主要我参考了他的那个CU文件红色波浪线解决问题,写的比较详细。
5.
/post/2013-01-10/4 这个主要是参考了VC++的那个包含目录所要填写的内容问题
6.
./s/blog_ 这个主要是因为ASSISANT X 提供了那个设置图片,就是在那个地方加那个目录,不错,还有他提供了那个红色波浪线的另外一个设置问题。
7.
另外还有两篇,仅仅作参考,感觉意义不是很大,可以看一下,说的挺复杂
/jasonleesjtu/article/details/8454253 (这个有图,可以看一下)
/s/blog_


发布评论