本项目开发了PyTorch Adapter插件,用于昇腾适配PyTorch框架,为使用PyTorch框架的开发者提供昇腾AI处理器的超强算力。
支持操作系统os:CentOS, Ubuntu, EulerOS
支持指令集架构: x86_64, arm
gcc版本: 7.3.0(只在编译场景要求)
python版本:3.7.5
cmake版本:3.12.0以上版本
cmake版本安装要在3.12.0以上
yum install -y cmake zlib-devel libffi-devel openssl-devel libjpeg-turbo-devel gcc-c++ sqlit-devel
apt-get install -y gcc g++ make build-essential libssl-dev zlib 1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev m4 cmake
pip3 install numpy==1.18.2
pip3 install decorator
pip3 install attrs
pip3 install sympy
pip3 install pyyaml
pip3 install wheel
pip3 install protobuf
pip3 install grpcio (编译时间较长)
pip3 install setuptools
pip3 install Pillow (5.3.0或以上版本)
pip3 install torchvision (版本要求0.6)
编译pytorch whl包提供两种途径,一种是执行命令编译方式,另一种是build.sh脚本方式。
命令编译方式前,需要配置环境变量。build.sh方式直接运行即可。
先设置环境变量ACL_HOME 和 ASCEND_HOME需外部指向安装目录,一个是ASCEND_HOME指向run包安装路径,ACL_HOME指向3-8包fwkacllibl路径
export ASCEND_HOME=/usr/local/Ascend
export ACL_HOME=/usr/local/Ascend/nnae/lastest/fwkacllib
export PYTORCH_BUILD_VERSION='1.5.0+ascend'
export PYTORCH_BUILD_NUMBER=1
export ASCEND_DRIVER_HOME=${ASCEND_HOME}/driver/lib64/driver
export PYTHONPATH=${PYTHONPATH}:${ACL_HOME}/python/site-packages/auto_tune.egg/auto_tune:${ACL_HOME}/python/site-packages/schedule_search.egg:${ACL_HOME}/python/site-packages/te.egg:${ACL_HOME}/python/site-packages/topi.egg
export LD_LIBRARY_PATH=/usr/local/:/usr/local/lib/:/usr/lib/:${ACL_HOME}/lib64/:${ASCEND_HOME}/driver/lib64/common/:${ASCEND_HOME}/driver/lib64/driver/:${ASCEND_HOME}/add-ons/:/usr/lib/x86_64-linux-gnu
export PATH=${PATH}:${ACL_HOME}/ccec_compiler/bin/
export GEN_TO_SOURCE=1
需要配置环境变量
pytorch根目录下执行命令:
DEBUG=0 USE_DISTRIBUTED=1 USE_HCCL=1 USE_CUDA=0 USE_NPU=1 BUILD_TEST=0 python3 setup.py build bdist_wheel
不需要配置环境变量
支持run包无法提供场景,编译不需要run包,可以使用build.sh脚本编译。
执行pytorch目录下的build.sh脚本:
sh build.sh
# 安装
编译完成后会在dist目录生成whl包:
**x86_64:**
torch-1.5.0+ascend-cp37-cp37m-linux_x86_64.whl
```sh
pip3 install --upgrade torch-1.5.0+ascend-cp37-cp37m-linux_x86_64.whl
arm:
torch-1.5.0+ascend-cp37-cp37m-linux-aarch64.whl
pip3 install --upgrade torch-1.5.0+ascend-cp37-cp37m-linux-aarch64.whl
export ASCEND_HOME=/usr/local/Ascend
export ASCEND_TOOLKIT=/urs/local/nnae/lastest
export ACL_HOME=${ASCEND_TOOLKIT}/fwkacllib
export ASCEND_DRIVER_HOME=${ASCEND_HOME}/driver/lib64/driver
export LD_LIBRARY_PATH=${ASCEND_TOOLKIT}/fwkacllib/lib64/:${ASCEND_HOME}/driver/lib64/common/:${ASCEND_HOME}/driver/lib64/driver/:${ASCEND_HOME}/add-ons/
export PATH=${PATH}:${ASCEND_TOOLKIT}/fwkacllib/ccec_compiler/bin/
export ASCEND_OPP_PATH=${ASCEND_TOOLKIT}/opp/
验证运行是否可以:
python3 pytorch/test/test_npu/test_div.py
输出结果OK
推荐X86_64环境使用conda,运行需要额外安装两个whl包
cd /urs/local/ascend-toolkit/lastest/fwkacllib
pip install --upgrade --upgrade topi-0.4.0-py3-none-any.whl
pip install --upgrade --upgrade te-0.4.0-py3-none-any.whl
cmake官网下载linux版本安装(当前3.18.0)
使用yum命令安装: yum install -y cmake==3.18.0
下载cmake sh脚本安装:(参考cmake官网)
X86_64环境推荐脚本安装: cmake-3.18.2-Linux-x86_64.sh
目前存在测试环境从GCC4.8.5 切换到 GCC7.3.0。这个过程容易出现错误导致pytorch编译不过,以下是需要软连接的库
gcc, g++,c++(--version 必须是7.3.0)
libstdc++->libstdc++.so.6.0.24(7.3.0)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。