香橙派Kunpeng Pro评测

news2024/11/18 6:04:24

有幸受邀评测香橙派与华为鲲鹏在2024年5月12刚刚联合发布的新品香橙派Kunpeng Pro。

本文将从软硬件、AI算法测试等角度简单分享一下博主拿到板子以来感受与所做的评测。

一、硬件

在这里插入图片描述
香橙派Kunpeng Pro实物图

处理器方面,香橙派Kunpeng Pro采用了4核64位armv8架构处理器,主频提升到了1.6GHz,同时集成了昇腾(Ascend)AI处理器(应为310B),拥有8TOPS(int8)AI算力。
内存与存储方面,拥有8GB/16GB LPDDR4X内存,支持TF卡、eMMC、NVMe SSD、SATA SSD等多种存储扩展,使得香橙派Kunpeng Pro可以在内存与存储方面支持流行的AI应用。特别是最低8GB的内存,足以支持很多AI模型的推理了。

在这里插入图片描述
在这里插入图片描述

除此之外,香橙派Kunpeng Pro还提供了丰富的接口,包括两个HDMI输出接口(有一个HDMI接口输出貌似还有点问题,需要后续跟进)、GPIO接口、两个USB3.0接口、一个USB Type-C 3.0接口、两个MIPI摄像头接口等。大部分外设的扩展都没有问题。
另外,值得一提的是,香橙派Kunpeng Pro附带的Type-C电源为65W PD电源,属实良心了。

二、软件

香橙派Kunpeng Pro预安装了openEuler系统(默认openEuler与root用户密码都是openEuler),提供了类PC桌面环境,对新手来说,插上电源、显示器和键鼠外设就可以轻松上手。此外还预安装了openGauss(数据库)、DevKit(开发者工具集)等,有相关需求的朋友们可以自行探索它们的用途。
对开发者来说,更令人惊讶的是竟然预装了VSCode。

三、AI应用测试 - 以YOLO算法推理为例

1.Ascned驱动、固件与CANN Toolkit
在Ascend平台上运行AI算法,需要驱动、固件与CANN Toolkit的支持。

在这里插入图片描述

实际上,Ascend芯片的驱动在这块香橙派Kunpeng Pro上也是预安装了的,官方的Kunpeng-Develop-openEuler-22.03-LTS-SP3-20240506-0416镜像中包含了23.0.0的驱动的。在root用户下,执行npu-smi info,可得到如下信息:
在这里插入图片描述

可以看到,实际上目前芯片的健康状态为Alarm,并不是OK的状态,也就无法工作。
我们覆盖安装一次驱动看看。首先在下面地址下载驱动包23.0.0版本:
https://www.hiascend.com/hardware/firmware-drivers/community?product=5&model=25&cann=All&driver=1.0.0.alpha
安装如下:

chmod +x Ascend-hdk-310b-npu-driver-soc_23.0.0_linux-aarch64.run
./Ascend-hdk-310b-npu-driver-soc_23.0.0_linux-aarch64.run --full

在这里插入图片描述

安装成功,重启后再执行npu-smi info,发现也没有任何变化。因此只能等待后续驱动更新再看看了,目前Ascend的性能无法测试。

值得注意的是,在openEuler用户下,执行npu-smi info,会有如下错误提示:
在这里插入图片描述

说明openEuler用户没有权限调动驱动与Ascend NPU。仅能通过root用户调用,存在一定的安全隐患。Ascend官方安装指引为解决这一问题提供了一种可能性(安装时使用–install-for-all选项),为此,博主在安装310B驱动包时曾尝试为所有用户安装驱动,然而却发现这一选项–install-for-all并未被23.0.0驱动所支持:
在这里插入图片描述

因此只能暂时作罢,希望后续这个问题也可以得到解决。

注意,由于Ascend并不能被正确调用,接下安装固件和CANN Toolkit操作其实没有太大意义,只是期待后续驱动更新后,可以直接使用Ascend。

观察/usr/local/Ascend目录,发现并没有固件目录firmware:
在这里插入图片描述

上述下载驱动页面同样提供了固件下载。安装固件:

