OrangePi AIpro (8T)使用体验,性能测试报告

  1. 前言

这段时间收到了CSDN和香橙派的邀请,对OrangePi AIpro进行体验测评,在此感谢CSDN对我的信任,也感谢香橙派能做出如此优秀的开发板。

可喜可贺,周三晚上我收到了官方寄出的OrangePi AIpro。出于对国产芯片的好奇,拆开包装后我并没有马上开始上电使用,而是对板子的做工以及走线进行了简单的观察。不禁感叹,现在的国产开发板做工、芯片集成度完全不输于树莓派等以前常用的国外开发板。

废话不多说,下面从产品了解、性能测试、产品使用三个方面进行测评OrangePi AIpro开发板。

  1. 了解

OrangePi AIpro(8T)是香橙派和华为昇腾联合开发的一款AI开发板,采用昇腾的4核64位处理器+AI处理器,集成图形处理器,该处理器支持8TOPS AI算力。

OrangePi AIpro不仅有优秀的AI性能,而且采用了丰富的外部接口:

  • 在存储方面,香橙派AIpro提供了TF插槽、SATA/NVMe SSD 2280 M.2插槽以及最大支持256G的eMMC模块三种存储接口。可以通过拨码开关选择从三种存储接口中启动系统。

  • 在基础接口方面,香橙派AIpro提供了两个HDMI接口、一个Type-C电源接口、一个千兆网口、两个USB3.0、一个USB Type-C 3.0和一个Micro USB(串口打印调试)接口。

  • 在开发接口方面,香橙派AIpro提供了40Pin的GPIO接口、两个MIPI摄像头、一个MIPI显示屏、电池接口。

其丰富的外部接口并不会限制开发者的想象力。不但可以适用于AI边缘计算、深度学习、人工智能等领域,而且凭借其存储能力、算力,搭建一个ALL in One的NAS绰绰有余。

  1. 初体验

3.1 开机

香橙派AIpro在接上电源后会自动开机,开机后风扇非常给力,声音很大,此时他是在初始化系统,当进入系统后,风扇会非常安静的运行。

但是我的香橙派AIpro在启动时必须要接入串口,并且在windows中打开串口才能正常启动,否则一直都无法进入桌面。当串口提示LiteOS start succeed,表示系统已经启动了。

此时我们接上显示器,即可看到Ubuntu22.04的桌面,默认帐号是HwHiAiUser,密码是Mind@123

进入桌面后,是非常简洁的xfce桌面,但其实在镜像中集成了5种桌面样式,只有xfce桌面使用起来相对流畅,其余桌面占用过高,体验不是很好。

3.2 尝试使用飞书文档编辑文章

尝试打开飞书文档继续编辑使用体验,在启动飞书文档时,CPU三个核心占用高,其中一个核心占用低(翻阅官方文档后发现,三颗为control cpu,一颗为AI cpu,下面会具体介绍)。

但让我意想不到的是,除了打开时慢了一些,编辑过程中非常流畅。

3.3 远程连接

我个人在使用Linux时常用终端办公,桌面端我们体验完了,我们感受一下ssh,首先ifconfig获取香橙派AIpro IP:

在另一台Windows PC上通过MobaXterm ssh连接香橙派AIpro:

输入账号密码(见前面的默认帐号是HwHiAiUser,密码是Mind@123)后登录成功:

除了SSH,还能通过Vnc、Todesk等远程工具进行桌面远程访问,非常便捷。

3.4 串口调试

使用一条可以数据传输的Micro USB线连接香橙派AIpro,在MobaXterm中使用serial功能。笔者这边是COM3,波特率为115200。

打开串口界面后是没有串口信息的,按下板载的reset按钮重启系统后,可以在MobaXterm中看到疯狂刷新的Log了,直到看到LiteOS start succeed!表示系统启动成功,此时风扇也会安静下来。

3.5 更新1.6Ghz固件 并获取CPU频率

3.5.1 更新1.6Ghz固件

在官网下载官方工具资料库,里面有个Ascend310B-firmware固件包文件夹。

将该文件夹移动至香橙派AIpro中

$ chmod +x Ascend310B-firmware-7.3.t3.0.b309-rc-signed-8t-1.6ghz-20240428.run $ ./Ascend310B-firmware-7.3.t3.0.b309-rc-signed-8t-1.6ghz-20240428.run --full

更新完成后重启系统即可使用1.6Ghz的CPU。

3.5.2 获取CPU频率

在官方提供的npu-smi中无法获取当前CPU频率,通过华为官方提供的api可以获取。

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "dcmi_interface_api.h"

