Skip to content

Latest commit

 

History

History
409 lines (354 loc) · 25.3 KB

README.zh.md

File metadata and controls

409 lines (354 loc) · 25.3 KB

PyTorch Ascend Adapter插件

简介

本项目开发了名为torch_npuPyTorch Ascend Adapter插件,使昇腾NPU可以适配PyTorch框架,为使用PyTorch框架的开发者提供昇腾AI处理器的超强算力。

昇腾为基于华为昇腾处理器和软件的行业应用及服务提供全栈AI计算基础设施。您可以通过访问昇腾社区,了解关于昇腾的更多信息。

安装

使用二进制文件进行安装

我们为用户提供可以快速安装torch_npu的whl安装包。在安装torch_npu之前,您需要先安装CANN软件。昇腾辅助软件中有更多关于CANN的版本信息。请参考CANN安装指南获取CANN安装包。

  1. 安装PyTorch

通过 pip 安装 PyTorch。

aarch64:

pip3 install torch==2.1.0

x86:

pip3 install torch==2.1.0+cpu  --index-url https://download.pytorch.org/whl/cpu

若使用pip命令安装失败,请使用下载链接或进入PyTorch官方网站进行查询下载对应版本。

架构 Python版本 下载链接
x86 Python3.8 下载链接
x86 Python3.9 下载链接
x86 Python3.10 下载链接
aarch64 Python3.8 下载链接
aarch64 Python3.9 下载链接
aarch64 Python3.10 下载链接
  1. 安装torch_npu依赖

运行一下命令安装依赖。

pip3 install pyyaml
pip3 install setuptools
  1. 安装torch_npu
pip3 install torch-npu==2.1.0rc1

使用源代码进行安装

某些特殊场景下,用户可能需要自行编译torch_npu。可以根据昇腾辅助软件表PyTorch与Python版本配套表选择合适的分支。推荐使用Docker镜像编译torch_npu,可以通过以下步骤获取:

  1. 克隆torch_npu代码仓

    git clone https://gitee.com/ascend/pytorch.git -b v2.1.0-5.0.rc3 --depth 1
    
  2. 构建镜像

    cd pytorch/ci/docker/{arch} # {arch} for X86 or ARM
    docker build -t manylinux-builder:v1 .
    
  3. 进入Docker容器

    docker run -it -v /{code_path}/pytorch:/home/pytorch manylinux-builder:v1 bash
    # {code_path} is the torch_npu source code path
    
  4. 编译torch_npu

    Python 3.8 为例。

    cd /home/pytorch
    bash ci/build.sh --python=3.8
    

入门

前提

运行以下命令初始化CANN环境变量。

# Default path, change it if needed.
source /usr/local/Ascend/ascend-toolkit/set_env.sh

快速验证

可以通过以下样例快速体验昇腾NPU

import torch
import torch_npu

x = torch.randn(2, 2).npu()
y = torch.randn(2, 2).npu()
z = x.mm(y)

print(z)

PyTorch与Python版本配套表

PyTorch版本 Python版本
PyTorch1.11.0 Python3.7.x(>=3.7.5), Python3.8.x, Python3.9.x, Python3.10.x
PyTorch2.0.1 Python3.8.x, Python3.9.x, Python3.10.x
PyTorch2.1.0 Python3.8.x, Python3.9.x, Python3.10.x

昇腾辅助软件

CANN版本

支持的PyTorch版本

支持的Adapter版本

Github分支

AscendHub镜像版本/名称(链接)

7.0.RC1.alpha003

2.1.0

2.1.0.rc1

v2.1.0-5.0.rc3

-

2.0.1

2.0.1

v2.0.1-5.0.rc3

-

1.11.0

1.11.0.post4

v1.11.0-5.0.rc3

-

CANN 6.3.RC3.1

1.11.0

1.11.0.post3

v1.11.0-5.0.rc2.2

-

CANN 6.3.RC3

1.11.0

1.11.0.post2

v1.11.0-5.0.rc2.1

-

CANN 6.3.RC2

2.0.1

2.0.1.rc1

v2.0.1-5.0.rc2

-

1.11.0

1.8.1.post2

v1.8.1-5.0.rc2

23.0.RC1-1.8.1

1.8.1

1.11.0.post1

v1.11.0-5.0.rc2

23.0.RC1-1.11.0

CANN 6.3.RC1

1.11.0

1.8.1.post1

v1.8.1-5.0.rc1

-

1.8.1

1.11.0

v1.11.0-5.0.rc1

-

CANN 6.0.1

1.5.0

1.5.0.post8

v1.5.0-3.0.0

22.0.0

1.8.1

1.8.1

v1.8.1-3.0.0

22.0.0-1.8.1

1.11.0

1.11.0.rc2(beta)

v1.11.0-3.0.0

-

CANN 6.0.RC1

1.5.0

1.5.0.post7

v1.5.0-3.0.rc3

22.0.RC3

1.8.1

1.8.1.rc3

v1.8.1-3.0.rc3

22.0.RC3-1.8.1

1.11.0

1.11.0.rc1(beta)

v1.11.0-3.0.rc3

-

CANN 5.1.RC2

1.5.0

1.5.0.post6

v1.5.0-3.0.rc2

22.0.RC2

1.8.1

1.8.1.rc2

v1.8.1-3.0.rc2

22.0.RC2-1.8.1

CANN 5.1.RC1

1.5.0

1.5.0.post5

v1.5.0-3.0.rc1

22.0.RC1

1.8.1

1.8.1.rc1

v1.8.1-3.0.rc1

-

CANN 5.0.4

1.5.0

1.5.0.post4

2.0.4.tr5

21.0.4

CANN 5.0.3

1.8.1

1.5.0.post3

2.0.3.tr5

21.0.3

CANN 5.0.2

1.5.0

1.5.0.post2

2.0.2.tr5

21.0.2

建议与交流

欢迎大家为社区做贡献。如果有任何疑问或建议,请提交gitee Issues,我们会尽快回复。感谢您的支持。

分支维护策略

AscendPyTorch版本分支的维护阶段如下:

状态 时间 说明
计划 1—3 个月 计划特性
开发 3个月 开发特性
维护 6—12个月 合入所有已解决的问题并发布版本
无维护 0—3 个月 合入所有已解决的问题,无专职维护人员,无版本发布
生命周期终止(EOL) N/A 分支不再接受任何修改

现有分支的维护状态

分支 状态 发布日期 后续状态 EOL日期
v2.0.2 EOL 2021/7/29 N/A
v2.0.3 EOL 2021/10/15 N/A
v2.0.4 EOL 2022/1/15 N/A
v3.0.rc1 EOL 2022/4/10 N/A
v3.0.rc2 EOL 2022/7/15 N/A
v3.0.rc3 维护 2022/10/20 预计2023/10/20起无维护
v3.0.0 维护 2023/1/18 预计2024/1/18起无维护
v5.0.rc1 维护 2023/4/19 预计2024/4/19起无维护
v5.0.rc2 维护 2023/7/19 预计2024/7/19起无维护
v5.0.rc3 维护 2023/10/15 预计2024/10/15起无维护

许可证

PyTorch Ascend Adapter插件使用BSD许可证。详见LICENSE文件。