AMD APP SDK安装
官方提供的Installation Guide给出了Windows,Linux,OS-X的OpenCL安装配置。
此处按照自己的环境进行介绍。笔者的电脑比较老,配置为
i5 2450M的CPU,AMD Radeon HD 7400M的GPU
软件环境为Windows 7 64bit + VS2013
从AMD官方网站下载显卡驱动程序安装,再下载AMD APP SDK 3.0安装包(如找不到下载链接,可联系作者提供),安装的默认路径为:
C:\Program Files (x86)\AMD APP SDK\3.0
安装完毕后会自动生成环境变量(如果没有的话,自己在环境变量里新建即可)
AMDAPPSDKROOT = C:\Program Files (x86)\AMD APP SDK\3.0
在系统环境变量PATH
中添加
$(AMDAPPSDKROOT)\bin\x86_64
安装好AMDAPPSDK之后,打开cmd
,输入clinfo命令,将显示出支持OpenCL的硬件信息,如下图(只截取了部分)
VS2013工程配置
以下以一个例子说明VS2013环境下OpenCL的配置
- 新建解决方案,命名为cl_add
- 解决方案上右键点击属性,弹出属性页窗口。依次选择“C/C++” -> “常规” -> “附加包含目录” -> “编辑”,在弹出的界面中输入 C:\Program Files %28x86%29\AMD APP SDK\3.0\include (根据各自的SDK安装目录做相应修改),如下图所示
- 依次选择“链接器” -> “常规” -> “附加库目录” -> “编辑”,输入 C:\Program Files %28x86%29\AMD APP SDK\3.0\lib\x86 (x86还是x86_64与操作系统是32位还是64位无关,只有VS的编译器有关,32位编译器则选x86),如下图所示
- 依次选择“链接器” -> “输入” -> “附加依赖项” -> “编辑”,输入OpenCL.lib,如下图
通过以上4步即可完成VS2013下OpenCL环境的配置。可以将此时配置好的属性页保存下来,以后新建项目时在属性管理器中直接添加即可,以下保存下来的属性信息(OpenCL.props),为xml格式
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>C:\Program Files %28x86%29\AMD APP SDK\3.0\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>C:\Program Files %28x86%29\AMD APP SDK\3.0\lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>OpenCL.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>
此处提供一个测试代码,cl_add.cpp,主机端程序和内核程序放在了一起。如果环境配置没问题的话,加入新建工程即可运行,输入结果如下: