`
阿尔萨斯
  • 浏览: 4174463 次
社区版块
存档分类
最新评论

AMD GPU+VS2010的OpenCL配置

 
阅读更多

安装开发环境可以参照DE4-530的OpenCL开发环境搭建(最终版),这篇文章的大部分内容转载自:http://www.verydemo.com/demo_c92_i226325.html

AMD的Heterogeneous Computing有很多AMD的OpenCL资料,包括各种分析工具,是个很不错的OpenCL学习站点。

因为该文章写的还不错,所以就偷懒直接转载过来了,当然还加了一些自己所遇到的问题解决方法。

首先你要装好催化剂显卡驱动。


安装AMD APP SDK

下载AMD APP SDK安装包,比如64的就叫AMD-APP-SDK-v2.4-Windows-64.exe,安装AMD APP SDK,如图1。

图1
安装完之后重新启动。

首先知道一下安装的位置,我这里按默认装在了 C:\Program Files (x86)\AMD APP\ ,如图2。

图2

系统安装的时候系统已经设置了一个环境变量AMDAPPSDKROOT来指示安装的位置,可以在cmd里查看,如图3。

图3

系统也已经把可执行路径加到了PATH里,这样就可以找到OpenCL的运行库。如图4。

图4


生成OpenCL工程

打开一个已有的OpenCL项目,或者新建一个项目。
如果新建项目,点击文件->新建,建立一个空项目。加入一个自己写的HellowCL之类的源码,如果没有,我这里写了一个初始化的小源码,诸位可以自行下载添加,结果如图5。OpenclConfig.cpp

图5
<wbr></wbr>

配置OpenCL工程

如果不进行配置的话,则会在“生成->生成解决方案”时,提示以下错误

“fatal error C1083:无法打开包括文件:“CL/cl.h”: No such file or directory”

所以,需要进行以下配置

因为安装包已经在系统的PATH路径里加入了动态链接库的路径,所以就没有必要再在VS里添加了,我们需要做的就是添加需要的包含目录和库目录,为了同时兼容32位和64位系统,需要对32位系统和64位系统差异对待。如果你只考虑单个平台下的配置,那么只需要以下内容中相应平台的配置即可。

64位独有的配置

由于默认的环境是Win32,我们在这里添加一个x64的平台支持,前提是你安装了64位的编译器,如果你不需要64位,那么往下看即可。直接进入“一. 通用配置”。

1. 左侧项目名右键->属性
2. 看到属性页窗口之后,点击右上方的配置管理器,
3. 在配置管理器中下拉,选择<新建>
4. 在键入或选择新平台中下拉,选择x64,确定
以上过程如图6。

图6

一、通用配置,32位和64位都得有的,打开项目属性页:
(1)左上角配置选所有配置,平台选所有平台
(2)C/C++->常规->附加包含目录添加$(AMDAPPSDKROOT)\include,如图7。

图7

(3)链接器->输入,附加依赖项里加入OpenCL.lib,如图8。

AMD<wbr>GPU+VS2010的OpenCL配置
图8

二、32位独有的配置,项目属性页中:
(1)左上角配置选所有配置,平台选Win32
(2)链接器->常规附加库目录,加入$(AMDAPPSDKROOT)\lib\x86,如图9。

图9

三、64位独有的配置,项目属性页中:
(1)左上角配置选所有配置,平台选x64
(2)链接器->常规附加库目录,加入$(AMDAPPSDKROOT)\lib\x86_64,如图10。

图10

以上配置完成之后即可编译运行,在上面给出的代码中,如果看到图11,说明编译运行成功。(由于程序不同,所以我的现象不是这样的,结果在后面的图中)

图11

如果32位和64位的都配置好了,可以在工具栏里选择Debug/Release,Win32/x64的任意组合进行编译。

望大家Coding愉快!

此时点击“生成 -> 生成解决方案”成功,不会有任何问题

<wbr></wbr>

调试OpenCL工程

点击绿色按钮(启动调试),此时出现如下信息:

“已加载“C:\Windows\System32\IPHLPAPI.DLL”,Cannot find or open the PDB file”

进入“调试 -> 选项和设置<wbr></wbr>-><wbr>调试</wbr><wbr></wbr>-><wbr>符号</wbr>”,把“Microsoft符号服务器”选中。如图12。

AMD<wbr>GPU+VS2010的OpenCL配置

图12
这个时候则基本能运行我们的程序。(虽然还有部分同样的信息,但是貌似不影响)

我所运行的程序是“AMD APP\samples\opencl\cl\app\HelloWorld”的程序(在安装AMD APP SDK后会有这样的实例文件夹),输出“HelloWorld”则表示运行成功,由于正常调试时输出显示窗口一晃而过,所以我在释放资源之前加了一个断点进行调试。其结果为图13。

AMD<wbr>GPU+VS2010的OpenCL配置

图13

至此,则将VS2010的OpenCL程序基本运行成功,可以进行下一步的学习!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics