CoreMark 跑个分:OrangePi5 RK3588S

一、 Orange Pi 5 简介

       Orange Pi 5 采用了瑞芯微 RK3588S 新一代八核 64 位处理器,具体为四核A76+四核A55,采用了 8nm 工艺设计,主频最高可达 2.4GHz,集成 ARM Mali-G610 MP4 GPU,内嵌高性能 3D 和 2D 图像加速模块,内置高达 6 Tops 算力的 AI 加速器 NPU,拥有 4GB/8GB/16GB/32GB(LPDDR4/4x),具有高达 8K 显示处理能力。
        Orange Pi 5 引用了相当丰富的接口,包括 HDMI 输出、GPIO 接口、Type-C、M.2 PCIe2.0、千兆网口、2 个 USB2.0,1 个 USB3.0 等;可广泛适用于高端平板、边缘计算、人工智能、云计算、AR/VR、智能安防、智能家居等领域,覆盖 AIoT 各个行业。 Orange Pi 5 支持Orange Pi 官方研发的操作系统 Orange Pi OS ,同时,支持 Android12 、Debian11、Ubuntu、Armbian、OpenWRT 等操作系统。

        我这个是 8GB 版本,铜散热片,亚克力外壳加风扇散热,待机状态温度差不多 37°C。

二、下载编译

1. 下载代码

        git clone https://github.com/eembc/coremark.git

        cd coremark/

2. 编译

        orangepi@orangepi5:~/benchm/coremark$ make ITERATIONS=100000

显示如下:
make XCFLAGS=" -DPERFORMANCE_RUN=1" load run1.log
make[1]: Entering directory '/home/orangepi/benchm/coremark'
make port_prebuild
make[2]: Entering directory '/home/orangepi/benchm/coremark'
make[2]: Nothing to be done for 'port_prebuild'.
make[2]: Leaving directory '/home/orangepi/benchm/coremark'
make link
make[2]: Entering directory '/home/orangepi/benchm/coremark'
cc -O2 -Ilinux -Iposix -I. -DFLAGS_STR=\""-O2 -DPERFORMANCE_RUN=1  -lrt"\" -DITERATIONS=100000 -DPERFORMANCE_RUN=1 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c posix/core_portme.c -o ./coremark.exe -lrt
Link performed along with compile
make[2]: Leaving directory '/home/orangepi/benchm/coremark'
make port_postbuild
make[2]: Entering directory '/home/orangepi/benchm/coremark'
make[2]: Nothing to be done for 'port_postbuild'.
make[2]: Leaving directory '/home/orangepi/benchm/coremark'
make port_preload
make[2]: Entering directory '/home/orangepi/benchm/coremark'
make[2]: Nothing to be done for 'port_preload'.
make[2]: Leaving directory '/home/orangepi/benchm/coremark'
echo Loading done ./coremark.exe
Loading done ./coremark.exe
make port_postload
make[2]: Entering directory '/home/orangepi/benchm/coremark'
make[2]: Nothing to be done for 'port_postload'.
make[2]: Leaving directory '/home/orangepi/benchm/coremark'
make port_prerun
make[2]: Entering directory '/home/orangepi/benchm/coremark'
make[2]: Nothing to be done for 'port_prerun'.
make[2]: Leaving directory '/home/orangepi/benchm/coremark'
./coremark.exe  0x0 0x0 0x66 100000 7 1 2000 > ./run1.log
make port_postrun
make[2]: Entering directory '/home/orangepi/benchm/coremark'
make[2]: Nothing to be done for 'port_postrun'.
make[2]: Leaving directory '/home/orangepi/benchm/coremark'
make[1]: Leaving directory '/home/orangepi/benchm/coremark'
make XCFLAGS=" -DVALIDATION_RUN=1" load run2.log
make[1]: Entering directory '/home/orangepi/benchm/coremark'
make port_preload
make[2]: Entering directory '/home/orangepi/benchm/coremark'
make[2]: Nothing to be done for 'port_preload'.
make[2]: Leaving directory '/home/orangepi/benchm/coremark'
echo Loading done ./coremark.exe
Loading done ./coremark.exe
make port_postload
make[2]: Entering directory '/home/orangepi/benchm/coremark'
make[2]: Nothing to be done for 'port_postload'.
make[2]: Leaving directory '/home/orangepi/benchm/coremark'
make port_prerun
make[2]: Entering directory '/home/orangepi/benchm/coremark'
make[2]: Nothing to be done for 'port_prerun'.
make[2]: Leaving directory '/home/orangepi/benchm/coremark'
./coremark.exe  0x3415 0x3415 0x66 100000 7 1 2000  > ./run2.log
make port_postrun
make[2]: Entering directory '/home/orangepi/benchm/coremark'
make[2]: Nothing to be done for 'port_postrun'.
make[2]: Leaving directory '/home/orangepi/benchm/coremark'
make[1]: Leaving directory '/home/orangepi/benchm/coremark'
Check run1.log and run2.log for results.
See README.md for run and reporting rules.

