前言一般拿到 手机或者电脑后评测时我们喜欢跑跑分,可以看看战胜了多少网友。而对于我们这个国产旭日x3的CPU自然也想看看到底和国际大厂的类似CPU性能是否有差异,所以我们就实际测试看看。 从最终的测试结果来看是不失所望的,本CPU和配置一致的iMx8M性能是一样的,测试数值甚至高了一点,所以完全不用怀疑本CPU的性能,强悍妥妥的,后面跑AI一点都不用心虚,放肆造!发烧友甚至可以超频,只是降温方法可以各显神通。
本文前提是板子使用SERVER版本镜像,已经配置好连接WIFI,因为我们要在线下载代码。 下载代码git clone https://github.com/eembc/coremark.git cd coremark/
修改代码vi simple/core_portme.h 输入i进入插入模式 修改 #define COMPILER_FLAGS FLAGS_STR /* "Please put compiler flags here (e.g. -o3)" */ #endif 为 #define COMPILER_FLAGS "-O0" /* "Please put compiler flags here (e.g. -o3)" */ #endif 其中”-O0”和编译时指定的优化等级对应,如果是-O3编译则改为”-O3”,这个宏只是打印显示用。
typedef ee_u32 ee_ptr_int; 改为 typedef unsigned long ee_ptr_int;
按ESC案件 输入: 输入wq回车
编译gcc -o coremark core_list_join.c core_main.c core_matrix.c core_state.c core_u til.c simple/core_portme.c -DPE RFORMANCE_RUN=1 -DITERATIONS=10000 -Isimple -I. -O0
如果运行长时间无打印则减小-DITERATIONS=10000 如果提示 ERROR! Must execute for at least 10 secs for a valid result! 则增大-DITERATIONS=10000
运行./coremark 打印信息如下
优化1. 默认CPU会根据负载动态调节频率,以达到降功耗目的,可以将CPU强制工作在1.2GHz最高频率下。 sudo bash -c 'echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor'
2. 超频 启用:sudo bash -c 'echo 1 > /sys/devices/system/cpu/cpufreq/boost' 关闭:sudo bash -c 'echo 0 > /sys/devices/system/cpu/cpufreq/boost'
3. 提高优化等级,-O0改为-O3编译 gcc -o coremark core_list_join.c core_main.c core_matrix.c core_state.c core_util.c simple/core_portme.c -DPERFORMANCE_RUN=1 -DITERATIONS=100000 -Isimple -I. -O3
4. 关闭图形系统 sudo init 3 恢复sudo init 5 测试结果从以下结果可以看出 1.固定CPU主频比动态调整只提高了一点点速度, 2.超频到1.5G比1.2G有明显的性能提高 3.编译器优化-O3相对于-O0有绝对的提高,基本是5倍多的性能。 所以从上可以看出,编译器优化有较大的影响因素,这也是为什么我们一直强调算法的优化是提升性能的最主要的方向,因为硬件的提升其实成本很高而且效果不是显著的。 4.图形模式和命令行模式性能差不多(使用的VNC测试,HDMI测试可以再对比下) 5. 温度 持续测试,模拟升温,定性来看,随着温度越来越高性能越来越低.
如下界面可以查看跑分记录进行对比 https://www.eembc.org/coremark/scores.php 过滤A53可以看到, iMX8M的跑分条件和我们基本一致, 4核,1.5G. 跑分是19678.58
我们这里是4935.497490x4=19,741.98996 甚至比该芯片更强一点。 总结通过上述跑分,一方面对芯片性能有个了解,对于国产芯片与国际大厂芯片性能是否有差异也有一个基本的对照,本次测试结果来看和配置一样的iMx8M芯片的性能是一样的,甚至强一点点,性能达到了国际大厂水平,所以对旭日X3这个芯片性能是不需要怀疑的;另一方面从各测试条件可以看到影响性能的因素到底哪个是绝对性的,对以后编程也有一些启发意义。
|