XP(win7也可参考)下 vs2008 +cuda4.0配置

 

原文地址:http://cudabbs.it168.com/thread-2797-1-1.html  

 以下是原文,本人是在win7+cuda(工具版本为4.1)的条件下经测试还有些需要改,即原文中红色部分标注

 

原文:

在前人的基础上,我今天安装了cuda4.0,总结一下。

首先下载三个软件:

devdriver_4.0_winxp_32_270.81_general.exe,cudatoolkit_4.0.17_win_32.msi,gpucomputingsdk_4.0.19_win_32.exe

再下载 VAssistX破解版(正式版非免费)

1.顺序安装driver,toolkit和sdk,我采用的都不是默认路径,方便以后查阅,sdk安装目录为E:\Program Files\NVIDIA GPU Computing SDK 4.0。Toolkit本来想安装在E盘DEE ,结果发现只能安装在C盘C:\Program Files\NVIDIA GPU Computing Toolkit,因为没有选择路径这一项。

2.编译sdk中的例子,验证cuda是否能正常使用,注意cuda工程中有*.sln文件(支持2005,2008,2010的都有),打开看看,发现其实和makefile的效果一致的,而且其格式和XML的格式有点相似,都是采用节的格式,其中包含了路径设置,sln中的路径设置都是相对路径而非绝对路径。sln目的是执行工程相关的编译命令(有两种方式release和debug),方便。还有,每个工程中有自己的sln文件,同时在src目录下还有所有例子的sln,这样可以一次都编译所有的例子。对了,注意的是,后面在运行cuda程序的时候有可能出现找不到库的情况,那是因为你没有对相应的源码进行编译,所以也可以有针对性的分别编译。必须编译的有:C\common中的src,这个是用来产生cutil的相关库的:cutil32.lib,cutil32.dll,cutil32D.dll,cutil32D.lib(D就是用debug编译的)。Shared中的src也要编译,这个是用来生成shrUtils32.lib的。

3.Parallel Nsight是仅支持win7和vista的,不支持XP的,我的是XP,暂时不用了,过段时间重装系统再装吧。

4. 有三种方法创建cuda工程。接下来就是创建cuda工程了,最简单的办法是使用C\src中提供的模板,很方便的。

    (1).首先将原有文件名替换为自己想要的工程名字,其次,sln中的工程名也要替换,最后属性设置中Linker->general右边的outfile路径中的可执行程序名字当然也要改成自己的工程名字了。注意的是使用模板必须在C\src中编译(上面说过了,sln中的路径是相对路径),这样只要移除源文件,再add自己的源文件就可以了,方便,建议使用这一种。

   (2).可以放在任何路径下,在(1)中的基础上,首先修改sln中的路径可以使用新的相对路径最好是改成绝对路径;其次,将属性中涉及到相对路径的设置要改成新的相对路径或绝对路径。

   (3).自己创建cuda工程,创建一个console的空工程,右击工程名,选择custom Build Rules…,选择CUDA Runtime API Build Rule。在Tools->Options->Projects and Solutions->VC++ Directories  在Show directories for 中选择Include files 增添include文件:sdk中common/inc和share/inc; toolkit中cuda/include三个头文件 ;选择Libraries files添加库文件:sdk中的common\lib\Win32和share/lib/win32,还要加上NVIDIA GPU Computing Toolkit中\CUDA\v4.1\lib\win32(否则工程会找不到cudart.lib);toolkit中的cuda/lib。然后以后就可以只在新建的工程属性中设置一个:Linker->Input->Additional Dependencies中增添cudart.lib cutil32.lib(这里应改成cutil32D.lib)即可。(以后用到其它的库也得加进去)(后面才发现其实这些配置完全可以参考src中的例子的设置即可,只要将例子中的相对路径的设置改成绝对路径就可以了。还有啊,在tools中的设置是对所有工程有效的,也可以单独对某个工程的属性设置)

5.     安装VAssistX,由于是破解版的,下载了三个版本的最终才装上了,更奇怪的是我花了一下午的时间找方法设置,重启vs很多次就是不生效,吃晚饭回来,结果生效了,真是奇怪了。配置过程如下:首先关闭VS2008,使用regedit打开注册表,找到如下位置:HKEY_CURRENT_USER\Software\Whole Tomato\Visual Assist X\VANet9

在右边找到ExtSource项目,鼠标右键选修改,添加:.cu;.cuh; 关闭注册表。

打开VS,点击VAssistX->Visual Assist X Options ……,然后就是Projects->C/C++ Directories,左边Platform中选Custom,右边“show Directories for”中选:“Other include files”,然后开始依次添加头文件路径:Sdk中的\c\common\inc;sdk中的\shared\inc;Toolkit中的CUDA\v4.0\include。其实这三个文件夹里面全是头文件,包含着函数的定义,之所以在VAssistX里加载这些目录,是为了让VAssistX识别此目录下的所有头文件内所包含的函数,(注意:如果是自己头文件的函数想让VAssistX识别,也可以采用如此的方式),这样,这些文件中的函数就可以高亮显示了,还可以方便找到函数的定义,还能智能提示,方便多了;如果不生效的话就在Tools->Options->Projects and Solutions->VC++ Directories中加入头文件;还不行的话就在 view->other windows->propety manager对话框中点击工程,下拉列表中有Debug|win32 Release|win32 ,选中其中任何一个点击弹出属性对话框,点击工程名字,下拉列表中有“microsoft .Cpp.Win32.user" ,双击弹出“microsoft .Cpp.Win32.user”对话框,找到VC++目录选项, 在右边的“包含目录”选项里,单击鼠标,选编辑,加入所需要的头文件就可以了。

 

 

         本人特别补充一点,如果你的电脑事先装有openGL开发库,有一个gl文件夹放头文件。但是在安装好nviDIA computing SDK之后,在NVIDIA GPU Computing SDK 4.0\shared\inc\文件夹里也会有一个gl文件夹,他也是包含了opengl开发库的各种头文件,但是要保证你之前的opengl程序正确运行,就要把这个gl文件夹改成别的名字,否则你的opengl程序包含的头文件会优先包含后者(NVIDIA GPU Computing SDK 4.0\shared\inc\gl\)的头文件,程序运行时glu库的函数会有不可理喻和解决的报错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值