您的位置:首页 > 运维架构

纪念OpenCL知识的补全。5月早都过…

2017-04-21 10:50 302 查看
对于“纯血统”有执念的我(拒绝Visual Studio!大误……)

一直致力于用开源平台(然而拒绝Code::Block,我果然没药救了嘛……)中的,额,据说非常难用的Dev-C++。
然而,情怀就是情怀!终于成功编译出梦寐以求的
x64 位 的 OpenCL程序,成功在Intel的CPU、Intel那颗集成GPU,还有AMD那张移动级显卡R9 M265X跑通了。
——————————————————————

| 编译器   : TDM-GCC
4.9.2
64-bit Release   
|
| I D
E     
: Dev-C++ 5.11           |
| 所用SDK: AMD APP SDK 3.0         |
——————————————————————
DeviceInfo展示了本计算机上的所有可用的运算器的信息(平台安装和配置部分见后面):




开始抱着试一试的心态,发觉不需要专门的编译器,用Dev-C++原配的TDM-GCC就可以。安装完AMD的SDK后,头文件和库文件都齐全了,只需要在Dev-C++内配置好链接和include目录就好。

整个环境搭建顺序为:
1、安装AMD显卡最新的驱动
2、安装AMD SDK
3、安装Dev-C++
4、配置Dev-C++
最后编译程序即可使用OpenCL

  SDK顾名思义——Software Development Kit,
即软件开发工具包。一般纯正的C++或C语言编译器,会把你写的代码,通过调用内部的库函数,转换为二进制码。而一些别人写的代码,要想使用起来,就得需要一些library文件和头文件了。一般SDK里面都会包含一些说明文档和library还有头文件。OpenCL有自己的库文件,其实就是编译过的可执行文件,只是里面没有main函数,无法直接执行。但是里面写了很多其它函数,可以供使用者调用。具体有什么函数呢?其实这些“有啥”全都写在头文件里面(如opencl.h),但是具体那些函数怎么实现的,用户并不需要知道。

  当自己写的程序需要使用别人的库文件的时候,就得注意:首先在自己的c或c++源代码的最开头引入头文件(#include<opencl.h>),然后你的确是包含了*.h文件了,但是却没有对应的*.c文件丫(如opencl.c)肿么办?没关系,链接上library就可以了。这时候就得在链接器那儿输入
-lOpenCL,意思是使用对应的libOpenCL.a
文件。*.a文件就是一个可执行文件,只是里面只有函数,没有main起始口。
  这样整个使用SDK的流程就完成了。

详细步骤:

步骤一:安装AMD显卡最新的驱动




步骤二:安装SDK




步骤三:安装Dev-C++(已安装则可跳过)
步骤四:配置Dev-C++

新建一个project,选择Console Application(控制台程序),选择C++
Project或者C Project都可以




工程(Project)建立好以后:选择Project Option(工程选项)




进行库(library)和引用(Include)配置:






配置的目录指向自己电脑AMD SDK的安装目录中相应的include和library中:







然后是编译命令中的链接命令配置




至此基本环境配好了。可以开始在main.c文件里面编写代码了:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: