配置 昇腾 Ascend C/C++ 开发环境

配置 昇腾 Ascend C/C++ 开发环境

flyfish

这里以Orange Pi Ai Pro 为例
先说如何配置MindStudio,然后再说如何查看Orange Pi Ai Pro的一些信息

Orange Pi AI Pro 开发板是香橙派联合华为精心打造的高性能AI 开发板,其搭载了昇腾 AI 处理器。Linux 桌面系统的默认登录用户为 HwHiAiUser,登录密码为Mind@123

MindStudio是华为面向昇腾AI开发者提供的一站式开发环境和工具集,致力于提供端到端的昇腾AI应用开发解决方案。
MindStudio IDE当前支持Linux和Windows操作系统,需要下载单独的安装包安装后使用。此外,macOS也可以通过SSH连接启动MindStudio IDE。
这里使用是Windows下的MindStudio
版本 MindStudio 7.0.RC2 (Release)

在这里插入图片描述创建工程后,工程目录的主要结构如下

├── untitled
│   ├── build
│   │    ├──cmake             //存放cmake依赖文件。
│   ├── out                    //存放编译出的可执行文件。
│   ├── src
│   │    ├── CMakeLists.txt   //编译脚本。
│   │    ├── main.cpp         //主函数的实现文件,当前主函数内无代码逻辑。
│   ├── CMakeLists.txt         //编译脚本,调用src目录下的CMakeLists文件。

SSH连接

在菜单栏依次选择File > Settings... > Tools > Ascend SSH Configurations进入SSH连接配置
在这里插入图片描述

Ascend Deployment 部署

在菜单栏依次选择File > Settings…> Tools > Ascend Deployment

在这里插入图片描述Mappings设置 本地文件会同步到部署路径中

在这里插入图片描述

配置交叉编译环境

菜单栏依次选择File > Settings... > Appearance&Behavior > System Settings > CANN,弹出CANN Manager界面
在这里插入图片描述在这里插入图片描述

调试配置

在这里插入图片描述

看运行结果

在MindStudio点击运行后
在这里插入图片描述ssh连接到 Orange Pi Ai Pro 运行
目录就是之前File > Settings…> Tools > Ascend DeploymentMappings设置的映射目录
在这里插入图片描述

Orange Pi Ai Pro 的设置

df(disk free)命令可以用来显示文件系统磁盘空间的使用情况

我这里使用了IT的硬盘

(base) HwHiAiUser@orangepiaipro:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       917G   17G  863G   2% /
tmpfs           3.7G  4.0K  3.7G   1% /dev/shm
tmpfs           1.5G   15M  1.5G   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           4.0M     0  4.0M   0% /sys/fs/cgroup
tmpfs           128M  828K  128M   1% /var/log
tmpfs           755M   76K  755M   1% /run/user/0
/dev/nvme0n1p3   50M  2.0K   50M   1% /exchange
tmpfs           755M   80K  755M   1% /run/user/1000

/dev/root 为例解释:

Filesystem: 显示了文件系统的设备名或者挂载点。在这个例子中,/dev/root 指的是根分区的设备名。Size: 文件系统的总容量。这里显示为 917G,表示该文件系统的总容量为 917GB。Used: 已使用的空间。这里显示为 17G,表示已经使用了 17GB 的空间。Avail: 可用的空间。这里显示为 863G,表示还有 863GB 的空间可供使用。Use%: 使用百分比。这里显示为 2%,表示已经使用的空间占总空间的 2%。Mounted on: 文件系统挂载的位置。在这个例子中,/ 表示这是根目录,即系统的主目录。

系统根分区(通常是最主要的分区)有一个总容量为 917GB 的文件系统,目前只使用了 17GB,还剩下 863GB 的可用空间,使用率仅为 2%。

free 命令可以用来查看系统的内存使用情况,包括物理内存和虚拟内存

(base) HwHiAiUser@orangepiaipro:~$ free -htotal        used        free      shared  buff/cache   available
Mem:           7.4Gi       1.1Gi       5.4Gi        32Mi       807Mi       6.0Gi
Swap:             0B          0B          0B