#define MAX_CARD_NUM (16)
#define NPU_OK (0)
int main(int argc, char ** argv)
{
    int ret;
    int frequency = 0;
    ret = dcmi_init();
    if (ret != NPU_OK) {
        printf("Failed to init dcmi.\n");
        return ret;
    }

    ret = dcmi_get_device_frequency(0, 0, 1, &frequency);
    if (ret != NPU_OK) {
        printf("Failed to get info.\n");
        return ret;
    }
    printf("内存 frequency is %d Mhz\n", frequency);

    ret = dcmi_get_device_frequency(0, 0, 2, &frequency);
    if (ret != NPU_OK) {
        printf("Failed to get info.\n");
        return ret;
    }
    printf("Control cpu frequency is %d Mhz\n", frequency);

    ret = dcmi_get_device_frequency(0, 0, 7, &frequency);
    if (ret != NPU_OK) {
        printf("Failed to get info.\n");
        return ret;
    }
    printf("AI CORE now frequency is %d Mhz\n", frequency);

    ret = dcmi_get_device_frequency(0, 0, 9, &frequency);
    if (ret != NPU_OK) {
        printf("Failed to get info.\n");
        return ret;
    }
    printf("AI CORE default frequency is %d Mhz\n", frequency);

    return ret;
}

编译后运行

$ gcc get_cpu_info.c -L/usr/lib64 -ldcmi -lascend_hal -ldevmmap -ldrvdsmi -o cpu_info
$./cpu_info
内存 frequency is 1596 Mhz
Control cpu frequency is 1600 Mhz
AI CORE now frequency is 500 Mhz
AI CORE default frequency is 500 Mhz
  1. 样例体验

香橙派AIpro主打的就是AI相关的功能,在其使用手册中提供了多种场景下的案例供开发者体验和学习,下面我们通过其中几个案例来体验一下功能。

4.1 打开juypter lab,并在windows pc上使用

首先要在香橙派AIpro上打开juypter lab:

$ cd samples/notebooks/ $ bash start_notebook.sh

脚本运行成功后会提示运行网址为http://localhost:8888/ ,想要在windows上运行香橙派AIpro的juypter,必须先映射端口才能正常访问,直接修改ip地址是无法正常登录的。

打开的隧道功能,并输入本地端口以及远程端口等信息搭建隧道。

输入完成后点击start按钮开启隧道。

启动成功后即可在windows上访问香橙派AIpro的juypter了。

4.1 目标检测

官方提供了目标检测的实现,我们可以通过修改infer_mode推理模式字段来改变是对图片、视频还是相机数据进行检测。笔者在网络上随机下载了一段车流量的视频,大小为60M左右,观察一下它的占用以及识别效果。

点击开始运行后,占用升高到了60%。

大概等待了20秒左右,识别结果已经出来了,可见速度还是比较快的。

暂时无法在飞书文档外展示此内容

我们再找一段车流量大的视频检测一下看看效果。

暂时无法在飞书文档外展示此内容

  1. 性能测试

作为架构开发工程师,必须要做一下性能测试,一个好用、优秀的架构可以帮助团队少走几年弯路。

5.1 功耗测试

我统计了以下几种场景下的功耗:

  • CPU频率 1Ghz

    • 开机功耗:12W

    • 运行功耗:8W

    • 负荷功耗:10w

  • CPU频率 1.6Ghz

    • 开机功耗:12W

    • 运行功耗:9W

    • 负荷功耗:13W

5.2 CPU unixbench测试

5.2.1 下载以及编译

在官网下载unixbench:https://soft.lnmp.com/test/unixbench/

下载unixbench-5.1.2.tar.gz,然后到下载的目录下执行:

$ tar -xzvf unixbench-5.1.2.tar.gz $ cd unixbench-5.1.2

将3D检测GRAPHICS_TESTS=defined注释掉

$ vim Cmakefile

使用make -j4编译代码,会出现警告,但不影响我们使用

5.2.2 unixbench测试1Ghz(3 control cpu + 1 AI cpu)

开发板使用的昇腾SOC默认采用3个control CPU + 1个AI CPU,这种情况下多核CPU测试分数肯定比较低。好在昇腾SOC可以通过命令修改CPU使用方式,可以针对不同的使用场景自由分配CPU。

  • 设置3个CPU为control CPU,提示successfully后重启系统即可生效。

$ sudo npu-smi set-t cpu-num-cfg-i 0-c 0-v 1:3:0
Status  : OK  Message : The cpu-num-cfg of the chip is set successfully. Reset system for the configuration to take effect.

  • 单核分数

$ ./Run

  • 多核分数

$ ./Run -c 4

5.2.3 unixbench测试1Ghz(4 control cpu)

  • 设置4个CPU为control CPU,提示successfully后重启系统即可生效。

