什么是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,看看分数是多少。
开始之前,先安装git和编译工具链:
# 安装 git 和编译工具链
sudo apt install git build-essential
使用如下命令,将coremark源码下载到爱芯派Pro上:
git clone https://github.com/eembc/coremark.git
下载完成后,可以看到如下文件:
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;
首先,清除上次编译生成的中间文件:
make clean
然后,使用默认的编译选项编译(无并发执行选项,单线程):
make link
最后,执行测试程序:
./coremark.exe
执行结束后,输出如下:
可以看到,单核测试成绩为6288.6;
在树莓派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更有优势。
更多回帖