欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

CUJ2K编译

程序员文章站 2022-05-20 07:58:41
...

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

8Visual 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.rulesC:\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