好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

CUJ2K编译

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

查看更多关于CUJ2K编译的详细内容...

  阅读:50次