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

tst1255 2011-06-15 12:17:04
参考了很多网上的教程,自己摸索的几天CUDA4.0安装完毕。
再次感谢前辈的各种教程,现把我的安装方法提供出来,给还在探索的新手参考一下。

我的环境:Win7 64旗舰 ,GTX580 + ATI5450,使用双显卡为了单机调试,使用ATI卡为了防止搞不清楚程序在那个卡上跑CUDA。

要安装的是:CUDA 4.0 64位 + VS2010旗舰

基本安装:

1. 显卡驱动,ATI装公版驱动,显示器在此卡上连接,GTX580不连接显示器。
N卡驱动,装270.81版,这是CUDA4.0要求的版本,初次安装为了少出错,最好安装指定版本驱动。

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 函数高亮,代码提示等功能。没时间了,下午再贴。
...全文
8698 49 打赏 收藏 转发到动态 举报
写回复
用AI写文章
49 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxalice 2012-09-24
  • 打赏
  • 举报
回复
想问楼主,在解决函数下有波浪线的问题里点进去属性窗口怎么和你描述的不一样。。。
lindajia 2012-09-18
  • 打赏
  • 举报
回复
[Quote=引用 47 楼 的回复:]

引用 46 楼 的回复:

前面几步按照楼主的方法都成功了,但到第7步时出现了问题
测试例子:VS2010 打开SDK例子:deviceQuery, 可编译成功, but 执行时显示,
no CUDA-capabale device is detected,这个问题怎么解决啊,痛苦纠结中!


你确定你PC有cuda enabled GPU?
[/Quote]是的,我的显卡是QUDRO FX580,用系统原来的驱动显示的是:CUDA driver version is sufficient for CUDA runtime version,更新了最新的驱动后就变成了“no CUDA-capabale device is detected”。BTW,另外一块显卡,geforce 405由于是刚买不久,所以用它本身的驱动没有问题,但如果更新驱动也出现“no CUDA-capabale device is detected”。感觉Nvidia的GPU卡不能更新驱动,只能用他们自带的驱动。
xiah_sunny 2012-09-17
  • 打赏
  • 举报
回复
[Quote=引用 46 楼 的回复:]

前面几步按照楼主的方法都成功了,但到第7步时出现了问题
测试例子:VS2010 打开SDK例子:deviceQuery, 可编译成功, but 执行时显示,
no CUDA-capabale device is detected,这个问题怎么解决啊,痛苦纠结中!
[/Quote]

你确定你PC有cuda enabled GPU?
lindajia 2012-09-14
  • 打赏
  • 举报
回复
前面几步按照楼主的方法都成功了,但到第7步时出现了问题
测试例子:VS2010 打开SDK例子:deviceQuery, 可编译成功, but 执行时显示,
no CUDA-capabale device is detected,这个问题怎么解决啊,痛苦纠结中!
xiah_sunny 2012-09-12
  • 打赏
  • 举报
回复
mark一下,楼主大牛~
tity 2012-06-04
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 的回复:]

vs2008的设置方法和vs2010不一样,vs2008到“工具">"选项"中的VC++目录里去设置。

vs2010:
第1步:使用”视图”->其它窗口->属性窗口,打开属性管理器视图。

属性管理器显示是项目所有的配置信息:如Debug|win32 Debug|X64,Release|32 Relase|x64 ,对32位和64位配置需要单独,同一平台的Debug和Relase只要……
[/Quote]
楼主,我还是没找到“microsoft .Cpp.Win32.user”,能不能截张图说明下?
wqlcd 2011-12-06
  • 打赏
  • 举报
回复
谢谢分享~~~~~~~~~~~~~~~
alpha.5 2011-11-21
  • 打赏
  • 举报
回复
LZ很强大..
dianwei_wang 2011-11-17
  • 打赏
  • 举报
回复
这个帖子对于很多新手都非常有意义,因此顶多少次都不为过!
dianwei_wang 2011-11-11
  • 打赏
  • 举报
回复
感觉现在的CUDA的编程环境很复杂,不要用,因此想要大范围的普及还是需要时日的。
hdnaysw 2011-11-09
  • 打赏
  • 举报
