1 Star 0 Fork 0

宋梦雨 / test

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

AscendPyTorch

项目简介

本项目开发了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以上

CentOS & EulerOS

yum install -y cmake zlib-devel libffi-devel openssl-devel libjpeg-turbo-devel gcc-c++ sqlit-devel

Ubuntu

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

python依赖库

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

命令编译

  1. 需要配置环境变量

  2. pytorch根目录下执行命令:

    
    DEBUG=0 USE_DISTRIBUTED=1 USE_HCCL=1 USE_CUDA=0 USE_NPU=1 BUILD_TEST=0 python3 setup.py build bdist_wheel
    

sh脚本编译

  1. 不需要配置环境变量

  2. 支持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

conda环境

推荐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

FAQ

编译cmake报错版本过低

cmake官网下载linux版本安装(当前3.18.0)

  1. 使用yum命令安装: yum install -y cmake==3.18.0

  2. 下载cmake sh脚本安装:(参考cmake官网)

    X86_64环境推荐脚本安装: cmake-3.18.2-Linux-x86_64.sh

GCC版本问题切换问题

目前存在测试环境从GCC4.8.5 切换到 GCC7.3.0。这个过程容易出现错误导致pytorch编译不过,以下是需要软连接的库

gcc, g++,c++(--version 必须是7.3.0)

libstdc++->libstdc++.so.6.0.24(7.3.0)

空文件

简介

取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/song_mengyu/test.git
git@gitee.com:song_mengyu/test.git
song_mengyu
test
test
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891