chmod +x Ascend-hdk-310b-npu-firmware-soc_7.1.0.3.220.run ./Ascend-hdk-310b-npu-firmware-soc_7.1.0.3.220.run --full

接下来,安装CANN Toolkit。注意,能找到的支持310B的CANN版本应为7.0.0.beta1。安装步骤步骤如下:
1)安装依赖
yum install -y gcc gcc-c++ make cmake unzip zlib-devel libffi-devel openssl-devel pciutils net-tools sqlite-devel lapack-devel gcc-gfortran
2)下载CANN安装包【注意需要登录,下载7.0.0.beta1】
https://www.hiascend.com/developer/download/community/result?from=firmware&product=5&model=25&cann=All
3)命令行安装CANN

# 给予执行权限
chmod +x Ascend-cann-toolkit_7.0.0_linux-aarch64.run
# 执行安装命令
./Ascend-cann-toolkit_7.0.0_linux-aarch64.run --install

2.安装MindSpore
需要根据CANN和MindSpore对硬件平台的支持选择安装的版本:
https://www.mindspore.cn/versions/en#ascend-supporting-software-package
在这里插入图片描述

CANN一般向下兼容,此前安装了7.0.0.beta1,硬件平台为Ascend 310B,因此可以选择安装MindSpore 2.1.1。

推荐使用官方自动安装脚本,会自动安装sympy、te、hccl。使用官方自动安装脚本安装MindSpore的步骤如下:

# 安装MindSpore 2.1.1和Python 3.7
wget https://gitee.com/mindspore/mindspore/raw/master/scripts/install/euleros-ascend-pip.sh 
MINDSPORE_VERSION=2.1.1 bash -i ./euleros-ascend-pip.sh

注1:博主实测时发现miniconda始终下载不下来,如果有遇到同样问题的,可以试着修改下安装脚本里的源,或者直接再conda官网下载最新的linux_aarch64架构的安装包,自行安装。

上述自动安装脚本创建了mindspore_py37虚拟环境,后续可以在此环境安装AI算法库等。

下面测试安装结果。CPU平台:

import numpy as np
import mindspore as ms
import mindspore.ops as ops

ms.set_context(device_target="CPU")
x = ms.Tensor(np.ones([1,3,3,4]).astype(np.float32))
y = ms.Tensor(np.ones([1,3,3,4]).astype(np.float32))
print(ops.add(x, y))

在这里插入图片描述

测试通过。

Ascend平台测试:

import numpy as np
import mindspore as ms
import mindspore.ops as ops

ms.set_context(device_target="Ascend")
x = ms.Tensor(np.ones([1,3,3,4]).astype(np.float32))
y = ms.Tensor(np.ones([1,3,3,4]).astype(np.float32))
print(ops.add(x, y))

测试无法给出运行结果。

3.mindyolo克隆与测试
mindyolo是MindSpore Lab基于Mindspore实现的YOLO系列算法的集成工具箱。博主基于这个工具箱对香橙派Kunpeng Pro的AI推理性能进行测试。在执行下列命令前,注意切换到mindspore_py37虚拟环境。

git clone https://github.com/mindspore-lab/mindyolo.git
cd mindyolo/
pip install -r requirements.txt
pip install mindyolo

接下来,下载YOLO v5s预训练权重:

wget https://download.mindspore.cn/toolkits/mindyolo/yolov5/yolov5s_300e_mAP376-860bcf3b.ckpt

mindyolo支持的测试平台有:[‘CPU’, ‘GPU’, ‘Ascend’, ‘Davinci’]。目前,我们只能先测试一下CPU。随便下载一张图片,博主下载了一张airplane.jpg的照片:
在这里插入图片描述

测试如下:

python demo/predict.py --config ./configs/yolov5/yolov5s.yaml --weight=./yolov5s_300e_mAP376-860bcf3b.ckpt --image_path ./airplane.jpg --device_target=CPU

在这里插入图片描述
在这里插入图片描述

可以看到推理耗时为18s,还是挺长的。值得注意的是这里面包含了较长的模型加载时间,在进行视频在线推理时,这个时间可以被省掉。感兴趣的读者可以进一步测试。

