二进制包方式安装MindSpore Ascend 310版本
本文档介绍如何在Ascend 310环境的Linux系统上,使用二进制包方式快速安装MindSpore,Ascend 310版本仅支持推理。
安装MindSpore与依赖软件
下表列出了安装MindSpore所需的系统环境和第三方依赖。
软件名称 |
版本 |
作用 |
Ubuntu 18.04/CentOS 7.6/EulerOS 2.8 |
- |
编译和运行MindSpore的操作系统 |
Python |
3.7-3.9 |
MindSpore的使用依赖Python环境 |
昇腾AI处理器配套软件包 |
- |
MindSpore使用的Ascend平台AI计算库 |
GCC |
7.3.0 |
用于编译MindSpore的C++编译器 |
CMake |
3.18.3及以上 |
编译构建MindSpore的工具 |
下面给出第三方依赖的安装方法。
安装Python
Python可通过Conda进行安装。
安装Miniconda:
cd /tmp
curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py37_4.10.3-Linux-x86_64.sh
bash Miniconda3-py37_4.10.3-Linux-x86_64.sh -b
cd -
. ~/miniconda3/etc/profile.d/conda.sh
conda init bash
安装完成后,可以为Conda设置清华源加速下载,参考此处。
创建虚拟环境,以Python 3.7.5为例:
conda create -n mindspore_py37 python=3.7.5 -y
conda activate mindspore_py37
可以通过以下命令查看Python版本。
python --version
如果您的环境为ARM架构,请确认当前使用的Python配套的pip版本>=19.3。使用以下命令升级pip。
python -m pip install -U pip
安装昇腾AI处理器配套软件包
昇腾软件包提供商用版和社区版两种下载途径:
安装包默认安装路径为/usr/local/Ascend
。安装后确认当前用户有权限访问昇腾AI处理器配套软件包的安装路径,若无权限,需要root用户将当前用户添加到/usr/local/Ascend
所在的用户组。
安装昇腾AI处理器配套软件所包含的whl包。如果之前已经安装过昇腾AI处理器配套软件包,需要先使用如下命令卸载对应的whl包。
pip uninstall te topi hccl -y
默认安装路径使用以下指令安装。如果安装路径不是默认路径,需要将命令中的路径替换为安装路径。
pip install /usr/local/Ascend/ascend-toolkit/latest/lib64/topi-*-py3-none-any.whl
pip install /usr/local/Ascend/ascend-toolkit/latest/lib64/te-*-py3-none-any.whl
pip install /usr/local/Ascend/ascend-toolkit/latest/lib64/hccl-*-py3-none-any.whl
当默认路径存在安装包的时候,LD_LIBRARY_PATH环境变量不起作用;默认路径优先级别为:/usr/local/Ascend/nnae高于/usr/loacl/Ascend/ascend-toolkit;原因是MindSpore采用DT_RPATH方式支持无环境变量启动,减少用户设置;DT_RPATH优先级比LD_LIBRARY_PATH环境变量高。
安装GCC
-
Ubuntu 18.04可以使用以下命令安装。
sudo apt-get install gcc-7 -y
-
CentOS 7可以使用以下命令安装。
sudo yum install centos-release-scl
sudo yum install devtoolset-7
安装完成后,需要使用如下命令切换到GCC 7。
scl enable devtoolset-7 bash
-
EulerOS可以使用以下命令安装。
sudo yum install gcc -y
安装CMake
-
Ubuntu 18.04可以通过以下命令安装CMake。
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main"
sudo apt-get install cmake -y
-
其他Linux系统可以使用以下命令安装。
根据系统架构选择不同的下载链接。
# x86使用
curl -O https://cmake.org/files/v3.19/cmake-3.19.8-Linux-x86_64.sh
# aarch64使用
curl -O https://cmake.org/files/v3.19/cmake-3.19.8-Linux-aarch64.sh
执行安装脚本安装CMake,默认安装到/usr/local
目录下。
sudo mkdir /usr/local/cmake-3.19.8
sudo bash cmake-3.19.8-Linux-*.sh --prefix=/usr/local/cmake-3.19.8 --exclude-subdir
最后需要将CMake添加到PATH
环境变量中。如果使用默认安装目录执行以下命令,其他安装目录需要做相应修改。
echo -e "export PATH=/usr/local/cmake-3.19.8/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc
安装MindSpore
首先参考版本列表选择想要安装的MindSpore版本,并进行SHA-256完整性校验。以1.9.0版本为例,执行以下命令。
export MS_VERSION=1.9.0
然后根据系统架构及Python版本执行如下命令安装MindSpore。
# x86_64
wget https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MS_VERSION}/MindSpore/ascend/{arch}/mindspore_ascend-${MS_VERSION/-/}-linux_x86_64.tar.gz --no-check-certificate
tar -zxf mindspore_ascend-${MS_VERSION/-/}-linux_x86_64.tar.gz
# aarch64
wget https://ms-release.obs.cn-north-4.myhuaweicloud.com/${MS_VERSION}/MindSpore/ascend/{arch}/mindspore_ascend-${MS_VERSION/-/}-linux_aarch64.tar.gz --no-check-certificate
tar -zxf mindspore_ascend-${MS_VERSION/-/}-linux_aarch64.tar.gz
配置环境变量
安装好MindSpore之后,需要导出Runtime相关环境变量,下述命令中LOCAL_ASCEND=/usr/local/Ascend
的/usr/local/Ascend
表示配套软件包的安装路径,需注意将其改为配套软件包的实际安装路径。
# control log level. 0-DEBUG, 1-INFO, 2-WARNING, 3-ERROR, 4-CRITICAL, default level is WARNING.
export GLOG_v=2
# Conda environmental options
LOCAL_ASCEND=/usr/local/Ascend # the root directory of run package
# lib libraries that the run package depends on
export LD_LIBRARY_PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/lib64:${LOCAL_ASCEND}/driver/lib64:${LOCAL_ASCEND}/ascend-toolkit/latest/opp/op_impl/built-in/ai_core/tbe/op_tiling:${LD_LIBRARY_PATH}
# Environment variables that must be configured
## TBE operator implementation tool path
export TBE_IMPL_PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/opp/op_impl/built-in/ai_core/tbe
## OPP path
export ASCEND_OPP_PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/opp
## AICPU path
export ASCEND_AICPU_PATH=${ASCEND_OPP_PATH}/..
## TBE operator compilation tool path
export PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/compiler/ccec_compiler/bin/:${PATH}
## Python library that TBE implementation depends on
export PYTHONPATH=${TBE_IMPL_PATH}:${PYTHONPATH}
# Set path to extracted MindSpore accordingly
export LD_LIBRARY_PATH={mindspore_path}:${LD_LIBRARY_PATH}
其中:
{mindspore_path}
表示MindSpore二进制包所在位置的绝对路径。
验证是否成功安装
创建目录放置样例代码工程,例如/home/HwHiAiUser/Ascend/ascend-toolkit/20.0.RC1/acllib_linux.arm64/sample/acl_execute_model/ascend310_single_op_sample
,代码可以从官网示例下载获取,这是一个[1, 2, 3, 4]
与[2, 3, 4, 5]
相加的简单样例,代码工程目录结构如下:
└─ascend310_single_op_sample
├── CMakeLists.txt // 编译脚本
├── README.md // 使用说明
├── main.cc // 主函数
└── tensor_add.mindir // MindIR模型文件
进入样例工程目录,按照实际情况修改路径路径:
cd /home/HwHiAiUser/Ascend/ascend-toolkit/20.0.RC1/acllib_linux.arm64/sample/acl_execute_model/ascend310_single_op_sample
参照README.md
说明,构建工程,其中{mindspore_path}
表示MindSpore二进制包所在位置的绝对路径,根据实际情况替换。
cmake . -DMINDSPORE_PATH={mindspore_path}
make
构建成功后,执行用例。
./tensor_add_sample
如果输出:
3
5
7
9
说明MindSpore安装成功了。