设为首页 收藏本站
查看: 940|回复: 0

CUDA4.0 + VS2010 + Win7 64 + VAssistX 安装经验 [转]

[复制链接]

尚未签到

发表于 2015-5-15 08:58:05 | 显示全部楼层 |阅读模式
  参考了很多网上的教程,自己摸索的几天CUDA4.0安装完毕。
再次感谢前辈的各种教程,现把我的安装方法提供出来,给还在探索的新手参考一下。
  我的环境:Win7 64旗舰 ,GTX580 + ATI5450,使用双显卡为了单机调试,使用ATI卡为了防止搞不清楚程序在那个卡上跑CUDA。
  要安装的是:CUDA 4.0 64位 + VS2010旗舰
  基本安装:
  1. 显卡驱动,ATI装公版驱动,显示器在此卡上连接,GTX580不连接显示器。
  N卡驱动,装270.81版,这是CUDA4.0要求的版本,初次安装为了少出错,最好安装指定版本驱动。
  [注:参见 解决NVIDIA显卡驱动“没有找到兼容的图形硬件”的问题 ]
  
2. VS2010, VS2010sp1 慢慢装吧,耐心等待。    
  
3. VassistX 这个可以以后装也行。
  
  4. cuda tool kit 4.0和 cuda tools 4.0依次安装,比较块。
  
  5. cuda sdk 4.0这个安装要说明一下,建议不要按缺省路径安装,否则文件不好查找。
  我一般指定到如下格式路径:D:\CUDASDK_40_win64 安装到D盘,40表示4.0,win64位版,这样比较容易找到sdk。
  下面把文字里这个路径用字符串 “SDK_PATH"表示。
    
6. 工具库生成:
  现在VS可以打开Cuda SDK的例子试试了,不过在这之前有两个工具库最好先生成一下。
  a.使用VS2010打开SDK_PATH \ c\common\cutil vs2010.sln
  VS2010 选“生成->批生成”,全选,生成所有配置需要的lib.
  目的:生成各配置需要的cutilxx[D].lib XX:32 /64 [D]debug模式  
  lib存放的位置:SDK_PATH \ c\common\lib\(win32|X64)
  b.同上方法,打开SDK_PATH\share\ shrUtils_vs2010.sln 选“批生成”
  目的:生成各配置需要的shrUtilxx.lib XX:32 /64 [D]debug模式  
  lib存放的位置:SDK_PATH\share\lib\(Win32|x64)
  注:这个项目编译时会提示有两个.cpp找不到,直接把他们从项目里移去即可。因为同名的.h文件里已经有完整代码了。
  7.测试例子:VS2010 打开SDK例子:deviceQuery, matrixMul各种配置均可编译执行成功, CUDA的基本配置就完了。
  
8. 开自己的CUDA项目:
  CUDA项目的配置比较麻烦,最好是在原有的例子项目基础上修改。CUDA SDK 的例子SDK_PATH C\src\template就是给用
  户提供的开发模板,可以把该项目在src目录下复制一份,再改成你需要的项目名字即可。一定还要放在src目录里,因为
  项目里的include和lib目录使用了相对路径。不放到src目录,编译时会打不开头文件。所以,为了使用方面cuda sdk最好
  不要使用默认安装路径,否则查找src目录麻烦。
  现在CUDA4.0的基本配置已经完了,下一步是语法高亮,配置VassistX 函数高亮,代码提示等功能。没时间了,下午再贴。
  下面是关于代码高亮的设置。共三个设置
  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_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的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的\c\common\inc
SDK_PATH的\shared\inc
X:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include
再次强调:这里SDK_PATH要用你安装的SDK路径代替,X:是你的CUDA toolkit安装盘符。
  
这样分别在这三个目录里面的.h文件定义的函数和类型VAssistX会帮我们在编辑文件时候实现高亮和完成代码
如果少包含一个路径,这个目录里的.h定义的函数和类型就不会高亮和提示了。
  b)让VAssistX支持.cu文件,也就是编辑.cu文件是VAssistX帮我们实现高亮和代码完成功能。这个需要编辑注册表了。
首先关闭VS2010,使用regedit打开注册表,找到如下位置:
  HKEY_CURRENT_USER\Software\Whole Tomato\Visual Assist X\VANet10
