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