本文档介绍如何在Ascend 910环境的Linux系统上,使用源码编译方式快速安装MindSpore。
确认安装64位操作系统,其中Ubuntu 18.04/CentOS 7.6/EulerOS 2.8/OpenEuler 20.03/KylinV10 SP1是经过验证的。
确认安装GCC 7.3.0版本。
确认安装gmp 6.1.2版本。
确认安装Flex 2.5.35及以上版本。
确认安装OpenMPI 4.0.3版本(可选,单机多卡/多机多卡训练需要)。
确认安装Python 3.7.5或3.9.0版本。如果未安装或者已安装其他版本的Python,可以选择下载并安装:
确认安装CMake 3.18.3及以上版本。
确认安装patch 2.5及以上版本。
确认安装wheel 0.32.0及以上版本。
确认安装Ascend AI处理器配套软件包(Ascend Data Center Solution 21.0.3),安装方式请参考配套指南。
确认当前用户有权限访问Ascend AI处理器配套软件包的安装路径/usr/local/Ascend
,若无权限,需要root用户将当前用户添加到/usr/local/Ascend
所在的用户组。
安装Ascend AI处理器配套软件包提供的whl包,whl包随配套软件包发布,参考如下命令完成安装。
pip install /usr/local/Ascend/ascend-toolkit/latest/fwkacllib/lib64/topi-{version}-py3-none-any.whl
pip install /usr/local/Ascend/ascend-toolkit/latest/fwkacllib/lib64/te-{version}-py3-none-any.whl
pip install /usr/local/Ascend/ascend-toolkit/latest/fwkacllib/lib64/hccl-{version}-py3-none-any.whl
如果升级了Ascend AI处理器配套软件包,配套的whl包也需要重新安装,先将原来的安装包卸载,再参考上述命令重新安装。
pip uninstall te topi hccl -y
确认安装NUMA 2.0.11及以上版本。 Ubuntu系统用户,如果未安装,使用如下命令下载安装:
apt-get install libnuma-dev
EulerOS和CentOS系统用户,如果未安装,使用如下命令下载安装:
yum install numactl-devel
确认安装git工具。 如果未安装,使用如下命令下载安装:
apt-get install git # for linux distributions using apt, e.g. ubuntu
yum install git # for linux distributions using yum, e.g. centos
确认安装git-lfs工具。
git clone https://gitee.com/mindspore/mindspore.git -b r1.5
在源码根目录下执行如下命令。
bash build.sh -e ascend
其中:
build.sh
中默认的编译线程数为8,如果编译机性能较差可能会出现编译错误,可在执行中增加-j{线程数}来减少线程数量。如bash build.sh -e ascend -j4
。
pip install output/mindspore_ascend-{version}-{python_version}-linux_{arch}.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
其中:
{version}
表示MindSpore版本号,例如安装1.5.0-rc1版本MindSpore时,{version}
应写为1.5.0rc1。{arch}
表示系统架构,例如使用的Linux系统是x86架构64位时,{arch}
应写为x86_64
。如果系统是ARM架构64位,则写为aarch64
。{python_version}
表示用户的Python版本,Python版本为3.7.5时,{python_version}
应写为cp37-cp37m
。Python版本为3.9.0时,则写为cp39-cp39
。如果Ascend AI处理器配套软件包没有安装在默认路径,安装好MindSpore之后,需要导出Runtime相关环境变量,下述命令中LOCAL_ASCEND=/usr/local/Ascend
的/usr/local/Ascend
表示配套软件包的安装路径,需注意将其改为配套软件包的实际安装路径。
# control log level. 0-DEBUG, 1-INFO, 2-WARNING, 3-ERROR, 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/fwkacllib/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
export TBE_IMPL_PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/opp/op_impl/built-in/ai_core/tbe # TBE operator implementation tool path
export ASCEND_OPP_PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/opp # OPP path
export PATH=${LOCAL_ASCEND}/ascend-toolkit/latest/fwkacllib/ccec_compiler/bin/:${PATH} # TBE operator compilation tool path
export PYTHONPATH=${TBE_IMPL_PATH}:${PYTHONPATH} # Python library that TBE implementation depends on
方法一:
python -c "import mindspore;mindspore.run_check()"
如果输出:
MindSpore version: 版本号
The result of multiplication calculation is correct, MindSpore has been installed successfully!
说明MindSpore安装成功了。
方法二:
import numpy as np
from mindspore import Tensor
import mindspore.ops as ops
import mindspore.context as context
context.set_context(device_target="Ascend")
x = Tensor(np.ones([1,3,3,4]).astype(np.float32))
y = Tensor(np.ones([1,3,3,4]).astype(np.float32))
print(ops.add(x, y))
如果输出:
[[[[2. 2. 2. 2.]
[2. 2. 2. 2.]
[2. 2. 2. 2.]]
[[2. 2. 2. 2.]
[2. 2. 2. 2.]
[2. 2. 2. 2.]]
[[2. 2. 2. 2.]
[2. 2. 2. 2.]
[2. 2. 2. 2.]]]]
说明MindSpore安装成功了。
当需要升级MindSpore版本时,可执行如下命令:
直接在线升级
pip install --upgrade mindspore-ascend
本地源码编译升级
在源码根目录下执行编译脚本build.sh
成功后,在output
目录下找到编译生成的whl安装包,然后执行命令进行升级。
pip install --upgrade mindspore_ascend-{version}-{python_version}-linux_{arch}.whl
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。