在右边找到ExtSource项目,鼠标右键选修改,在原有文字后添加如下文字:.cu;.cuh; 确定后
关闭注册表,重新打开vs2010,VAssistX开始支持.cu及.cuh文件的语法高亮及代码完成。
此时.cu文件了的CUDA函数是高亮的,使用函数名符号就会自动提示函数全称,参数类型等信息了。
  
1. VS2010显示.cu文件时,有很多CUDA函数下有波浪线的问题
2. 在.cu文件里使用VS2010的“转到定义”功能查无法找到CUDA函数的定义
--------------------------------
这两个问题的解决方法其实是一样的,原因是VS2010不认识这些函数,不指定它们在那个头文件里包含的,
解决的方法很简单,把CUDA tookit 和CUDA SDK的头文件路径加到VS2010的VC++目录里面。
  在VS2008里面使用工具->选项对话框里面可以设置,但是VS2010的这个对话框里显示“工具">"选项"中的VC++目标编辑功能已被否决。  
  经过网上搜索发现此工作已经变成了项目属性里的选项。
修改方法是:使用”视图”->其它窗口->属性窗口,打开属性管理器视图。
属性管理器显示是项目所有的配置信息:如Debug|win32 Debug|X64,Release|32 Relase|x64 ,对32位和64位配置需要单独,同一平台的
  Debug和Relase只要修改一个就形了,如修改了Debug|Win32 ,则Release|win32就无需修改了。
  具体方法,假设修改Debug|win32,鼠标点击展开Debug|win32项目,可以看到第一个子项目是“microsoft .Cpp.Win32.user" ,双击该项目
  ,出现“microsoft .Cpp.Win32.user”对话框,
对话框里面有VC++目录选项, 在右边的“包含目录”选项里,单击鼠标,选编辑,添加CUDA toolkit 的include目录,CUDA SDK目录下的
  \C\common\inc 和 \share\inc 目录信息,这三个目录也就是添加到VAssistX里的头文件目录,目的是让VC2010知道这些头文件里定义的函
  数,重启VS2010,打开CUDA工程
VS2010就不会在CUDA函数下显示红色波浪线了,而且可以使用“转到定义”,“转到声明”功能定位到CUDA函数和类型定义的文件。
  最后一个小问题:经过如上的设置,基本上不会再有波浪线出现,个别符号例外,有波浪线也可以转到定义。
但是发现一些小问题,如sdk例子template项目和MatrixMul项目,打开后发现在xxxx_kernel.cu里定义的函数,在其它.cu里还是有波浪线
  ,也不能使用“转到定义”功能,如matrixMul.cu里无法查找在matrixMul_kernel.cu里定义的函数matrixMul() ,查看matrixMul.cu文件发
  现该文件采用如下形式包含matrixMul_kernel.cu文件:include   
这是告诉VS2010要到VS2010系统定义的include目录里面查找包含文件,实际上该文件是在当前项目的目录里。CUDA的编译器可以找到该文
  件(有点怪),VS2010找不到该文件,该文件里定义的函数VS2010也不认识,解决方法很简单,改成include“matrixMul_kernel.cu“,这
  样CDUA编译器能找到该文件,VS也能找到该文件,该文件里定义的函数就不会有下划线了,可以使用“转到定义”,“转到声明”,“查找
  引用”功能定位到了。
  
  转者注:
  NVIDIA针对VS开发环境开发了一个插件叫做NVIDIA® Parallel Nsight™,  ,当前版本为2.0。支持的平台为VS2008以及VS2010,对应的CUDA版本可以为CUDA3.2或者CUDA4.0。该插件能够很好的兼容VS 开发环境,安装后可以新建cuda工程,也能够添加新的cu以及cuh文件,同时还有调试等等的功能。
  
  [转自] http://hi.baidu.com/narvy_sky/blog/item/96ed188d6c7e38f4f01f361f.html
  [另:有图版,但前面安装部分有点错误] http://blog.iyunv.com/fandebin/article/details/7043715

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-67074-1-1.html 上篇帖子: WIN7 Net Configuration Assistant打不开 下篇帖子: 如何在Vista/Win7上面装Sharepoint 3.0 SP1
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表