346 Star 1.6K Fork 1K

MindSpore/docs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
mindspore_ascend_install_source.md 8.34 KB
一键复制 编辑 原始数据 按行查看 历史

源码编译方式安装MindSpore Ascend 910版本

查看源文件

本文档介绍如何在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及以上版本

    • 安装完成后将CMake所在路径添加到系统环境变量。
  • 确认安装patch 2.5及以上版本

    • 安装完成后将patch所在路径添加到系统环境变量中。
  • 确认安装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

编译MindSpore

在源码根目录下执行如下命令。

bash build.sh -e ascend

其中:
build.sh中默认的编译线程数为8,如果编译机性能较差可能会出现编译错误,可在执行中增加-j{线程数}来减少线程数量。如bash build.sh -e ascend -j4

安装MindSpore

pip install output/mindspore_ascend-{version}-{python_version}-linux_{arch}.whl -i https://pypi.tuna.tsinghua.edu.cn/simple

其中:

  • 在联网状态下,安装whl包时会自动下载mindspore安装包的依赖项(依赖项详情参见setup.py中的required_package),其余情况需自行安装。运行模型时,需要根据ModelZoo中不同模型指定的requirements.txt安装额外依赖,常见依赖可以参考requirements.txt
  • {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版本

当需要升级MindSpore版本时,可执行如下命令:

  • 直接在线升级

    pip install --upgrade mindspore-ascend
    
  • 本地源码编译升级

    在源码根目录下执行编译脚本build.sh成功后,在output目录下找到编译生成的whl安装包,然后执行命令进行升级。

    pip install --upgrade mindspore_ascend-{version}-{python_version}-linux_{arch}.whl
    
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mindspore/docs.git
git@gitee.com:mindspore/docs.git
mindspore
docs
docs
r1.5

搜索帮助