纪念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文件里面编写代码了:
一直致力于用开源平台(然而拒绝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文件里面编写代码了:
相关文章推荐
- “祖国在我心中”纪念建国60周年知识竞赛(共青团知识)
- “祖国在我心中”纪念建国60周年知识竞赛(共青团知识)
- opencl编程简单的入门知识
- “祖国在我心中”纪念建国60周年知识竞赛(建国60年知识)
- 第一次用自己学的Java解决实际问题,纪念一下!设计i/o,File的知识!
- 纪念我曾经的 Java 知识
- OpenCL小知识笔记本
- [补全中...]Linux-入门知识结构
- hdu_1908_map知识补全_银行排队问题
- opencl基础知识
- 纪念我曾经的 Java 知识
- html基础知识补全
- Linux shell基础知识、命令历史、命令补全和别名、通配符、输入输出重定向
- html基础知识补全
- 数据结构知识补全计划
- 纪念建国60周年知识竞赛题
- Linux shell基础知识、命令历史、命令补全和别名、通配符、输入输出重定向
- 【Linux基础学习之三】Bash的一些基础知识总结(通配符、重定向、管道、命令补全)
- 关于高性能计算(并行计算)的知识记录汇总(OpenMP、OpenCL、CUDA、TBB)
- “祖国在我心中”纪念建国60周年知识竞赛(建国60年知识)