$ sudo npu-smi set-t cpu-num-cfg-i 0-c 0-v 0:4:0
Status  : OK  Message : The cpu-num-cfg of the chip is set successfully. Reset system for the configuration to take effect.

  • 单核分数

$ ./Run

  • 多核分数

./Run -c 4

5.2.4 unixbench测试1.6Ghz (4 control cpu)

  • 固件版本

  • 单核分数

$ ./Run

  • 多核分数

./Run -c 4

 

5.3 GPU glmark2测试

5.3.1 下载

$ sudo apt install glmark2

在终端输入glmark2开始GPU测试

$ glmark2

5.3.2 glmark2测试1Ghz(3 control cpu + 1 AI cpu)

在测试过程中AI cpu并没有帮助GPU工作,也打消了我的疑虑。

  • 测试结果

5.3.3 glmark2测试1Ghz (4 control cpu)

  • 测试结果

  1. 体验总结

使用感受:玩了大概4天的香橙派AIpro,其出色的功耗让我整夜开着都不心疼电费。长时间的高负荷测试,运行稳定,没有异常重启,在室温25度的情况下,芯片温度最高47度。而且官方的风扇也非常给力,将风扇调制最高速度运行时CPU温度能稳定在43度左右,但是无法忍受他的噪音。

个人建议:在体验过程中遇到了一些问题,比如串口乱码、poweroff后异常启动。希望香橙派可以针对Ascend 310B芯片进行优化,让用户的使用体验更好。也希望香橙派能和昇腾的合作越来越好,国产芯片能越做越好。

  1. Reference

  1. (用户手册)http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-AIpro.html

  2. https://zhuanlan.zhihu.com/p/698378491

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

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

相关文章

5.29高通技术分享抢先看 | 2024高通边缘智能创新应用大赛公开课

火力全开&#xff01;2024高通边缘智能创新应用大赛首期公开课将在5月29日晚上8点炫酷启动&#xff01; 届时&#xff0c;来自大赛主办方高通技术公司的产品市场总监李骏捷和高级资深工程师李万俊将于云端聚首&#xff0c;带来一场关于边缘智能的前沿技术对话。 各位参赛者及…

Java实现对PDF、纵向、横向页面添加自定义水印功能

Java实现对PDF、纵向、横向页面添加自定义水印 效果图 -- 纵向 页面PDF使用到JAR Maven依赖版本效果图 -- 横向页面PDF 效果图 – 纵向 页面PDF 代码如下&#xff1a; 使用到JAR Maven依赖版本 <dependency><groupId>org.apache.pdfbox</groupId><artifa…

基于SpringBoot的本科生考研率统计系统

基于SpringBoot的本科生考研率统计系统 一、开发技术二、功能模块三、代码结构四、数据库设计五、运行截图六、源码获取 一、开发技术 技术&#xff1a;SpringBoot、MyBatis-Plus、Redis、MySQL、Thymeleaf、Html、Vue、Element-ui。 框架&#xff1a;基于开源框架easy-admin开…

【踩坑】编译opencv将python (for build) python2.7改为python3

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 出现问题 默认是2.7 解决方案 cmake时候添加&#xff1a; -D PYTHON_DEFAULT_EXECUTABLE$(which python3)

Llama模型家族训练奖励模型Reward Model技术及代码实战(一)

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;一&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;二&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;三&#xff09; 基于 LlaMA…

2024-5-28 石群电路-16

2024-5-28&#xff0c;星期二&#xff0c;20:14&#xff0c;天气&#xff1a;晴&#xff0c;心情&#xff1a;晴。今天没有什么特别的事情发生&#xff0c;不过返校假期已经开始啦&#xff0c;和女朋友逛了街&#xff0c;吃了好吃的&#xff0c;学习也当然不能落下啦&#xff0…

JQuery 入门

一、jQuery 概述 1、JavaScript 库 仓库:可以把很多东西放到这个仓库里面。找东西只需要到仓库里面查找就可以 JavaScript 库&#xff1a;即library&#xff0c;是一个封装好的特定的集合&#xff08;方法和函数&#xff09;。从封装一大堆函数的角度理解库&#xff0c;就是在…

[nextjs]推荐几个很好看的模板网站

最近在做网站,折腾了 vue 框架,然后发现了 nextjs 框架,感觉这个做出来的网站配色很好看,然后又开始研究这个 网站配色好看是因为用的 tailwindcss,找网站过程中,发现了几个很好看的模板网站,在这里推荐下,或许你也能用得上 推荐第一个网站是: https://tailspark.co/ 有组件,也…