输出关于系统内存(包括物理内存和虚拟内存)的信息
Mem: 物理内存, Swap: 虚拟内存(交换空间)

total: 物理内存的总容量。这里显示为 7.4Gi,表示总共有 7.4 GiB 的物理内存。
used: 当前正在使用的物理内存。这里显示为 1.1Gi,表示已经使用了 1.1 GiB 的物理内存。
free: 当前未被使用的物理内存。这里显示为 5.4Gi,表示还有 5.4 GiB 的物理内存未被使用。
shared: 由多个进程共享的物理内存大小。这里显示为 32Mi,表示有 32 MiB 的内存被多个进程共享。
buff/cache: 由系统缓存(buffers)和缓存(cache)占用的物理内存大小。这里显示为 807Mi,表示有 807 MiB 的内存被用于缓存。
available: 系统认为可用于启动新应用程序而不影响现有程序性能的物理内存大小。这里显示为 6.0Gi,表示有 6.0 GiB 的物理内存可用于新应用程序。

su(switch user)命令允许你切换到另一个用户的身份

要切换到 root 用户,可以运行以下命令

sudo su

增加系统虚拟内存(交换空间)

(base) root@orangepiaipro:/home/HwHiAiUser# fallocate -l 16G /swapfile
(base) root@orangepiaipro:/home/HwHiAiUser# chmod 600 /swapfile
(base) root@orangepiaipro:/home/HwHiAiUser# mkswap /swapfile
Setting up swapspace version 1, size = 16 GiB (17179865088 bytes)
no label, UUID=7cb8763f-e648-4382-a84c-c69d94ebe15a
(base) root@orangepiaipro:/home/HwHiAiUser# swapon /swapfile
(base) root@orangepiaipro:/home/HwHiAiUser# free -htotal        used        free      shared  buff/cache   available
Mem:           7.4Gi       1.2Gi       5.4Gi        33Mi       868Mi       6.0Gi
Swap:           15Gi          0B        15Gi

如果是HwHiAiUser用户,需要在命令前加sudo

  1. 创建一个 swap 文件
    sudo fallocate -l 16G /swapfile
  2. 修改文件权限,确保只有 root 用户可以读写
    sudo chmod 600 /swapfile
  3. 把文件设置成 swap 空间。
    sudo mkswap /swapfile
  4. 启用 swap
    sudo swapon /swapfile
  5. 检查 swap 内存是否添加成功
    free -h
  6. 使交换文件永久生效
    为了确保每次系统启动时交换文件都能自动启用,将交换文件的信息添加到 /etc/fstab 文件中
    echo ‘/swapfile none swap defaults 0 0’ | sudo tee -a /etc/fstab

npu-smi: 这是一个类似于 nvidia-smi 的工具,用于管理和监控 NPU 的状态

“smi” 是 “System Management Interface” 的缩写,通常用于表示系统管理接口

(base) root@orangepiaipro:/home/HwHiAiUser# npu-smi info
+--------------------------------------------------------------------------------------------------------+
| npu-smi 23.0.0                                   Version: 23.0.0                                       |
+-------------------------------+-----------------+------------------------------------------------------+
| NPU     Name                  | Health          | Power(W)     Temp(C)           Hugepages-Usage(page) |
| Chip    Device                | Bus-Id          | AICore(%)    Memory-Usage(MB)                        |
+===============================+=================+======================================================+
| 0       310B4                 | Alarm           | 0.0          46                15    / 15            |
| 0       0                     | NA              | 0            2059 / 7545                             |
+===============================+=================+======================================================+

NPU: NPU 设备的编号。
Name: NPU 设备的名称。
Health: 设备健康状况。
Power(W): 设备的功耗(瓦特)。
Temp©: 设备的温度(摄氏度)。
Hugepages-Usage(page): 大页内存的使用情况。
Chip: 芯片编号。
Device: 设备编号。
Bus-Id: 总线 ID。
AICore(%): AI 核心的占用率百分比。
Memory-Usage(MB): 内存使用情况(兆字节)

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

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

