OK527N-C开发板-简单的性能测试

OK527N-C

CoreMark

获取CoreMark源码

首先使用Git克隆仓库:

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

修改Makefile

首先复制文件夹

cp -rf posix ok527

之后修改ok527文件夹下的core_portme.mak文件,将CC修改如下

CC = aarch64-none-linux-gnu-gcc

交叉编译

make PORT_DIR=ok527

编译结束后会报错,但是已经生成了交叉编译的coremark.exe可执行程序。这是由于架构不同,该交叉编译的程序并不能在电脑上直接运行。
在这里插入图片描述

将文件夹下的coremark.exe复制到板卡上,执行

chmod 777 coremark.exe
./coremark.exe

在这里插入图片描述

多核

make PORT_DIR=ok527 XCFLAGS="-DMULTITHREAD=4 -DUSE_FORK -pthread"

在这里插入图片描述

Dhrystone(单核性能测试工具)

首先下载源码(http://www.roylongbottom.org.uk/classic_benchmarks.tar.gz)并解压

tar -vxf classic_benchmarks.tar.gz

之后新建一个编译文件夹,复制相关源码到此,并新建Makefile文件

cd classic_benchmarks
mkdir ./build
cd ./build

cp -rf ../source_code/common_64bit/cpuidc64.c ./
cp -rf ../source_code/common_64bit/cpuidh.h ./
cp -rf ../source_code/dhrystone2/dhry.h ./
cp -rf ../source_code/dhrystone2/dhry_1.c ./
cp -rf ../source_code/dhrystone2/dhry_2.c ./
touch Makefile

将如下内容复制到Makefile文件中并保存

CC=aarch64-none-linux-gnu-gcc

main:*.o
        ${CC} -o dhry2_64 *.o
        ${CC} -O2 -o dhry22_64 *.o
        ${CC} -O3 -o dhry23_64 *.o

*.o:*.c
        ${CC} -g -c *.c

clean:
        rm -f *.o dhry2_64 dhry22_64 dhry23_64

此外由于source_code/common_64bit/cpuida64.asm代码并不适配aarch64-none-linux-gnu-as汇编器,所以我们在复制的时候没有复制此文件,并且需要注释掉 cpuidc64.c中的_cpuida() 、_calculateMHz() 两个汇编函数。
最后执行编译

make clean
make

在这里插入图片描述

生成的三个可执行文件分别为dhry2_64(无优化等级)、dhry22_64(优化等级2)、dhry23_64(优化等级3)。这里我们将dhry2_64复制到板卡中并运行,得到的结果如下
在这里插入图片描述

Stream

STREAM是一种内存带宽测试工具,主要用于评估计算机系统的内存子系统性能,特别是其读写速度和带宽。它通过一系列简单但计算密集型的操作来模拟对连续内存区域的访问,以此来测量系统的实际内存带宽性能。
STREAM测试主要提供以下四种指标:

  1. Copy (复制):测量一个数组中的数据复制到另一个数组的速度。这项测试代表了简单的数据移动操作,如内存拷贝。
  2. Scale (尺度变换):测量将数组中的每个元素乘以一个常数的速度。这代表了需要读取、修改并重新写回内存的数据操作。
  3. Add (矢量求和):测量将两个数组的相应元素相加,并将结果存储到第三个数组中的速度。这代表了常见的向量加法操作。
  4. Triad (复合矢量求和):测量将一个数组的元素与另一个数组的元素相加,然后将结果乘以一个常数,并存储到第三个数组中的速度。这是最复杂的一项测试,因为它涉及读取、计算和写回三个数组的操作。

首先下载源码(http://www.roylongbottom.org.uk/classic_benchmarks.tar.gz),并在同一目录下新建Makefile,并将以下内容复制进去

CC=aarch64-none-linux-gnu-gcc

main:
        ${CC} stream.c -o stream
        
clean:
        rm -f *.o stream

编译执行后得到可执行文件stream,将其复制到板卡上并执行
在这里插入图片描述

此外,在编译程序时还可以启用-fopenmp选项,它会告诉编译器生成能利用多线程的代码,从而可以并行地执行内存读取和写入操作,从而更好地模拟真实应用的负载情况,因为现代应用程序往往利用了多核架构的并行处理能力。因此,启用-fopenmp可以得到更接近实际工作负载下的内存带宽测量值。启用-fopenmp选项后的测试结果如下:
在这里插入图片描述

可以看到板卡的内存性能也很不错。
之后我们修改Makefile来查看不同编译优化等级的影响,

CC=aarch64-none-linux-gnu-gcc

main:
        ${CC} stream.c -fopenmp -o stream
        ${CC} stream.c -fopenmp -O1 -o stream1
        ${CC} stream.c -fopenmp -O2 -o stream2
        ${CC} stream.c -fopenmp -O3 -o stream3
        
clean:
        rm -f *.o stream

交叉编译后分别得到无优化、优化等级1、优化等级2、优化等级3的程序,将其下载到板卡中进行测试。

  1. 无优化
    在这里插入图片描述

  2. 优化等级1
    在这里插入图片描述

  3. 优化等级2
    在这里插入图片描述

  4. 优化等级3
    在这里插入图片描述

可以看到当为优化等级1时效果最好,O2和O3都会导致部分指标有一定的衰减。

ELFBoard

下面以搭载i.MX6ULL芯片的ELFBoard为例进行单核性能比对测试。

coremark

在这里插入图片描述

Dhrystone

在这里插入图片描述

可以看到在单核性能上T527N就比i.MX6ULL大约高了三倍。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

全国1:100万地貌类型空间分布数据

我们在《136G全国1m土地覆盖数据》一文中,为你分享了全国1米分辨率的土地覆盖数据。 现在再为你分享全国1:100万地貌类型空间分布数据,你可以在文末查看该数据的领取方式。 全国1:100万地貌类型空间分布数据 全国1:100万地貌类型空间分布数据来源于《…

【QT】多元素控件

目录 概述 List Widget 核心属性 核心方法 核心信号 QListWidgetItem核心方法 Table Widget 核心方法 QTableWidgetItem 核心信号 QTableWidgetItem 核心方法 使用示例: Tree Widget 核心方法 核心信号 QTreeWidgetItem核心属性 QTreeWidgetItem核…

(九)绘制彩色三角形

前面的学习中并未涉及到颜色&#xff0c;现在打算写一个例子&#xff0c;在顶点着色器和片元着色器中加入颜色&#xff0c;绘制有颜色的三角形。 #include <glad/glad.h>//glad必须在glfw头文件之前包含 #include <GLFW/glfw3.h> #include <iostream>void …

13-4 GPT-5:博士级AI,人工智能的新时代

图片来源&#xff1a;AI Disruptive 人工智能世界正在迅速发展&#xff0c;新的创新和突破层出不穷。在本文中&#xff0c;我们将深入探讨最新的进展&#xff0c;从即将推出的 GPT-5 模型到 Apple 和 Meta 之间可能的合作。 GPT-5&#xff1a;博士级别的人工智能 虽然尚未正…

GL823K USB 2.0 SD/MSPRO读卡器控制芯片

概述 GL823K是一个USB 2.0单轮读卡器控制芯片&#xff0c;可以支持SD/MMC/MSPRO闪存卡。它支持USB 2.0高速传输&#xff0c;它在一个芯片上可以控制读取诸如安全数字卡&#xff08;SD卡&#xff09;&#xff0c;SDHC卡&#xff0c;迷你SD卡&#xff0c;微SD卡&#xff08;T-Fl…

Upload-Labs靶场闯关

文章目录 Pass-01Pass-02Pass-03Pass-04Pass-05Pass-06Pass-07Pass-08Pass-09Pass-10Pass-11Pass-12Pass-13Pass-14Pass-15Pass-16Pass-17Pass-18Pass-19Pass-20 以下是文件上传绕过的各种思路&#xff0c;不过是鄙人做题记下来的一些思路笔记罢了。 GitHub靶场环境下载&#x…

带电池监控功能的恒流直流负载组

EAK的交流和直流工业电池负载组测试仪对于测试和验证关键电力系统的能力至关重要&#xff0c;旨在实现最佳精度。作为一家客户至上的公司&#xff0c;我们继续尽我们所能应对供应链挑战&#xff0c;以提供出色的交货时间&#xff0c;大约是行业其他公司的一半。 交流负载组 我…

嵌入式c语言2——预处理

在c语言中&#xff0c;头部内容&#xff0c;如include与define是不参与编译而直接预先处理的 如include相当于把头文件扩展&#xff0c;define相当于做了替换 c语言大型工程创建时&#xff0c;会有调试版本与发行版本&#xff0c;发行时不希望看到调试部分内容&#xff0c;此时…

如何使用 Builder 设计模式和 DataFaker 库在自动化测试中生成测试数据

在自动化 API/Web 或移动应用程序时&#xff0c;您可能会遇到这样的情况&#xff1a;在注册用户时&#xff0c;您可能正在设置用于在测试自动化的端到端用户旅程中签出产品的地址。 那么&#xff0c;你是怎么做到的呢&#xff1f; 通常&#xff0c;我们在 Java 中创建一个 POJO…

鸿蒙开发设备管理:【@ohos.distributedHardware.deviceManager (设备管理)】

设备管理 本模块提供分布式设备管理能力。 系统应用可调用接口实现如下功能&#xff1a; 注册和解除注册设备上下线变化监听发现周边不可信设备认证和取消认证设备查询可信设备列表查询本地设备信息&#xff0c;包括设备名称&#xff0c;设备类型和设备标识 说明&#xff1a…

检索增强生成RAG系列5--RAG提升之路由(routing)

在系列3和系列4我讲了关于一个基本流程下&#xff0c;RAG的提高准确率的关键点&#xff0c;那么接下来&#xff0c;我们再次讲解2个方面&#xff0c;这2个方面可能与RAG的准确率有关系&#xff0c;但是更多的它们是有其它用途。本期先来讲解RAG路由。 目录 1 基本思想2 Logica…

Linux基础 - LNMP 架构部署动态网站环境

目录 零. 简介 一. 部署 二. 安装 Nginx 三. 安装MySQL 四. 安装PHP 五. 配置网站目录 六. 测试环境 零. 简介 LNMP 是指 Linux Nginx MySQL PHP 这一组合架构&#xff0c;用于部署动态网站环境。 Linux 作为操作系统&#xff0c;提供了稳定、安全和高效的基础平台。…

Swift 中强大的 Key Paths(键路径)机制趣谈(上)

概览 小伙伴们可能不知道&#xff1a;在 Swift 语言中隐藏着大量看似“其貌不扬”实则却让秃头码农们“高世骇俗”&#xff0c;堪称卧虎藏龙的各种秘技。 其中&#xff0c;有一枚“不起眼”的小家伙称之为键路径&#xff08;Key Paths&#xff09;。如若将其善加利用&#xff…

MYSQL函数进阶详解:案例解析(第19天)

系列文章目录 一、MySQL的函数&#xff08;重点&#xff09; 二、MySQL的窗口函数&#xff08;重点&#xff09; 三、MySQL的视图&#xff08;熟悉&#xff09; 四、MySQL的事务&#xff08;熟悉&#xff09; 文章目录 系列文章目录前言一、MySQL的函数1. 聚合函数2. group_c…

Linux基础 - MariaDB 数据库管理系统

目录 零. 简介 一. 安装 二. 基本使用 1. 设置root密码 2. 创建库 3. 创建表 4.添加数据 5. 查看数据 三. 管理表单及数据 四. 数据库的备份及恢复 零. 简介 MariaDB 是一种流行的开源数据库管理系统&#xff0c;它是 MySQL 的一个分支。 MariaDB 保留了与 MySQL 的…

HarmonyOS APP应用开发项目- MCA助手(Day01持续更新中~)

简言&#xff1a; gitee地址&#xff1a;https://gitee.com/whltaoin_admin/money-controller-app.git端云一体化开发在线文档&#xff1a;https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/agc-harmonyos-clouddev-view-0000001700053733-V5 注&#xff1…

激光粒度分析仪校准步骤详解:提升测量精度的秘诀

在材料科学、环境监测、医药研发等众多领域&#xff0c;激光粒度分析仪以其高精度、高效率的测量性能&#xff0c;成为了不可或缺的测试工具。然而&#xff0c;为了保持其测量结果的准确性和可靠性&#xff0c;定期校准是不可或缺的步骤。 接下来&#xff0c;佰德将为您详细介…

可视化低代码平台之:RayData光启元的震撼作品。

RayData家的可视化作品&#xff0c;贝格前端工场是经常碰到&#xff0c;制作十分的精良&#xff0c;业内很有影响力。他们也有自己的低代码平台&#xff0c;分为了桌面版和网页版&#xff0c;本期分享一下他们的作品。

【单片机毕业设计选题24043】-可旋转式电视支架控制系统设计与实现

系统功能: 系统操作说明&#xff1a; 上电后OLED显示 “欢迎使用电视支架系统请稍后”&#xff0c;两秒后进入正常界面显示 第一页面第一行显示 Mode:Key&#xff0c; 第二行显示 TV:Middle 短按B5按键可控制步进电机左转&#xff0c; 第二行显示 TV:Left 后正常显示 TV:…

六、资产安全—信息分级资产管理与隐私保护练习题(CISSP)

六、资产安全—信息分级资产管理与隐私保护(CISSP): 六、资产安全—信息分级资产管理与隐私保护(C