服务器配置如下:
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 检查源
python
# 备份,进入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 开源社区
源更换示例如下:
python
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依赖软件等。
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缺失。
python
# 此步针对上述缺失的软件进行安装
yum install -y gcc-c++ openssl-devel lapack-devel gcc-gfortran
# 结束可再检查一下版本是否有,有即安装成功
2.3.2 Python安装(已存在)
检查系统是否安装满足版本要求的Python开发环境(具体要求请参见2.6.1.2 依赖列
表,此步骤以环境上需要使用Python 3.7.x为例进行说明)。
python
# 执行命令python3 --version,如果返回信息满足Python版本要求,则跳过安装
python3 --version
如果没有Python,执行以下操作:
2.3.3 Python依赖安装
具体实施如下:
(1)安装前,请先配置pip源如下:
python
# 使用软件包的安装用户,执行如下命令:
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安装易报错:
第一次(直接装均成功):
python
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/
python
# 首先更新pip3【避免出现不支持的情况】
pip3 install --upgrade pip
# 离线whl文件安装
pip3 install scipy-1.7.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
注意:如果安装numpy报错:(降低版本)
python
export CFLAGS=-std=c99
pip3 install numpy==1.17.2
3 CANN安装
注意:以下在root用户登录执行
3.1 安装 Toolkit
切换至root用户执行安装操作,请执行如下命令配置环境变量后再进行安装操作。
python
export USER=root
在软件包所在目录执行如下命令,增加对软件包的可执行权限。
python
chmod +x Ascend-cann-toolkit_7.0.1_linux-aarch64.run
在软件包所在目录执行以下命令安装软件。
python
./Ascend-cann-toolkit_7.0.1_linux-aarch64.run --install --install-for-all --quiet
安装完成后,若显示xxx install success,则说明软件安装成功:
随后进行如下操作让其生效:
python
vi ~/bashrc
source /usr/local/Ascend/ascend-toolkit/set_env.sh
source ~/bashrc
注意:不同的用户需要配置环境变量才能生效!
3.2 安装二进制算子包
在包含动态shape网络或单算子API(例如aclnn类API)场景下需安装二进制算子包。
二进制算子包依赖CANN软件包Toolkit,执行安装时,当前环境需已安装配套版本的
Toolkit,并使用同一用户安装。
在软件包所在目录执行如下命令,增加对软件包的可执行权限。
python
chmod +x Ascend-cann-kernels-310p_7.0.1_linux.run
在软件包所在目录执行以下命令安装软件。
python
./Ascend-cann-kernels-310p_7.0.1_linux.run --install --install-for-all --quiet
安装完成后,若显示xxx install success,则说明软件安装成功。
确认atc --help工具是否可用(没报错即成功):
python
atc --help
安装后的路径(以root用户默认安装路径为例):"/usr/local/Ascend/ascendtoolkit/latest/opp/built-in/op_impl/ai_core/tbe/kernel"。
以上,CANN安装完毕,可以进行om模型转换!!!