一、CoreMark简介
什么是CoreMark?
来自CoreMark首页的解释是:
CoreMark is a simple, yet sophisticated benchmark that is designed specifically to test the functionality of a processor core. Running CoreMark produces a single-number score allowing users to make quick comparisons between processors.
翻译一下就是:
CoreMark是一个简单而又精密的基准测试程序,是专门为测试处理器核功能而设计的。运行CoreMark会产生一个“单个数字”的分数,(从而)允许用户在(不同)CPU之间进行快速比较。
简单来说,就是一个测试CPU性能的程序,类似PC上的Cinebench、CPU-Z之类的CPU性能测试工具。
了解了CoreMark是什么之后,接下来我们尝试在HPM6750开发板上跑一下CoreMark,看看分数是多少。
二、CoreMark源码下载
开始之前,先安装git和编译工具链:
sudo apt install git build-essential
使用如下命令,将coremark源码下载到爱芯派Pro上:
git clone https://github.com/eembc/coremark.git
下载完成后,可以看到如下文件:
三、CoreMark性能测试
3.1 CoreMark多核跑分测试
coremark项目的README.md中详细描述了如何进行编译。
由于爱心派Pro的主控芯片AX650N的CPU是8核心的,因此可以使用文档中的并行执行(Parallel Execution)的方式编译:
make XCFLAGS="-DMULTITHREAD=8 -DUSE_PTHREAD -pthread" link
编译成功后,输出如下:
编译完成后,可以看到coremark.exe已经生成了:
PS:文档给的命令 不带link,会执行编译并运行测试程序。
编译后,执行./coremark.exe,运行coremark测试,测试完成后,可以看到命令行输出如下:
可以看到,多核测试成绩为50076.8;
3.2 CoreMark单核跑分测试
首先,清除上次编译生成的中间文件:
make clean
然后,使用默认的编译选项编译(无并发执行选项,单线程):
make link
最后,执行测试程序:
./coremark.exe
执行结束后,输出如下:
可以看到,单核测试成绩为6288.6;
四、与树莓派4B对比
在树莓派4B上,进行类似的操作,但因为树莓派4B的CPU只有4个核心;并发线程数需要改成4,进行编译:
make XCFLAGS="-DMULTITHREAD=4 -DUSE_PTHREAD -pthread" link
多核跑分结果:
可以看到,树莓派4B上CoreMark多核测试成绩为37765.0分;
单核跑分结果:
可以看到,树莓派4B上CoreMark单核测试成绩为9487.7分;
最后,把爱芯派Pro和树莓派4B跑分参数与CPU信息汇总,如下表所示:
|
爱芯派Pro |
树莓派4B |
---|
CoreMark单核成绩 |
50076.8 |
37765.0 |
CoreMark多核成绩 |
6288.6 |
9487.7 |
CPU核心 |
A55 x 8 |
A72 x 4 |
CPU频率(最高) |
1.7GHz |
1.8GHz |
五、本篇总结
得益于爱芯派主控芯片AX650N比树莓派4B的BCM2711拥有更多CPU核心,爱芯派的多核性能显著高于树莓派4B。因此,在需要多线程处理的场景下,爱芯派Pro更有优势。另一方面,由于爱芯派Pro的CPU的主频比树莓派4B低,并且树莓派4B的CPU核心A72本身能效比要比A55高,爱芯派Pro的单核性能比树莓派4B弱。因此,在需要单核性能的场景下,树莓派4B更有优势。
六、参考链接
- CoreMark开源代码仓:https://github.com/eembc/coremark
- CoreMark项目首页: https://www.eembc.org/coremark/
- 树莓派4B技术参数: https://www.raspberrypi.com/products/raspberry-pi-4-model-b/specifications/
- M4N-Dock产品参数: https://wiki.sipeed.com/hardware/zh/maixIV/m4ndock/m4ndock.html