下载
中文
注册

安装torch_npu插件

torch_npu插件有两种安装方式:

  • 快速安装:通过wheel格式的二进制软件包直接安装。
  • 源码编译安装:编译安装适用于二次开发场景,用户可以选择需要的分支自行编译torch_npu。

单击Link,您可以获取到OP-Plugin算子插件的更多信息并下载对应版本的源码包。

获取安装命令

执行安装命令前,请参见安装前必读完成环境变量配置。

表1 安装torch_npu插件

PyTorch版本

torch_npu插件版本

Python版本

系统架构

CANN版本

安装方式

安装命令

2.1.0

6.0.rc3

Python 3.8

AArch64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.1.0/torch_npu-2.1.0.post8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
# 安装命令
pip3 install torch_npu-2.1.0.post8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.8

X86_64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.1.0/torch_npu-2.1.0.post8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
# 安装命令
pip3 install torch_npu-2.1.0.post8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.9

AArch64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.1.0/torch_npu-2.1.0.post8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
# 安装命令
pip3 install torch_npu-2.1.0.post8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.9

X86_64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.1.0/torch_npu-2.1.0.post8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
# 安装命令
pip3 install torch_npu-2.1.0.post8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.10

AArch64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.1.0/torch_npu-2.1.0.post8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
# 安装命令
pip3 install torch_npu-2.1.0.post8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.10

X86_64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.1.0/torch_npu-2.1.0.post8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
# 安装命令
pip3 install torch_npu-2.1.0.post8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.11

AArch64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.1.0/torch_npu-2.1.0.post8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
# 安装命令
pip3 install torch_npu-2.1.0.post8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.11

X86_64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.1.0/torch_npu-2.1.0.post8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
# 安装命令
pip3 install torch_npu-2.1.0.post8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

2.3.1

6.0.rc3

Python 3.8

AArch64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.3.1/torch_npu-2.3.1.post2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
# 安装命令
pip3 install torch_npu-2.3.1.post2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.8

X86_64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.3.1/torch_npu-2.3.1.post2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
# 安装命令
pip3 install torch_npu-2.3.1.post2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.9

AArch64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.3.1/torch_npu-2.3.1.post2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
# 安装命令
pip3 install torch_npu-2.3.1.post2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.9

X86_64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.3.1/torch_npu-2.3.1.post2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
# 安装命令
pip3 install torch_npu-2.3.1.post2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.10

AArch64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.3.1/torch_npu-2.3.1.post2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
# 安装命令
pip3 install torch_npu-2.3.1.post2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.10

X86_64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.3.1/torch_npu-2.3.1.post2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
# 安装命令
pip3 install torch_npu-2.3.1.post2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.11

AArch64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.3.1/torch_npu-2.3.1.post2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
# 安装命令
pip3 install torch_npu-2.3.1.post2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.11

X86_64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.3.1/torch_npu-2.3.1.post2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
# 安装命令
pip3 install torch_npu-2.3.1.post2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

2.4.0

6.0.rc3

Python 3.8

AArch64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.4.0/torch_npu-2.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
# 安装命令
pip3 install torch_npu-2.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.8

X86_64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.4.0/torch_npu-2.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
# 安装命令
pip3 install torch_npu-2.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.9

AArch64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.4.0/torch_npu-2.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
# 安装命令
pip3 install torch_npu-2.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.9

X86_64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.4.0/torch_npu-2.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
# 安装命令
pip3 install torch_npu-2.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.10

AArch64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.4.0/torch_npu-2.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
# 安装命令
pip3 install torch_npu-2.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.10

X86_64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.4.0/torch_npu-2.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
# 安装命令
pip3 install torch_npu-2.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.11

AArch64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.4.0/torch_npu-2.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
# 安装命令
pip3 install torch_npu-2.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

6.0.rc3

Python 3.11

X86_64

8.0.RC3

Pip

# 下载插件包
wget https://gitee.com/ascend/pytorch/releases/download/v6.0.rc3-pytorch2.4.0/torch_npu-2.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
# 安装命令
pip3 install torch_npu-2.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

# 根据“安装前必读”完成环境变量配置

Source

# 参见下方“源码编译安装torch_npu插件”

更多PyTorch插件版本可单击Link查询。

  • 如果下载whl包时出现certificate相关报错,可在下载命令后加上--no-check-certificate参数避免此问题。样例代码如下所示。
    wget https://gitee.com/ascend/pytorch/releases/download/插件包 --no-check-certificate
  • 执行如下命令,若返回True则说明安装成功。
    python3 -c "import torch;import torch_npu;print(torch_npu.npu.is_available())"
  • 若Pytorch版本为2.1.0,出现“找不到google或者protobuf或者protobuf版本过高”报错时,需执行如下命令:
    pip3 install protobuf==3.20