回复
追加问题:
楼主,我的Parell night没有按你说的安装,我就是取消了3.2就直接装了,装好后直接新建项目,运行其中自带的Kernel.cu,没有问题,会不会我之前的问题跟Parell night未像你说的那样测试有关!
hdnaysw 2011-11-09
  • 打赏
  • 举报
回复
楼主:
您好!
我于2011年10月底接触CUDA,我按照您上面所述的方法,成功的在我的笔记本中搭建起了32位的CUDA运行环境,本人的笔记本显卡是GT320M,本身支持CUDA运算。我按照您的方法搭建好平台之后,对于SDK库中的示例函数运行都没有问题,函数等也全部高亮,在加上Parell night后可以正常的新建CUDA项目,但随之问题来了,我在用Parell night新建后的项目上直接注释掉原有的Kernel.cu文件,重新添加两个.cu文件,一个是example.cu,一个是example_kernel.cu文件,里面的代码都是书上常见的入门级程序,但运行后语法没有错误,但是出现以下几个错误:
1. template_kernel.cu.obj : error LNK2005: "void __cdecl__device_stub__Z10testKernelPfS_(float *,float *)" (?__device_stub__Z10testKernelPfS_@@YAXPAM0@Z) 已经在 template.cu.obj 中定义。
2.template_kernel.cu.obj : error LNK2005: "void __cdecl testKernel(float *,float *)" (?testKernel@@YAXPAM0@Z) 已经在 template.cu.obj 中定义。
3.template.cu.obj : error LNK2019: 无法解析的外部符号 __imp__cutCheckCmdLineFlag@12,该符号在函数 _main 中被引用。
4.template.cu.obj : error LNK2019: 无法解析的外部符号 __imp__cutGetCmdLineArgumenti@16,该符号在函数 "void __cdecl runTest(int,char * *)" (?runTest@@YAXHPAPAD@Z) 中被引用。
5.D:\!GPUproject\cudatest001\Debug\cudatest001.exe : fatal error LNK1120: 2 个无法解析的外部命令。
针对上述问题,我曾今上网搜索过相应的解决办法,但试过都没用,网上大多都说是要添加culib.dll之类的说法,但我的都有了,而且即使添加了,依然不行,另外我用VS2010生成的项目我是指定在D盘的文件夹下,没有用它的默认项目存储路径,而且我试过即使直接生成项目在默认路径下,好像还是没用。
另外,对于CUDA SDK4.0库中的示例程序,我一旦将他们复制到别的文件夹,立即就不能正确运行,我上面提到的问题会不会跟这个有关,请您不吝赐教如果可以的话加我QQ:632918328!
多谢!
bqhrz 2011-11-06
  • 打赏
  • 举报
回复
请问cudaMalloc等函数怎么高亮显示?
zhengppeng 2011-11-03
  • 打赏
  • 举报
回复
很有用的内容 mark一下
shienaiwun 2011-10-22
  • 打赏
  • 举报
回复
超级有用的
dianwei_wang 2011-10-17
  • 打赏
  • 举报
回复
我用的是VS2008,不知道上面的方法能不能用?
无侈之途 2011-10-12
  • 打赏
  • 举报
回复
请问楼主 如果要计算双精度 要怎么设置 我现在只能算单精度 显卡是GTX 570
ahnselina 2011-10-05
  • 打赏
  • 举报
回复
新手来学习学习
chenpan1988 2011-08-22
  • 打赏
  • 举报
回复
右键 转到定义不行, 右上角的GO 和快捷键都行。 不影响使用 但还是觉得挺奇怪的
[Quote=引用 28 楼 chenpan1988 的回复:]
我在vs2008的 工具>选项>项目和解决方案 中的VC++目录里面 设置好包含目录之后 还是不能转到定义啊 怎么回事?
include“matrixMul_kernel.cu” 改成引号之后 那里面定义的函数 在别的cu文件中 转到定义也查找不到。。。
求问 大神
[/Quote]
chenpan1988 2011-08-22
  • 打赏
  • 举报
回复
我在vs2008的 工具>选项>项目和解决方案 中的VC++目录里面 设置好包含目录之后 还是不能转到定义啊 怎么回事?
include“matrixMul_kernel.cu” 改成引号之后 那里面定义的函数 在别的cu文件中 转到定义也查找不到。。。
求问 大神
加载更多回复(27)

580

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