CUDA学习中的新手问题 (转)

 CUDA学习中的新手问题
2010/03/05 15:01

毕业设计要做基于GPU的并行运算之类的东东,所以最近在学CUDA啦,昨天开始安那些乱七八糟的东东,敲示例程序,折腾到现在,终于可以运行了。VS对CUDA的支持还是不够啊,编个程序要改环境变量还要加这个加那个,而且没有像Java一样被验证的完全好用的方法,真累人。现在小幻来总结下。

先说CUDA的安装与配置

1.http://developer.nvidia.com/object/cuda_2_3_downloads.html选择相应的操作系统,下载最新的CUDA driver、CUDA toolkit 、CUDA SDK code samples。按照这个顺序装好这些东东,期间它会自己添加一些环境变量,默认路径可以改变。

这里要说的是,如果之前已经安装了低版本的CUDA环境,要先卸掉,才能安最新的。还有,小幻试过,专用的CUDA driver小幻装的时候,程序提示找不到相关驱动,这里只要我们的显卡支持CUDA,用标准的显卡驱动就可以了。小幻的显卡是8400M GS,计算能力1.1,更新驱动到最新版本,就OK了。

安装的时候,在安装流程的最后会提示是否要安一个Wizard,这是建立工程的向导,小幻安环境的时候有提示,但是当时没有安,后来才自己下了一个安好,走了很多弯路。所以还是建议大家在一开始就安好,后面会用到的。刚开始没有安的童靴们,这里给一个地址大家。

http://sourceforge.net/projects/cudavswizard/

有32位的,有64位的,大家请根据自己的情况选择。另外,本文中提到所有状况都是在Win7环境下,VS2008开发环境中的状况,适合Windows XP以及其他后续Windows版本,但是不一定适用其他系统。CUDA现下支持的系统还有Linux以及Mac OS X,这里不多说了。

2.接下来,我们可以编译SDK里的例子,~\projects\deviceQuery检验CUDA环境有没有安装成功。顺便提下,CUDA目前支持VS6.0、VS2003,VS2005、VS2008等IDE开发环境。

3.然后我们就可以建立自己的CUDA程序啦~CUDA SDK提供了很多sample,其中最基本的是template,我们可以以它为模板来建立自己的程序。把文件拷到自己的开发目录下,然后再修改编译执行。当然,我们也可以改其他我们认为合适的sample。

另一种方法比较容易被接受,就是用向导建立工程的好处就是,不用自己去改那么多的变量,可以专心在程序上。但是即使如此,也会有小小的问题。小幻遇到有以下几点:

a,新建一个console 应用,运行报错:error PRJ0003:Error spawning 'cmd.exe'
搜了下解决方法:
tools=> Options => Projects and Solutions -> VC++ Directories page

then place below rows:

$(SystemRoot)\System32
$(SystemRoot)
$(SystemRoot)\System32\wbem
好了。

b,LINK : fatal error LNK1181: cannot open input file 'cutil32D.lib',会出现这个问题,师姐说是因为例子中设了很多绝对路径,直接那么拷过来就会出错。

编译通过但调试时说找不到cutil32D.dll文件。小幻的解决方法:这个dll文件在CUDA SDK的C\bin\win32\Debug文件夹下,找到它,然后复制到CUDA\bin文件夹下就搞定了。

c,刚开始用向导建立工程的时候,小幻默认选了建立带预编译的工程,后来报错说缺少'#include stdafx.h',要手动填进去。用预编译可以缩短时间,这在做MFC程序时效率很高,但是对于我们新手来说好像没什么必要,我们还只是在学习阶段,也不会用到Windows的那些头文件,所以小幻建议大家在最开始建立工程时,选择空工程,系统不会多添代码进去,也就没那么多奇怪的错误啦。

高亮显示:

用惯VS的童靴们也许产生疑问,怎么.cu文件的文本都是一个颜色呢,而不是像以前写C/C++程序的时候,保留字啊之类的东东都会用别的颜色标出来。小幻来教你怎么高亮显示。

CUDA SDK\doc\syntax_highlighting文件夹下有visual_studio7和visual_studio8两个目录,分别包含用于VS.NET/7和VS.NET2005/VS8高亮显示的相关文件与说明。对于VS2005跟VS2008,用8那个版本。里面有个readme的txt文件,跟着它做就OK了。

Want pretty syntax highlighting when editing your .cu files in Visual Studio?
Heres how:

---
Visual Studio .Net 2005 / Visual Studio 8:

1. If you don't have a usertype.dat file in your "Microsoft Visual Studio 8\Common7\IDE" folder, then copy the included usertype.dat file there. If you do, append the contents of the included usertype.dat onto the end of the "Microsoft Visual Studio 8\Common7\IDE\usertype.dat"

//打开的安装目录下除了read.txt之外,还有usertype.dat文件,将这个文件拷贝到Microsoft Visual Studio 8\Common7\IDE目录下。(如果已经存在,就追加到原来的后面)

2. Start Visual Studio 8. Select the menu "Tools->Options...". Open "Text Editor" in the tree view on the left, and click on "File Extension". Type cu in the "Extension" box, and click "Add". Click "OK" on the dialog box.

//启动vs2005,选择“工具”菜单中的“选项”,选择“文本编辑器”中的“文件扩展名”,在右边的“扩展名”对应的栏里输入“cu”,单击“确定”。

3. Restart Visual Studio and your shaders should now have syntax highlighting.

//重启VS。然后就可以高亮显示啦~~~

看到网上有些人说还要改注册表,根本不用的。

规则添加

1.在NVIDIA CUDA SDK\common目录下找到cuda.rules

2.打开VS环境,单击Tools→Options→Projects and Solutions→VC++Project Settings,在C/C++ File Extensions里添加*.cu,在Extensions To Include里添加*.cuh,在Rule File Search Paths里添加~NVIDIA CUDA SDK\common,即cuda.rules文件所在目录。

3.重启VS。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章