源码编译安装torch_npu插件

以下操作步骤以安装PyTorch 2.1.0版本为例。

  • 方式一(推荐):容器场景
    1. 下载torch_npu源码。
      git clone https://gitee.com/ascend/pytorch.git -b v2.1.0-6.0.rc3 --depth 1  

      下载对应PyTorch版本分支代码,进入插件根目录,以v2.1.0-6.0.rc3为例,其他版本请参见《版本说明》中的“版本配套关系”章节下载对应PyTorch版本分支代码。

    2. 构建镜像。
      cd pytorch/ci/docker/{arch} 
      docker build -t manylinux-builder:v1 .

      {arch}表示CPU架构(X86或ARM)。

    3. 进入Docker容器,并将torch_npu源代码挂载至容器内。
      docker run -it -v /{code_path}/pytorch:/home/pytorch manylinux-builder:v1 bash

      {code_path}表示torch_npu源代码路径,请根据实际情况进行替换。

    4. 编译生成二进制安装包。
      cd /home/pytorch
      bash ci/build.sh --python=3.8

      指定Python版本编包方式,以Python3.8为例,其他Python版本请使用 --python=3.9、--python3.10或--python3.11。

    5. 在运行环境中安装生成的插件torch_npu包,如果使用非root用户安装,需要在命令后加--user
      # 请用户根据实际情况更改命令中的torch_npu包名
      pip3 install --upgrade dist/torch_npu-2.1.0.post8-cp38-cp38-linux_aarch64.whl
  • 方式二:物理机及虚拟机场景
    1. 安装依赖。

      选择编译安装方式安装时需要安装系统依赖,根据不同类型的操作系统,选择对应的命令安装所需依赖。
      • openEuler系列(openEuler、CentOS、Kylin、BCLinux、BC-Linux-for-Euler、UOS201050e、UOS20 1020e、UOSV20、AntOS、CTyunOS、CULinux、Tlinux):
        1. 安装依赖(除gcc和cmake以外)。
          yum install -y patch libjpeg-turbo-devel dos2unix openblas git
        2. 安装gcc和cmake。

          根据实际情况,安装对应gcc和cmake版本,版本信息及安装指导请参见以下说明。

      • Debian系列(Ubuntu、Debian、UOS20、UOS20 SP1):
        1. 安装依赖(除gcc和cmake以外)。
          apt-get install -y patch build-essential libbz2-dev libreadline-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev m4 dos2unix libopenblas-dev git
        2. 安装gcc和cmake。

          根据实际情况,安装对应gcc和cmake版本,版本信息及安装指导请参见以下说明。

        AArch64架构安装gcc10.2.0版本,X86_64架构安装gcc9.4.0版本,cmake则需为3.18.0版本及以上,可参见安装10.2.0版本gcc安装3.18.0版本cmake

    2. 编译生成torch_npu插件的二进制安装包。
      1. 下载对应PyTorch版本分支代码,进入插件根目录,以v2.1.0-6.0.rc3为例,其他版本请参见《版本说明》中的“版本配套关系”章节下载对应PyTorch版本分支代码。
        git clone -b v2.1.0-6.0.rc3 https://gitee.com/ascend/pytorch.git 
        cd pytorch    
      2. 编译生成二进制安装包。
        # 指定Python版本编包方式,以Python3.8为例,其他Python版本请使用--python=3.9、--python3.10或--python3.11
        bash ci/build.sh --python=3.8
    3. 安装pytorch/dist目录下生成的插件torch_npu包,如果使用非root用户安装,需要在命令后加--user
      # 请用户根据实际情况更改命令中的torch_npu包名
      pip3 install --upgrade dist/torch_npu-2.1.0.post8-cp38-cp38-linux_aarch64.whl

验证是否成功安装

  • 方法一
    执行如下命令:
    python3 -c "import torch;import torch_npu; a = torch.randn(3, 4).npu(); print(a + a);"

    显示如下类似信息说明PyTorch框架与插件安装成功。

    1
    2
    3
    tensor([[-0.6066,  6.3385,  0.0379,  3.3356],
            [ 2.9243,  3.3134, -1.5465,  0.1916],
            [-2.1807,  0.2008, -1.1431,  2.1523]], device='npu:0')
    
  • 方法二
    1
    2
    3
    4
    5
    6
    7
    8
    import torch
    import torch_npu
    
    x = torch.randn(2, 2).npu()
    y = torch.randn(2, 2).npu()
    z = x.mm(y)
    
    print(z)
    

    输出如下类似信息说明PyTorch框架与插件安装成功。

    1
    2
    tensor([[-0.0515,  0.3664],
            [-0.1258, -0.5425]], device='npu:0')