CoreMark 跑个分:OrangePi5 RK3588S

news2024/11/15 9:09:45

一、 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/677520.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【python桌面应用设计】tkinter库 01. Tkinter程序设计思想和结构(保姆级代码注释)

目录 实现思路代码实战简单的基础结构示例稍微丰富一点的示例 总结 『python图形化GUI界面设计』分享tkinter库、PyQt5库、wxPython库等相关的新手入门教程,目标是编写python程序时可以给程序一个可视化界面。 欢迎关注 『python桌面应用设计』 系列,持续…

ubuntu18.04安装ORBSLAM2

最近倒腾了一下旧项目,发现之前的环境不知道抽了什么风,直接不能用了,好吧,索性从头装过。 一、第三方库 主要包括Pangolin 、 OpenCV 、 Eigen g2o 与 DBoW2在ORB-SLAM2里面自带可以不需要自己搞 # 更新apt库,更新软件列表 su…

七、c++学习(加餐3:深入分析类和对象(下))

我们把这篇《深入分析类和对象》分为两篇,就是为了简化一下大家学习的压力,现在我们接下来看下一篇。 C学习,b站直播视频 文章目录 7.1 对象操作7.1.1 对象拷贝7.1.1.1 无拷贝赋值运算符7.1.1.2 测试编译器会不会自动生成7.1.1.3 自己写拷贝…

【吃透网络安全】2023软考网络管理员考点网络安全(四)防火墙详解

涉及知识点 什么是防火墙?防火墙的概念及定义,防火墙的优缺点,软考网络管理员常考知识点,软考网络管理员网络安全,网络管理员考点汇总。 后面还有更多续篇希望大家能给个赞哈,这边提供个快捷入口&#xf…

Reactive 环境配置 遇到的问题记录

问题:Watchman: watchman--no-pretty get-sockname returned with exit code 1 ERROR: Unknown option --no-pretty 解决方案:运行ReactNative工程watchman运行错误 解决过程就是,我的watchman 没安装好,于是卸载,重新…

电子电气架构 —— OEM关于DTC具体实现相关见解

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 我们当前遇到的几乎所有的成长问题都可以归结道目光短浅、及时满足的天性上,不过在现代社会,用避难趋易和急于求成来指代他们更贴切。 本文主要讲…

Vivado使用技巧之外部编辑器配置

目录 一、前言 二、编辑器配置 2.1 环境变量添加 2.2 环境变量验证 2.3 Vivado设置 2.4 配置验证 2.5 解决Vivado配置失败问题 一、前言 Vivado自带的默认编辑器功能受限,不如第三方编辑器Eclipse,Notepad,Sublime功能强大。因此&…

Python基础篇(八):文件和os、shutil模块

文件和os、shutil模块 1. 文件1.1 打开文件1.2 写入文件1.3 读取文件内容1.4 关闭文件1.5 异常处理 2. os模块2.1 获取当前工作目录2. 创建目录2.3 重命名文件或目录2.4 删除文件2.5 执行系统命令 3. shutil模块3.1 复制文件3.2 移动文件3.3 复制目录(包括子目录和文…

【Linux】死锁(更新中)

文章目录 一. 什么是死锁二. 死锁产生的四个条件三. 避免死锁1. 死锁检测算法2. 银行家算法 结束语 一. 什么是死锁 死锁是指一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所占用的不会释放的资源,而处于一种永久等待的状态。 就像…

Elasticsearch是什么,如何学习Elasticsearch,整合SpringBoot

目录 一、是什么Elasticsearch 二、Elasticsearch,整合SpringBoot 三、Elasticsearch的优势和应用场景 一、是什么Elasticsearch Elasticsearch是一个开源的搜索引擎,它采用Java语言编写,使用Lucene作为核心搜索引擎,并在其基…

2.文本分析

目录 1. 词频统计--语料库的构建 1. 词频统计–语料库的构建 文本挖掘:将文本信息转换为可利用的知识。通常,对大量文件的归类,一般通过建立不同的文件夹,来保存不同的文章。 同样的,将需要分析的【文本文件】读取到…

Shell - 01_shell的概述

一、shell 概述 1.shell 的两层含义: 既是一种应用程序,又是一种程序设计语言 a.作为应用程序: 交互式地解释、执行用户输入的命令,将用户的操作翻译成机器可以识别的语言,完成相应功能。称之为 shell 命令解析器。shell 是用户和…

机器学习对风险管理的重要性

✏️写作:个人博客,InfoQ,掘金,知乎,CSDN 📧公众号:进击的Matrix 🚫特别声明:原创不易,未经授权不得转载或抄袭,如需转载可联系小编授权。 机器学…

logback-spring.xml详解

本文来写说下logback-spring.xml相关的知识与概念 文章目录 概述configuration元素定义上下文名称定义变量appender组件 概述 对于xml日志文件的配置,大多数人第一次接触时有一种望而生畏的感觉,其实如果仔细分析,会发现核心的部分只有三个元…

【黄啊码】为什么程序员大都鄙视php?

“PHP 是世界上最好的语言”。。。“吗”?相信很多人跟我一样,都会在后边打个问号。这些年以来,“PHP 已死”、“PHP 行将消亡”之类的言论甚嚣尘上,由此看得出,很多开发人员讨厌 PHP。这又是为什么呢?PHP …

Nginx配置https证书遇到的一个问题

前言 今天在给一个站点配置 HTTPS 证书的时候,遇到了一个问题,写此文章记录一下解决过程。 环境 Ubuntu 22.04 Nginx 1.18 过程 今天给一个站点申请了 HTTPS 证书,然后在 Nginx 中进行配置,Nginx 的 SSL 配置如下&#xff1a…

Matplotlib---饼图

1. 饼图 pie()函数用于绘制饼图,其基本语法如下: plt.pie(x, explodeNone, labelsNone, colorsNone, autopctNone, startangleNone, shadowFalse) 其中,参数含义如下: - x: 数组,表示饼图中每个部分的数值大小。 -…

手机技巧:iOS微信 8.0.38正式版更新功能一览

目录 1、安装包变大了很多 2、拍摄功能优化 3、订阅号消息展示优化 4、转账界面优化 5、视频号关注展开更多 7、朋友圈置顶(灰度测试) 8、搜一搜页面新增问一问功能 2023.06.09大家期待已久的IOS微信8.0.38正式版终于发布了,今天就来给…

第四章网络层

1.网络层概述 网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。 要实现网络层任务,需要解决以下主要问题: 网络层向运输层提供怎样的服务(“可靠传输”还是“不可靠传输”)网络层寻址问题路由选择问题 因特网(Internet)是目前全世界用…

idea快捷键和常用设置和maven

因为Eclipse快捷键较为统一,因此我们提前设置好,统一idea中的快捷键遵从Eclipse的快捷键。 常用设置 快捷键的统一 设置–按键映射–Eclipse 自动导包 设置–编辑器–常规–自动导入 这个操作主要是为了正确导包,当我们将某行代码注释的…