# 1 项目背景
最近,本人在Github上发布了一个开源软件,名字叫“云汉烤机大师”,代码仓库地址:
![代码仓库](https://b01.ickimg.com/201907/04f90b19fdff420b32c1e4a64b757360.jpg "代码仓库")
这个烤机软件在设计时考虑了RK3399芯片这种既有大小核架构的CPU又有支持OpenCL的GPU的情况。程序可以通过Pthread、OpenMP和OpenCL让处理器的CPU和GPU长时间保持满载,并每隔5秒往终端打印实时的处理器温度、CPU核心在线情况、处理器大核频率、处理器小核频率、CPU计算速度和GPU计算速度。你也可以把代码中的功能局部注释,这样就可以适用于那些不支持OpenCL或者核心数量较少的处理器芯片。
# 2 测试平台
Leez社区发布了基于RK3399的P710单板电脑,这款小电脑的硬件配置已经有群友评测过了,见**《Leez-P710:火力全开》**
我也有幸获得了Leez P710的试用机会。下图是我的试用产品,可以看到我特地为它设计了散热风道。
![设计了风道](https://b04.ickimg.com/201907/3f5c43056139e434eefc11518533c61d.jpg "设计了风道")
下图是我设计并3D打印的外壳,是个小盒子,侧壁上留出了接口和风道
![3D打印的外壳](https://b05.ickimg.com/201907/2a645d6c2bec7e3a192d5a29fda2448b.jpg "3D打印的外壳")
安装白色支脚后,盒子可以立起来,俨然是个小机箱。
![小电脑](https://b05.ickimg.com/201907/9cfe603e8c826b3b175a88aa784ac113.jpg "小电脑")
今天的测试,就要在这个Leez P710上面做。
# 3 环境配置
Leez社区发布的debian固件里面已经到了GCC,自带OpenMP库。
但是,有一点要注意,Leez P710的GPU是Mali T860,但是Leez社区发布的debian固件里没有OpenCL的头文件,代码编译时候会遇到问题。我们可以去rockchip-linux的github仓库下载Mali GPU的支持库,命令:
```shell
git clone https://github.com/rockchip-linux/libmali.git
```
然后把include放到/usr目录里去,文件夹之间直接合并。
# 4 编译和运行
去本文开头提到的代码仓库下载源码
把“烤机大师”文件夹里的ickey.c和test.cl两个文件放到方便的目录,比如/home/test
编译命令如下:
```shell
gcc -o ickey ickey.c -lpthread -lOpenCL -fopenmp
```
执行
```shell
./icke