Atlas800昇腾服务器(型号:3000)—CANN安装(二)

devtools/2024/10/20 8:09:09/

服务器配置如下:

CPU/NPU:鲲鹏 CPU(ARM64)+A300I pro推理卡
系统:Kylin V10 SP1【下载链接】【安装链接】
驱动与固件版本版本
Ascend-hdk-310p-npu-driver_23.0.1_linux-aarch64.run【下载链接】
Ascend-hdk-310p-npu-firmware_7.1.0.4.220.run【下载链接】
MCU版本:Ascend-hdk-310p-mcu_23.2.3【下载链接】
CANN开发套件:版本7.0.1【Toolkit下载链接】【Kernels下载链接】

注意:以下在root用户登录执行。

1 检查源

1.1 确认外网链接

在这里插入图片描述

1.2 检查源

# 备份,进入yum源文件目录
cd /etc/yum.repos.d
cp kylin_aarch64.repo kylin_aarch64.repo.bak# 请在root用户下执行如下命令检查源是否可用【结果报错,需换源】
yum makecache

在这里插入图片描述
在这里插入图片描述
解决参考【注意给文件权限,否则无法更新】:
解决银河麒麟V10系统Failed to download metadata for repo ‘ks10-adv-os‘报错问题_linux_白兰地没有酒-GitCode 开源社区
源更换示例如下:

http://archive2.kylinos.cn/rpm/kylin/production/KY-KY10-GFB-aarch64/custom/kylin-server/KY10-GFB-aarch64/

在这里插入图片描述

2 安装依赖

2.1 检查 root 用户的 umask

在这里插入图片描述

2.2 检查系统时间

在这里插入图片描述

2.3 安装基础依赖

2.3.1 基础依赖安装

以root用户登录服务器,检查系统是否安装Python依赖以及gcc等软件。
分别使用如下命令检查是否安装gcc,make以及Python依赖软件等。

gcc --version
g++ --version
make --version
cmake --version
rpm -qa |grep unzip
rpm -qa |grep zlib-devel
rpm -qa |grep libffi-devel
rpm -qa |grep openssl-devel
rpm -qa |grep pciutils
rpm -qa |grep net-tools
rpm -qa |grep sqlite-devel
rpm -qa |grep lapack-devel
rpm -qa |grep gcc-gfortran

若分别返回版本/结果信息则说明已经安装,缺少需要自行补装。
在这里插入图片描述

否则请执行如下安装命令(如果只有部分软件未安装,则如下命令修改为还未安装的
软件即可)如下g++,openssl-devel,lapack-devel,gcc-gfortran缺失。

# 此步针对上述缺失的软件进行安装
yum install -y gcc-c++ openssl-devel lapack-devel gcc-gfortran
# 结束可再检查一下版本是否有,有即安装成功
2.3.2 Python安装(已存在)

检查系统是否安装满足版本要求的Python开发环境(具体要求请参见2.6.1.2 依赖列
表,此步骤以环境上需要使用Python 3.7.x为例进行说明)。

# 执行命令python3 --version,如果返回信息满足Python版本要求,则跳过安装
python3 --version

在这里插入图片描述
如果没有Python,执行以下操作:
在这里插入图片描述

在这里插入图片描述

2.3.3 Python依赖安装

在这里插入图片描述
具体实施如下:
(1)安装前,请先配置pip源如下:

# 使用软件包的安装用户,执行如下命令:
cd ~/.pip
# 如果提示目录不存在,则执行如下命令创建:
mkdir ~/.pip 
cd ~/.pip
# 编辑pip.conf文件。# 使用vi pip.conf命令打开pip.conf文件,写入如下内容:
[global]
#以华为源为例,请根据实际情况进行替换。
index-url = https://mirrors.huaweicloud.com/repository/pypi/simple
trusted-host = mirrors.huaweicloud.com
timeout = 120# 执行:wq!命令保存文件。

(2)运行安装命令,分两次安装,numpy和scipy安装易报错:
第一次(直接装均成功):

pip3 install attrs cython decorator sympy cffi pyyaml pathlib2 psutil protobuf requests absl-py

第二次(利用离线文件进行scipy安装,会顺带把numpy一起安装,版本为1.21.6):
scipy下载链接:https://pypi.tuna.tsinghua.edu.cn/simple/scipy/

# 首先更新pip3【避免出现不支持的情况】
pip3 install --upgrade pip
# 离线whl文件安装
pip3 install scipy-1.7.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