三、运行

        orangepi@orangepi5:~/benchm/coremark$ ./coremark.exe

程序在大核上运行的,显示如下:
2K performance run parameters for coremark.
CoreMark Size    : 666
Total ticks      : 16710
Total time (secs): 16.710000
Iterations/Sec   : 17953.321364
Iterations       : 300000
Compiler version : GCC10.2.1 20210110
Compiler flags   : -O2 -DPERFORMANCE_RUN=1  -lrt
Memory location  : Please put data memory location here
                        (e.g. code in flash, data on heap etc)
seedcrc          : 0xe9f5
[0]crclist       : 0xe714
[0]crcmatrix     : 0x1fd7
[0]crcstate      : 0x8e3a
[0]crcfinal      : 0xcc42
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 17953.321364 / GCC10.2.1 20210110 -O2 -DPERFORMANCE_RUN=1  -lrt / Heap

taskset 将程序指定在小核上运行:

        orangepi@orangepi5:~/benchm/coremark$ taskset -c 2 ./coremark.exe
显示如下:

2K performance run parameters for coremark.
CoreMark Size    : 666
Total ticks      : 16114
Total time (secs): 16.114000
Iterations/Sec   : 6826.362170
Iterations       : 110000
Compiler version : GCC10.2.1 20210110
Compiler flags   : -O2 -DPERFORMANCE_RUN=1  -lrt
Memory location  : Please put data memory location here
                        (e.g. code in flash, data on heap etc)
seedcrc          : 0xe9f5
[0]crclist       : 0xe714
[0]crcmatrix     : 0x1fd7
[0]crcstate      : 0x8e3a
[0]crcfinal      : 0x33ff
Correct operation validated. See README.md for run and reporting rules.
CoreMark 1.0 : 6826.362170 / GCC10.2.1 20210110 -O2 -DPERFORMANCE_RUN=1  -lrt / Heap

可以另外打开一个终端窗口,查看运行情况,一个大核全速运行,温度最高是 41°C:

四个大核全速运行,温度达到 54°C:

四、优化

1. 强制最高频率

默认CPU会根据负载动态调节频率,以达到降功耗目的,可以将CPU强制工作在 1.8GHz 和2.4GHz 最高频率下。

sudo bash -c 'echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor'

sudo bash -c 'echo performance > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor'

2. 超频

启用:sudo bash -c 'echo 1 > /sys/devices/system/cpu/cpufreq/boost'

这个功能好像不支持,显示如下:

bash: line 1: /sys/devices/system/cpu/cpufreq/boost: Permission denied

关闭:sudo bash -c 'echo 0 > /sys/devices/system/cpu/cpufreq/boost'

3. 提高优化等级,改为-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

效果不大,运行结果为:

CoreMark 1.0 : 17979.144193 / GCC10.2.1 20210110 -O2 -DPERFORMANCE_RUN=1  -lrt / Heap

恢复图形系统: sudo init 5

五、小结

        OrangePi5 RK3588S 的单个大核的 CoreMark 分数是 17979,四个大核的 CoreMark 分数是 71916,小核的 CoreMark 分数是 6826,四个小核的 CoreMark 分数是 27304,总的 CoreMark 分数达到了 99,220,达到了六核 Intel(R) Core(TM) i5-9600K CPU @ 3.70GHz 的 CoreMark 分数(192,369)的一半,性能不可谓不强悍。

        再加上 6 TOPs 算力的 AI 加速器 NPU,高达 8K 显示处理能力,Android12 、Debian11、Ubuntu、Armbian、OpenWRT 等操作系统的支持,值得一试。

                                                                老徐,2023/6/23

猜你喜欢

转载自blog.csdn.net/weixin_43978579/article/details/131348723
今日推荐