广场舞团|基于SprinBoot+vue的广场舞团系统(源码+数据库+文档)

广场舞团系统 目录 基于SprinBootvue的广场舞团系统 一、前言 二、系统设计 三、系统功能设计 1 系统功能模块 2 后台登录模块 5.2.1管理员功能模块 5.2.2社团功能模块 5.2.3用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推…

3步骤找回丢失文件!EasyRecovery让你轻松应对数据灾难!

EasyRecovery&#xff1a;数据丢失的终结者&#xff0c;您的数字世界守护神 在数字化时代&#xff0c;数据已经成为我们生活的一部分。无论是个人照片、重要文件还是企业资料&#xff0c;数据都扮演着重要的角色。然而&#xff0c;意外删除、格式化、系统崩溃或病毒攻击等原因导…

Discourse 使用 DiscourseConnect 来进行用户数据同步

我们都知道 Discourse 的用户管理和设置都高度依赖电子邮件。 如果 Discourse 没有设置电子邮件 SMTP 的话&#xff0c;作为管理员是没有办法对用户邮箱进行修改并且通过验证的。 可以采取的办法是通过 Discourse 的 DiscourseConnect 来进行用户同步。 根据官方的说法&…

【MySQL精通之路】InnoDB(4)-架构图

下图显示了构成InnoDB存储引擎体系结构的内存和磁盘结构。有关每个结构的信息 请参阅“内存中的InnoDB结构”和“磁盘上的InnoDB结构”。

C++ 常量和变量

1 常量 具体把数据写出来 2,3&#xff0c;4&#xff1b;1.2 1.3;“Hello world!”,“C” cout<<2015 常量&#xff1a;不能改变的量。 字面常量&#xff08;字面量、直接常量&#xff09;:直接写出的数据。 符号常量&#xff1a;用符号表示数据&#xff0c;但它一旦确定…

TIM输出比较

一、OC&#xff08;Output Compare&#xff09;输出比较 1、输出比较可以通过比较CNT&#xff08;计数器&#xff09;与CCR&#xff08;捕获/比较寄存器&#xff09;寄存器值的关系&#xff0c;来对输出电平进行置1、置0或翻转的操作&#xff0c;用于输出一定频率和占空比的PW…

HBase分布式数据库入门到精通

文章目录 HBase分布式数据库入门到精通 一、简单介绍 二、HBase数据模型 三、HBase的架构 四、HBase写操作流程 五、HBase读操作流程 六、HBase minor小合并和major大合并 七、HBase目标表meta表 八、HBase特点 九、HBase的使用场景 HBase分布式数据库入门到精通 一、…

Windows hook介绍与代码演示

Windows Hook 是一种机制&#xff0c;允许应用程序监视系统或处理特定事件。它可以拦截和更改消息&#xff0c;甚至可以插入到其他应用程序的消息处理机制中。Windows 提供了多种挂钩类型&#xff0c;例如键盘挂钩、鼠标挂钩、消息挂钩等。 hook代码实现 下面是一个使用 Wind…

总结 HTTP 协议的基本格式

一、HTTP 是什么 HTTP ( 全称为 " 超文本传输协议 ") 是一种应用非常广泛的 应用层协议 . HTTP 诞生与 1991 年 . 目前已经发展为最主流使用的一种应用层协议 . HTTP 协议目前有三个大版本: HTTP / 1 和 HTTP / 2 都是基于TCP 传输控制协议传输数据。最新版本的…

python PyQt5 数字时钟程序

效果图&#xff1a; 概述 本文档将指导您如何使用Python的PyQt5库创建一个简单的时钟程序。该程序将显示当前时间&#xff0c;并具有以下特性&#xff1a; 始终在最前台显示。窗口可拖动。鼠标右键点击窗口可弹出退出菜单。时间标签具有红色渐变效果。窗口初始化时出现在屏幕…

央视网视频下载和花屏问题处理

央视网(www.cctv.com)视频下载往往是花屏的&#xff0c;如何处理呢&#xff1f; 如果您是IT技术开发者&#xff0c;那么您可以通过下面步骤自己实现。 用chrome浏览器&#xff0c;F2打开开发者工具&#xff0c;找到当前页面的network 然后找一个接口&#xff1a;https://vdn.a…

php TP8 阿里云短信服务SDKV 2.0(跳大坑)

安装&#xff1a;composer require alibabacloud/dysmsapi-20170525 2.0.24 官方文档&#xff1a;短信服务_SDK中心-阿里云OpenAPI开发者门户 (aliyun.com) 特别注意&#xff1a;传入参数获得值形式 这样也不行 $sendSmsRequest new SendSmsRequest($addData); 还有一个大坑…