从0开始配置mindtorch环境
本文的linux(昇腾)服务器是一个刚安装好Ubuntu20.04 LST的裸机,具体的信息如下:
- Distributor ID: Ubuntu
- Description: Ubuntu 20.04.5 LTS
- Release: 20.04
- Codename: focal
- NPU:910A
本文将会一步步展示如何完整配置一个完整的,可以运行mindtorch(0.3.0)的环境。
要安装的依赖
为了配置一个可以运行mindtorch的环境,需要安装以下的依赖:
- Miniconda:用于管理Python环境
- Python
- NPU固件与驱动
- Cann软件包:昇腾AI处理器配套软件包
- Mindspore
- Mindtorch
下面逐个来安装
参考链接:
安装依赖
准备
首先需要找到一个文件夹,用于放置安装包,本文选择在~/packages
下放置安装包。
1 | cd ~/ |
Miniconda
这里下载最新的Miniconda。
1 | 切换到你放置安装包的文件夹中 |
然后按照安装脚本里的提示安装即可。一直回车,直至让选择yes/no(是否安装),选择yes,再次回车,第二次让选择yes/no(决定是否在启动时进入base环境),选择yes,至此Miniconda安装完毕。
Python
重新打开一个终端窗口,确定能在行前看到(base)的字样。这样就说明成功安装了conda并激活了conda的环境:
1 | (base) shuziren@ubuntu:~$ |
然后用conda创建一个虚拟环境:
1 | conda create -n iplap python==3.10 -y |
这创建了一个Python版本为3.10的,名为iplap的虚拟环境。然后就可以激活这个虚拟环境
1 | conda activate iplap |
NPU固件与驱动
安装依赖
执行命令安装所需依赖:
1 | apt-get install -y dkms gcc linux-header-$(uname -r) |
暂时跳过了linux-header-$(uname -r)
,因为没有对应版本的。
准备安装包
然后需要安装两个东西,一个是驱动,一个是固件。可以参考:华为官方文档
这里安装的是Cann 8.0rc2的固件和驱动。
1 | Ascend-hdk-910-npu-driver 23.0.0 linux-aarch64.run |
添加HwHiAiUser
为了安装固件和驱动,需要新添加一个名为HwHiAiUser的用户,在root用户模式下,用如下命令新加一个用户:
1 | groupadd HwHiAiUser |
然后需要将自己的用户(我这里是shuziren)添加到HwHiAiUser组中:
1 | usermod -a -G HwHiAiUser shuziren |
安装软件包
给软件包加上执行权限:
1 | chmod +x Ascend-hdk-910-npu-driver 23.0.0 linux-aarch64.run |
然后在安装前进行软件包的自检
1 | ./Ascend-hdk-910-npu-driver 23.0.0 linux-aarch64.run --check |
最后在root用户下进行安装:
1 | ./Ascend-hdk-910-npu-driver 23.0.0 linux-aarch64.run --full --install-for-all |
如果显示:
1 [ERROR]The list of missing tools: lspci,ifconfig,则安装一下软件包:
1 apt-get install -y net-tools pciutils
若系统出现如下关键回显信息,则表示驱动(driver)安装成功。
1
Driver package installed successfully!
若系统出现如下关键回显信息,表示固件安装成功。
1
Firmware package installed successfully! Reboot now or after driver installation for the installation/upgrade to take effect
重启系统
然后需要重启一下系统:
1 | reboot |
最后用npu-smi info
检查一下是否安装成功了。
Cann软件包
然后给需要使用Cann的用户,比如我这是shuziren
,安装Cann软件包。现在不是用root用户,而是用需要使用Cann的用户登录。
安装依赖
首先要安装依赖:
执行如下命令,安装软件包:
1
sudo apt-get install -y gcc g++ make cmake libsqlite3-dev zlib1g-dev libssl-dev libffi-dev net-tools
检查系统是否安装满足版本要求的Python开发环境(支持Python3.7.x至3.10.x)。
1
2python3 --version
pip3 --version #如果没装需要装一下符合要求则执行下一步。
执行如下命令安装所需的Python第三方库:
1
pip3 install attrs cython numpy==1.24 decorator sympy cffi pyyaml pathlib2 psutil protobuf==3.20 scipy requests absl-py --user
准备安装包
在官网上找到8.0.RC2.beta1版本的安装包,对应服务器上的芯片的版本(例如我这里是910,就选择了-910,并且我是aarch64的版本的)。
1 | Ascend-cann-kernels-910_8.0.Rc2_linux.run |
可以用wget
来下载:
1 | wget -O Ascend-cann-kernels-910_8.0.RC2_linux.run https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%208.0.RC2/Ascend-cann-kernels-910_8.0.RC2_linux.run?response-content-type=application/octet-stream |
安装前检查
在安装前运行check检查一下:
1 | chmod +x ./Ascend-cann-kernels-910_8.0.RC2_linux.run |
安装
先在~/
下创建一个名为Ascend的文件夹
1 | ./Ascend-cann-toolkit_8.0.RC2_linux-aarch64.run --install |
然后添加一下环境变量
1 | echo 'source ~/Ascend/ascend-toolkit/set_env.sh' >> ~/.bashrc |
安装Mindspore
激活之前创建的conda环境后,先安装几个软件包:
还需要pip安装几个包:
1 | pip uninstall te topi hccl -y |
然后用如下指令就安装Mindspore:
1 | export MS_VERSION=2.3.1 |
然后验证一下是否安装成功:
1 | python -c "import mindspore;mindspore.set_context(device_target='Ascend');mindspore.run_check()" |
安装Mindtorch
安装最新版本的mindtorch:
1 | git clone https://openi.pcl.ac.cn/OpenI/MSAdapter.git |