我们参考https://zhuanlan.zhihu.com/p/648665620中对树莓派4B(4G)进行测试的结果做一个简单对比。下面这张图的推理耗时约72s:
在这里插入图片描述

在香橙派Kunpeng Pro上进行推理测试如下:

python demo/predict.py --config ./configs/yolov5/yolov5s.yaml --weight=./yolov5s_300e_mAP376-860bcf3b.ckpt --image_path ./image1.png --device_target=CPU

在这里插入图片描述
在这里插入图片描述

可见,推理耗时约为21s,相比于树莓派4B,这块香橙派Kunpeng Pro 的CPU性能是有很大的进步的。

四、总结

总体来看,香橙派Kunpeng Pro 在软硬件层面都是干货满满,值得入手。不足的是,目前Ascend芯片的调用还存在一些问题,官方也没有给出详细的配置指引,期待后续的更新。

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

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

相关文章

EthernetiP转modbusTCP网关在加氢催化中的应用

在现代工业控制系统中,Ethernet/IP和ModbusTCP是两种常见的通信协议。它们在各种设备和系统间传输数据,实现设备的监控和控制,尤其在催化加氢装置这类关键工业过程中发挥着不可或缺的作用。本文将深入探讨开疆智能KJ-EIP-206型Ethernet/IP转M…

探寻数据处理的高效之道:从Python内置方法到NumPy的飞跃

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:为什么要学习NumPy? 二、案例展示:创建整数序列…

【Java】/*继承和组合*/

目录 一、继承 1.1 为什么需要继承 1.2 继承的概念 1.3 继承的语法 1.4 访问父类的成员 1.4.1 在子类方法中访问父类的成员 1.4.2 在子类外的方法中访问父类的成员 1.5 super关键字 1.6 子类和父类的构造方法 1.7 super 和 this异同点(待改进)…

常见webshell工具及特征分析

前言 在工作中经常会遇到各种websehll,黑客通常要通过各种方式获取 webshell,从而获得企业网站的控制权,识别出webshell文件或通信流量可以有效地阻止黑客进一步的攻击行为,下面以常见的四款webshell进行分析,对工具连…

深度学习之语义分割概念

深度学习之语义分割概念 文章目录 深度学习之语义分割概念前言一、语义分割任务常见数据集格式1.PASCAL VOC2.MS COCO 二、语义分割结果的具体形式三、语义分割常见的评价指标四、语义分割标注工具1.Labelme2.EISeg3.X-Anylabeling 总结 前言 常见的分割任务: 语义分…

大模型“1元购”?AI公司加速奔向应用端“大航海时代”

自字节跳动发布豆包大模型,互联网大厂纷纷就位,击穿“地板价”的打法从C端向B端拓展。这也成为今年“618”最亮眼的价格战。 5月15日,字节跳动率先宣布豆包大模型已通过火山引擎开放给企业客户,大模型定价降至0.0008元/千Tokens&…

Python os.path.isfile() 和 os.path.isdir() 函数

Python os.path.isfile 和 os.path.isdir 函数 正文 正文 在网上看到很多人对这两个函数的用法有过说明,然而感觉都没有说到它们的本质,这里特来记录一下。os.path.isfile() 用来判断所给参数是否一个文件。os.path.isdir() 用来判断所给的参数是否是一…

揭秘CISA:你不知道的信息安全认证,轻松掌握职场先机!

在当今的信息化时代,信息系统的安全和稳定是企业和组织的重要资产。信息系统审计是一项专业的工作,需要具备丰富的知识和经验,以及敏锐的洞察力和判断力。信息系统审计师是信息系统审计领域的专业人士,他们负责对信息系统的设计、…

mmu之TLB的来源与实现

TLB的由来 遇到的问题 对于两级页表(Page Table)的设计,需要访问两次物理内存才可以得到虚拟地址对应的物理地址(一次访问第一级页表,另一次访问第二级页表),而物理内存的运行速度相对于处理器本身来说,有几十倍的差距; 因此在处…

2024年5月最新高德poi数据采集科普

曾几何时,个人注册高德开发者即可拥有每日一万次免费配额调用,现如今,个人每日只能调用100次,即使额外购买了配额300元/10万次,也会因为短时间大量采集被封号。要想稳定采集,恐怕只有购买商业授权5万/年&am…

