VS2005 开发CUDA3.2 环境配置 VS2005 开发 CUDA 环境配置 下面记录的是在 VS2005 中开发 CUDA 应用程序的配置过程,使用的路径均为默认路径。 安装、配置步骤: 1 、安装 Visual Studio 2005 环境。 2 、安装开发助手 Visual Assist X 。 3 、安装 CUDA 的驱
VS2005开发CUDA3.2环境配置
VS2005开发CUDA环境配置
下面记录的是在VS2005中开发CUDA应用程序的配置过程,使用的路径均为默认路径。
安装、配置步骤:
1、安装Visual Studio 2005环境。
2、安装开发助手Visual Assist X。
3、安装CUDA的驱动、工具集、SDK。
可以从http://developer.nvidia.com/object/cuda_3_2_downloads.html免费下载。
4、语法高亮:
查看C:/Program Files/Microsoft Visual Studio 8/Common7/IDE目录是否存在usertype.dat文件。
如果没有存在则将C:/Program Files/NVIDIA GPU Computing SDK/doc/syntax_highlighting/visual_studio_8里面的usertype.dat文件拷贝到此目录;
如果已经存在则将C:/Program Files/NVIDIA GPU Computing SDK/doc/syntax_highlighting/visual_studio_8里面的usertype.dat的内容添加到C:/Program
Files/Microsoft Visual Studio 8/Common7/IDE/usertype.dat文件的尾部。
5、设置VS2005环境:
依次打开“工具|选项|项目和解决方案|VC++目录”,添加:
包含文件:C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v3.2/include
C:/Program Files/NVIDIA GPU Computing SDK/C/common/inc
库文件: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v3.2/lib/Win32
C:/Program Files/NVIDIA GPU Computing SDK/C/common/lib
源文件: C:/Program Files/NVIDIA GPU Computing SDK/C/common/src
依次打开“工具|选项|文本编辑器|文件扩展名”,在扩展名中添加“cu”,在编辑器中选择“Microsoft Visual C++”。
6、在VS2005中依次打开“工具|选项|项目和解决方案|VC++项目设置”里面的“C/C++文件扩展名”添加*.cu;
在规则搜索路径中C:/Program Files/NVIDIA GPU Computing SDK/C/common,指定Cuda.rules所在的路径。
7、在VS2005中新建工程,在工程名上鼠标右击,在弹出菜单中选择菜单项“自定义生成规则”,选择要添加的规则文件,
如:“CUDA Build rule v3.0.14”。
在工程中添加.cu文件,右键点击cu文件,在弹出菜单中依次选择“属性|配置属性|常规”,在“工具”的下拉列表中选择生成规则的名称,例如“CUDA
Build rule v3.0.14”,单击“确定”即可。
顺便说明一下,在下载文件中有一个“cudatoolkit_3.2_win_buildrules-patch.zip”,解压后其实是编译驱动级别的api及编译运行时api的规则文件,可以将它们拷贝到一个目录,
如上所示指定该目录即可编译驱动级别的api和编译运行时api。
8、Visual Assist X设置:
关闭已经所有打开的Visual studio,之后进入注册表编辑器,依次打开“HKEY_CURRENT_USER/Software/Whole
Tomato/Visual Assist X/VANet8”,找到右边的ExtSource项,将其值添加.cu;.cuh,之后关闭,再次打开VS2005即可。
至此,就已经可以打开SDK目录下的例子代码(如:C:/Program Files/NVIDIA GPU Computing SDK/C/src/vectorAdd/vectorAdd.sln)进行编译、调试了。
注明:
(1) 我安装的是CUDA4.2版本
(2) 运行C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.2\OpenCL中的例子没有问题,可以直接运行。运行CUDA例子出现Cuda.rules没有找到。需要将文件NvCudaDriverApi.rules从C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\extras\visual_studio_integration\rules拷贝到C:\Program Files (x86)\Microsoft Visual Studio 8\VC\VCProjectDefaults目录下。运行CUDA例子没有问题。
编译CUJ2K出现错误。
第0步是打开工程提示找不到Cuda.rules文件,需要将gpu_vc2005.vcproj文件用txt方式打开,将下面这段:
RelativePath="..\..\..\..\..\CUDA\common\Cuda.rules"
/>
改为:
FileName="NvCudaRuntimeApi.rules"
/>
第一步是缺少cutil32D.lib库,需要设置Lib库的路径,
工具—〉选项—〉项目和解决方案—〉VC++目录—〉库文件目录
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\lib\Win32
C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.2\C\common\lib\Win32
同时将配置属性—〉连接器—〉常规—〉附加库目录清空
第二步出现库文件冲突问题
1>LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用/NODEFAULTLIB:library
1>LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用/NODEFAULTLIB:library
于是打开项目属性,在“配置属性-->C/C++-->代码生成-->运行时库”中将“多线程(/MT)”修改为“多线程调试DLL(/MDd)”出现以下错误:
1> LINK : warning LNK4098: 默认库“MSVCRTD”与其他库的使用冲突;请使用/NODEFAULTLIB:library
静态库中使用配置属性-MFC,并将LIBCMT.lib设置为忽略特定库。
第三步出现找不到cutil32D.dll的错误,只需要将C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.2\C\common\lib\Win32文件夹下的cutil32D.dll拷贝到目录下cuj2k-src-1.1\src_encoder\Debug