相关文章

VSCode系列 - 如何用VSCode搭建C++高效开发环境(2)

1. 插件的用法 1.1. C/C 1.1.1. 插件介绍1.1.2. 插件配置 1.2. Clang-Format1.3. cpp-check-lint 1.3.1. cpplint1.3.2. cppcheck1.3.3. 插件的使用 1.4. C/C Advanced Lint 1.4.1. 插件介绍1.4.2. 插件配置 1.5. Bracket Pair Colorizer 1.5.1. 插件介绍1.5.2. 功能配置 1.6. …

【机器学习】探索机器学习在旅游业的革新之旅

📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀目录 🔍1. 引言📒2. 机器学习在旅游需求分析中的应用🌞用户行为数据分析🌙旅客偏好预测模型⭐…

Java面试八股之如何保证消息队列中消息不重复消费

如何保证消息队列中消息不重复消费 要保证消息队列中的消息不被重复消费,通常需要从以下几个方面来着手: 消息确认机制: 对于像RabbitMQ这样的消息队列系统,可以使用手动确认(manual acknowledge)机制来…

C++ 设计模式——策略模式

策略模式 策略模式主要组成部分例一:逐步重构并引入策略模式第一步:初始实现第二步:提取共性并实现策略接口第三步:实现具体策略类第四步:实现上下文类策略模式 UML 图策略模式的 UML 图解析 例二:逐步重构…

【c语言】整数在内存中的储存(大小端字节序)

整数在内存中的储存(大小端字节序) 1.整数在内存中的储存 2.大小端字节序 3.整数在内存中储存例子 4.字节序判断 5.死循环现象 文章目录 整数在内存中的储存(大小端字节序)整数在内存中的储存大小端字节序什么是大小端为什么会有…

Unity 麦扣 x 勇士传说 全解析 之 怪物基类(2)(附各模块知识的链接,零基础也包学会的牢弟)(案例难度:★★☆☆☆)