【Vue】v-if / v-show条件渲染指令

条件判断指令,用来辅助开发者按需控制 DOM 的显示与隐藏。条件渲染指令有如下两个,分别是: v-show 作用: 控制元素显示隐藏(简单的显示隐藏) 语法: v-show "表达式" 表达式值为 tru…

爬虫的福音-移动蜂窝代理

在爬虫与反爬虫斗争愈演愈烈的情况下,各大网站和 App 的风控检测越来越强,其中一项就是 IP 封禁。 为了解决 IP 封禁的困扰,一个有效的方式就是设置代理,设置代理之后,爬虫可以借助代理的 IP 来伪装自己的真实 IP 地址…

opencascade AIS_Circle AIS_ColoredDrawer AIS_CameraFrustum 源码学习 圆

类AIS_Circle 构造圆形基准面&#xff0c;用于构建复合形状。 AIS_Circle() [1/2] AIS_Circle::AIS_Circle ( const Handle< Geom_Circle > & aCircle ) 初始化用于构造 AIS 圆形基准面的算法&#xff0c;并初始化圆形 aCircle。 AIS_Circle() [2/2] AIS_Circ…

【测评】雨云香港三区云服务器,2核2G 5兆,仅需38元/月

写在前面 雨云香港三区云服务器&#xff0c;高性能的 AMD EPYC 处理器 企业级 NVME SSD 高性能云服务器。2核2G 10兆 400G防御&#xff0c;仅需38元/月&#xff0c;年付7折仅 319.2元/年。 官网&#xff1a;https://www.rainyun.com 本次测评服务器配置如下&#xff1a; C…

如何实现数据的正确拆分?

我们知道在传统的单块架构中&#xff0c;一个系统中只存在一个独立的服务和数据库实例。 上图中的系统架构实现起来比较简单&#xff0c;但是扩展性和伸缩性都比较差。因此&#xff0c;越来越多的系统开始采用了微服务架构。在微服务架构中&#xff0c;一个系统被拆分成多个服务…

Node性能如何进行监控以及优化?

一、 是什么 Node作为一门服务端语言&#xff0c;性能方面尤为重要&#xff0c;其衡量指标一般有如下&#xff1a; CPU内存I/O网络 CPU 主要分成了两部分&#xff1a; CPU负载&#xff1a;在某个时间段内&#xff0c;占用以及等待CPU的进程总数CPU使用率&#xff1a;CPU时…

memblock_free_all释放page到buddy,前后nr_free的情况

https://www.cnblogs.com/tolimit/p/5287801.html 在zone_sizes_init 之后&#xff0c;各个node&#xff0c;zone的page总数已知。但是此时的每个order的空闲链表是空的&#xff0c;也就是无法通过alloc_page这种接口来分配。此时page还在memblock管控&#xff0c;需要memblock…

HDTune和CrystalDiskInfo硬盘检测S.M.A.R.T.参数当前值最差值阈值

高亮颜色说明&#xff1a;突出重点 个人觉得&#xff0c;&#xff1a;待核准个人观点是否有误 高亮颜色超链接 文章目录 S.M.A.R.T.监控技术磁盘健康状态监测,硬盘检测硬盘检测工具 HD Tune硬盘检测工具 CrystalDiskInfo 当前值最差值阈值原始值的含义二级标题待补充待补充 开头…

IPV4地址介绍

4.1IP地址简介 目前的全球因特网所采用的协议族是TCP/IP协议族。IP是TCP/IP协议族中网络层的协议&#xff0c;是TCP/IP协议族的核心协议。IP协议定义了一种地址编码&#xff0c;称为IP地址&#xff0c;它是网络中网络段、网络设备接口、主机的编码&#xff0c;它并不是一种物理…

Pag格式在vue3中的简单使用方法

目前前端使用pag格式的方法比较少&#xff0c; 在这里我来简单实现一下pag格式在vue3中的使用方式。 第一步 先下载啦 npm i libpag 来对pag文件安装依赖 其次我们在自己想要引入的vue页面进行引入 <script setup> import { ref, computed, watchEffect, nextTick …