注意:如果安装numpy报错:(降低版本)

export CFLAGS=-std=c99
pip3 install numpy==1.17.2

CANN_125">3 CANN安装

注意:以下在root用户登录执行

3.1 安装 Toolkit

切换至root用户执行安装操作,请执行如下命令配置环境变量后再进行安装操作。

export USER=root

在软件包所在目录执行如下命令,增加对软件包的可执行权限。

chmod +x Ascend-cann-toolkit_7.0.1_linux-aarch64.run

在软件包所在目录执行以下命令安装软件。

./Ascend-cann-toolkit_7.0.1_linux-aarch64.run --install --install-for-all --quiet

安装完成后,若显示xxx install success,则说明软件安装成功:

随后进行如下操作让其生效:
在这里插入图片描述

vi ~/bashrc
source /usr/local/Ascend/ascend-toolkit/set_env.sh 
source ~/bashrc

注意:不同的用户需要配置环境变量才能生效!

3.2 安装二进制算子包

在包含动态shape网络或单算子API(例如aclnn类API)场景下需安装二进制算子包。
二进制算子包依赖CANN软件包Toolkit,执行安装时,当前环境需已安装配套版本的
Toolkit,并使用同一用户安装。
在软件包所在目录执行如下命令,增加对软件包的可执行权限。

chmod +x Ascend-cann-kernels-310p_7.0.1_linux.run

在软件包所在目录执行以下命令安装软件。

./Ascend-cann-kernels-310p_7.0.1_linux.run --install --install-for-all --quiet

安装完成后,若显示xxx install success,则说明软件安装成功。

确认atc --help工具是否可用(没报错即成功):

atc --help

在这里插入图片描述
安装后的路径(以root用户默认安装路径为例):“/usr/local/Ascend/ascendtoolkit/latest/opp/built-in/op_impl/ai_core/tbe/kernel”。

以上,CANN安装完毕,可以进行om模型转换!!!


http://www.ppmy.cn/devtools/127233.html

相关文章

基于SpringBoot+Vue+uniapp微信小程序的澡堂预订的微信小程序的详细设计和实现

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…

Hadoop集群安装

集群规划 node01node02node03角色主节点从节点从节点NameNode√DataNode√√√ResourceManager√NodeManager√√√SecondaryNameNode√Historyserver√ 上传安装包到node01 解压到指定目录 tar -zxvf /bigdata/soft/hadoop-3.3.3.tar.gz -C /bigdata/server/ 创建软链接 cd…

安全光幕的工作原理及应用场景

安全光幕是一种利用光电传感技术来检测和响应危险情况的先进设备。其工作原理基于红外线传感器,通过发射红外光束并接收反射或透射光束来形成一道无形的屏障。以下是对安全光幕工作原理和应用场景的介绍: 工作原理 发射器与接收器:安全光幕通…

详细说明如何使用C++编写A*算法

A*算法(A-star algorithm)是一种广泛应用于路径规划和图搜索的启发式搜索算法。它结合了广度优先搜索的全面性和深度优先搜索的效率,通过估计当前路径代价和到达目标的预估代价,来找到从起点到目标的最短路径。A算法在游戏开发、机…

生成式人工智能如何帮助我们更有效地传达信息

来源:Graves, C. (2023, February 16). Generative AI can help you tailor messaging to specific audiences. Harvard Business Review. https://hbr.org/2023/02/generative-ai-can-help-you-tailor-messaging-to-specific-audiences 想象一下,你是一…

我开源了Go语言连接数据库和一键生成结构体的包【实用】

项目地址:https://gitee.com/zht639/my_gopkg autosql autosql 是一个简化数据库使用的模块,支持常见的数据库(MySQL、PostgreSQL、SQLite、SQL Server)。该模块不仅提供了数据库连接函数,还能自动生成数据表对应的结…

leetcode289:生命游戏

根据 百度百科 , 生命游戏 ,简称为 生命 ,是英国数学家约翰何顿康威在 1970 年发明的细胞自动机。 给定一个包含 m n 个格子的面板,每一个格子都可以看成是一个细胞。每个细胞都具有一个初始状态: 1 即为 活细胞 &am…

9.存储过程安全性博客大纲(9/10)

存储过程安全性博客大纲 引言 在数据库系统中,存储过程是一种预先编写好的SQL代码集合,它被保存在数据库服务器上,可以通过指定的名称来调用执行。存储过程可以包含一系列的控制流语句,如IF条件语句、WHILE循环等,使…