1.怪物的动画逻辑一览 2.怪物的受伤死亡逻辑一览 using System.Collections; using System.Collections.Generic; using System.Xml; using UnityEngine;public class Monster : MonoBehaviour {[Header("速度")]public float normalSpeed;public float chaseSpeed;…

在国产芯片上实现YOLOv5/v8图像AI识别-【2.5】yolov8使用C++部署在RK3588更多内容见视频

本专栏主要是提供一种国产化图像识别的解决方案,专栏中实现了YOLOv5/v8在国产化芯片上的使用部署,并可以实现网页端实时查看。根据自己的具体需求可以直接产品化部署使用。 B站配套视频:https://www.bilibili.com/video/BV1or421T74f 背景…

nginx简介及功能

一、简介: 1、nginx、apache是什么? ‌Nginx‌是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。它由伊戈尔赛索耶夫为Rambler.ru站点开发,以其稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而…

OSI七层网络模型 /TCP/IP五层模型以及封装分用的详细讲解

文章目录 协议分层的好处OSI七层网络模型TCP/IP五层网络模型网络设备所在的分层(重点)封装和分用 协议分层的好处 第一点: 在网络通信中,如果使用一个协议来解决所有的问题,那么这个协议就会非常的庞大,非常不利于去学习和理解&…

2023华为od机试C卷【转盘寿司】C 实现 单调栈

#include <stdio.h> #include <stdlib.h>/*单调栈 旋转寿司3 15 6 14 3 21 9 17*/ int main() {int i 0;int len 0;int data 0;int nums[501];char c ;while(scanf("%d",&nums[i]) 1){i;len;c getchar();if(c \n)break;}int *out NULL;int *s…

C语言-部分字符串函数详解 1-4

C语言-部分字符串函数详解 1-4 前言1.strlen1.1基本用法1.2注意事项\0size_t 1.3模拟实现 2.strcpy2.1基本用法2.2注意事项**源字符串必须以 \0 结束****会将源字符串中的 \0拷贝到目标空间****目标空间必须可修改****目标空间必须能容纳下源字符串的内容** 2.3模拟实现 3.strn…

【深度学习】【语音TTS】GPT-SoVITS v2 实战,训练一个人的音色,Docker镜像

文章目录 原理Dockerdocker push训练教程: https://www.yuque.com/baicaigongchang1145haoyuangong/ib3g1e/xyyqrfwiu3e2bgyk 原理 Docker 不用docker不行,不好分配显卡, 做个docker镜像: docker pull pytorch/pytorch:2.1.2

接口基础知识9:详解response body(响应体)

课程大纲 一、定义 HTTP响应体&#xff08;HTTP Response Body&#xff09;&#xff1a;服务器返回给客户端的数据部分&#xff0c;‌它包含了服务器对客户端请求的响应内容&#xff08;如客户端请求的资源、客户端请求的执行结果&#xff09;。 与请求类似&#xff0c;HTTP …

python之matplotlib (3 坐标轴设置)

写在前面 在说明坐标轴设置之前&#xff0c;我有必要和大家说清楚图像设置的一些方法&#xff0c;避免陷入困扰模糊的地步。前面我们说过&#xff0c;画图的三种方法&#xff08;python之matplotlib &#xff08;1 介绍及基本用法&#xff09;-CSDN博客&#xff09;。而设置也…

2024开源资产管理系统推荐 8款免费开源IT资产管理系统/软件

开源资产管理系统 开源资产管理系统是帮助企业管理、跟踪和优化其资产的强大工具。这些系统能够自动记录资产的详细信息&#xff0c;如采购日期、使用情况、维护记录等&#xff0c;从而实现资产的全生命周期管理。企业可以通过这些系统优化资产使用效率&#xff0c;减少资产闲…

【TCP】确认应答、超时重传机制和TCP报头

TCP 相关机制 TCP 基本特点&#xff1a;有连接、可靠传输、面向字节流、全双工 有连接、面向字节流和全双工都能在前面的代码中体现有连接&#xff1a;必须要先调用 accept 建立联系才能处理面向字节流&#xff1a;会拿到 clientSocket 对象的 InputStream 和 OutputStream&a…

python人工智能002:jupyter基本使用

小知识&#xff1a;将jupyter修改为中文&#xff0c;修改用户变量&#xff0c; 注意是用户变量&#xff0c;不是系统变量 新增用户变量 变量名&#xff1a;LANG 变量值&#xff1a;zh_CN.UTF8 然后重启jupyter 上一章的软件安装完成之后&#xff0c;就可以创建文件夹来学习写…

MaxKB(二):Ubuntu24.04搭建maxkb开发环境

接上文&#xff1a;windows10搭建maxkb开发环境&#xff08;劝退指南&#xff09; 上文在windows10环境搭建maxkb开发环境遇到各种坑&#xff0c;后面就转战ubuntu平台&#xff0c;果然比较顺利的完成开发环境搭建。当然遇到相关的问题还是可以参考上文《windows10搭建maxkb开发…

拟合与插值|线性最小二乘拟合|非线性最小二乘拟合|一维插值|二维插值

挖掘数据背后的规律是数学建模的重要任务&#xff0c;拟合与插值是常用的分析方法 掌握拟合与插值的基本概念和方法熟悉Matlab相关程序实现能够从数据中挖掘数学规律 拟合问题的基本提法 拟合问题的概念 已知一组数据(以二维为例)&#xff0c;即平面上n个点 ( x i , y i ) …

C语言指针详解-上

C语言指针详解-上 前言1.指针的基本概念1.1指针是什么1.2指针的声明与初始化1.3取地址符&和解引用符*& 运算符用于**获取变量的地址*** 运算符用于访问指针指向的值 2.指针的类型常见数据类型的指针指针与数组、字符串数组指针结构体指针函数指针二级指针void指针 3.指…