本文介绍通过命令行方式
来搭建atlas300的开发环境。
文章目录
CANN 版本
V100R020C00RC1
A300-3010-NPU_Driver-20.0.0-X86_64-Ubuntu18.04.run
A300-3010-NPU_Firmware-1.73.5.1.b050.run
Ascend-Toolkit-20.0.0.RC1-x86_64-linux_gcc7.3.0.run
Ascend-NNRT-20.0.0.RC1-x86_64-linux_gcc7.3.0.run
Ascend-Toolbox-20.0.0.RC1-x86_64-linux_gcc7.3.0.run
系统要求
硬件形态 | 操作系统版本 | 操作系统内核版本 |
---|---|---|
X86_64+atlas300-3010 | Ubuntu 18.04.5 LTS | 4.15.0-124-generic |
X86_64+atlas300-3010 | Ubuntu 18.04.1 LTS | 4.15.0-29-generic |
X86_64+atlas300-3010 | Ubuntu 18.04.5 LTS | 4.15.0-29-generic |
以上系统要求 均实测过。
加速卡的CANN套件的安装只支持在指定的Linux操作系统和指定的内核版本上安装运行。对于刚开始接触CANN环境搭建的开发者来说,最稳妥的方式就是按照官方文档的要求来。官方给出的默认系统版本信息是Ubuntu 18.04.1 LTS+4.15.0-29-generic
。
查看操作系统版本及内核的命令
$ cat /etc/issue
Ubuntu 18.04.5 LTS \n \l
$ uname -r
4.15.0-29-generic
更新源
sudo apt-get update
创建安装及运行用户
安装前准备
设置root密码
sudo passwd root #自己设置
创建HwHiAiUser用户
# 创建HwHiAiUser用户
$ groupadd HwHiAiUser #创建HwHiAiUser用户属组
$ useradd -g HwHiAiUser -d /home/HwHiAiUser -s /bin/bash -m HwHiAiUser # 创建HwHiAiUser用户,其属组为HwHiAiUser
$ passwd HwHiAiUser
# 升级HwHiAiUser的权限
sudo vi /etc/sudoers
# 添加 HwHiAiUser ALL=(ALL:ALL) ALL
创建普通用户(可选)
$ useradd -g HwHiAiUser -d /home1/fujun -s /bin/bash -m fujun
$ passwd fujun
sudo vi /etc/sudoers
# 添加 fujun ALL=(ALL:ALL) ALL
安装依赖
检查系统是否安装python依赖以及gcc等软件
分别使用如下命令检查是否安装gcc, make以及python依赖软件等。
gcc --version
make --version
cmake --version
dpkg -l zlib1g| grep zlib1g| grep ii
dpkg -l zlib1g-dev| grep zlib1g-dev| grep ii
dpkg -l libsqlite3-dev| grep libsqlite3-dev| grep ii
dpkg -l openssl| grep openssl| grep ii
dpkg -l libssl-dev| grep libssl-dev| grep ii
dpkg -l libffi-dev| grep libffi-dev| grep ii
dpkg -l unzip| grep unzip| grep ii
dpkg -l pciutils| grep pciutils| grep ii
dpkg -l net-tools| grep net-tools| grep ii
dpkg -l dkms| grep dkms| grep ii
dpkg -l g++| grep g++| grep ii
gcc (Ubuntu 7.3.0-3ubuntu1~18.04) 7.3.0 #gcc 支持 7.3.0+
GNU Make 4.1
cmake version 3.10.2
zlib1g:amd64 1:1.2.11.dfsg-0ubuntu2 amd64 compression library - runtime
zlib1g-dev:amd64 1:1.2.11.dfsg-0ubuntu2 amd64 compression library - development
libsqlite3-dev:amd64 3.22.0-1ubuntu0.3 amd64 SQLite 3 development files
openssl 1.1.1-1ubuntu2.1~18.04.5 amd64 Secure Sockets Layer toolkit - cryptographic utility
libssl-dev:amd64 1.1.1-1ubuntu2.1~18.04.5 amd64 Secure Sockets Layer toolkit - development files
libffi-dev:amd64 3.2.1-8 amd64 Foreign Function Interface library (development files)
unzip 6.0-21ubuntu1 amd64 De-archiver for .zip files
pciutils 1:3.5.2-1ubuntu1.1 amd64 Linux PCI Utilities
net-tools 1.60+git20161116.90da8a0-1ubuntu1 amd64 NET-3 networking toolkit
sudo apt-get install -y gcc make cmake zlib1g zlib1g-dev libsqlite3-dev openssl libssl-dev libffi-dev unzip pciutils net-tools g++ dkms
检查系统是否安装python开发环境
检查是否已安装
python3.7.5 --version
pip3.7.5 --version
安装python3.7.5环境
# 编译&安装python3.7.5
wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
tar -zxvf Python-3.7.5.tgz
cd Python-3.7.5
./configure --prefix=/usr/local/python3.7.5 --enable-shared
make
sudo make install
sudo cp /usr/local/python3.7.5/lib/libpython3.7m.so.1.0 /usr/lib(或/usr/lib64)
# 设置软链接
sudo ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7
sudo ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7
sudo ln -s /usr/local/python3.7.5/bin/python3 /usr/bin/python3.7.5
sudo ln -s /usr/local/python3.7.5/bin/pip3 /usr/bin/pip3.7.5
# 安装包,若已安装则跳过(pip3.7.5 list 命令查看)
# 非root用户 需要在命令后加 --user
pip3.7.5 install attrs psutil decorator numpy protobuf==3.11.3 scipy sympy cffi grpcio grpcio-tools requests --user
# 如果安装过程中慢或者出现read timeout,可以设置镜像源,反复执行上面的pip install命令,直至安装完成
HwHiAiUser@ubuntu:~$ mkdir .pip
HwHiAiUser@ubuntu:~$ cd .pip
HwHiAiUser@ubuntu:~/.pip$ vi pip.conf
# 添加如下内容
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
#保存退出即可
!!!如果上述依赖没有安装成功,不要往下安装,需解决后再继续!!!
安装驱动和固件
驱动包名称 | A300-3010-NPU_Driver-20.0.0-X86_64-Ubuntu18.04.run |
---|---|
固件包名称 | A300-3010-NPU_Firmware-1.73.5.1.b050.run |
注意:
- 必须用root用户安装
- 安装顺序为 驱动、固件
说明:
- 软件包默认安装路径: /usr/local/Ascend
- 安装详细日志路径: /var/log/ascend_seclog/ascend_install.log
- 安装后软件包的安装路径、安装命令以及运行用户信息记录路径: /etc/
ascend_install.info。
安装 驱动
$ ./A300-3010-NPU_Driver-20.0.0-X86_64-Ubuntu18.04.run --full
出现如下信息说明安装成功:
安装 固件
$ ./A300-3010-NPU_Firmware-1.73.5.1.b050.run --full
出现如下信息说明安装成功:
执行reboot重启
重启后,查看驱动是否生效
npu-msi info
安装CANN软件包
离线推理引擎 | Ascend-NNRT-20.0.0.RC1-x86_64-linux_gcc7.3.0.run |
---|---|
实用工具 | Ascend-Toolbox-20.0.0.RC1-x86_64-linux_gcc7.3.0.run |
开发套件 | Ascend-Toolkit-20.0.0.RC1-x86_64-linux_gcc7.3.0.run |
说明:Toolkit 开发套件 本质上包含了离线推理引擎(NNRT)和实用工具(Toolbox),所以不管是运行环境还是开发环境,只要安装了Toolkit就行。
注意:
-
既可用root用户安装,也可以用HwHiAiUser用户安装。
差异在于使用root用户安装,安装目录为/usr/local/Ascend;使用HwHiAiUser用户安装,安装目录在/home/HwHiAiUser/Ascend;
-
生产环境一般用root用户安装
安装开发套件(开发环境)
# 校验软件包安装文件的一致性和完整性
$ ./Ascend-Toolkit-20.0.0.RC1-x86_64-linux_gcc7.3.0.run --check
$ ./Ascend-Toolkit-20.0.0.RC1-x86_64-linux_gcc7.3.0.run --install
安装离线推理引擎(运行环境)
# 校验软件包安装文件的一致性和完整性
$ ./Ascend-NNRT-20.0.0.RC1-x86_64-linux_gcc7.3.0.run --check
$ ./Ascend-NNRT-20.0.0.RC1-x86_64-linux_gcc7.3.0.run --install
安装实用工具(运行环境)
# 校验软件包安装文件的一致性和完整性
$ ./Ascend-Toolbox-20.0.0.RC1-x86_64-linux_gcc7.3.0.run --check
$ ./Ascend-Toolbox-20.0.0.RC1-x86_64-linux_gcc7.3.0.run --install
添加环境变量
#toolbox_install_path=/home/HwHiAiUser/Ascend/toolbox/20.0.0.RC1/x86_64-linux_gcc7.3.0
#nnrt_install_path=/home/HwHiAiUser/Ascend/nnrt/20.0.0.RC1/x86_64-linux_gcc7.3.0
toolkit_install_path=/home/HwHiAiUser/Ascend/ascend-toolkit/20.0.0.RC1/x86_64-linux_gcc7.3.0
#export PATH=${toolbox_install_path}/dmi/bin:${PATH}
export PATH=${toolkit_install_path}/dmi/bin:${PATH}
#export LD_LIBRARY_PATH=/usr/local/dcmi:/usr/local/Ascend/add-ons:/usr/local/Ascend/driver/lib64:${toolbox_install_path}/dmi/lib64:${nnrt_install_path}/acllib/lib64:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=/usr/local/dcmi:/usr/local/Ascend/add-ons:/usr/local/Ascend/driver/lib64:${toolkit_install_path}/dmi/lib64:${toolkit_install_path}/acllib/lib64:${LD_LIBRARY_PATH}
检查设备健康状态
检查环境软硬件兼容性
至此,atlas300的开发环境就搭建好了!接下来,就要开始我的昇腾之旅。