TorchNPU

English | 中文

快速参考


TorchNPU

TorchNPU插件是基于昇腾的深度学习适配框架,使昇腾NPU可以支持PyTorch框架,为PyTorch框架的使用者提供昇腾AI处理器的超强算力。


支持的Tags 及 Dockerfile 使用方法

Tag规范

Tag 遵循以下格式:

<TorchNPU版本号>-<硬件信息(芯片)>-<操作系统>-<Python版本>
字段 说明
TorchNPU 版本号 2.10.0 详见readme中版本说明部分
硬件信息(芯片) 910b / 310p / a3 昇腾芯片型号标识
操作系统 ubuntu22.04 / openeuler24.03 基础镜像所使用的操作系统发行版
Python 版本 py3.11 镜像内置 Python 大版本号

构建参数选择参考地址

Tag

  • 2.10.0-310p-ubuntu22.04-py3.11
  • 2.10.0-310p-openeuler24.03-py3.11
  • 2.10.0-910b-ubuntu22.04-py3.11
  • 2.10.0-910b-openeuler24.03-py3.11
  • 2.10.0-a3-ubuntu22.04-py3.11
  • 2.10.0-a3-openeuler24.03-py3.11
  • 2.9.0.post2-310p-ubuntu22.04-py3.11
  • 2.9.0.post2-310p-openeuler24.03-py3.11
  • 2.9.0.post2-910b-ubuntu22.04-py3.11
  • 2.9.0.post2-910b-openeuler24.03-py3.11
  • 2.9.0.post2-a3-ubuntu22.04-py3.11
  • 2.9.0.post2-a3-openeuler24.03-py3.11
  • 2.8.0.post4-310p-ubuntu22.04-py3.11
  • 2.8.0.post4-310p-openeuler24.03-py3.11
  • 2.8.0.post4-910b-ubuntu22.04-py3.11
  • 2.8.0.post4-910b-openeuler24.03-py3.11
  • 2.8.0.post4-a3-ubuntu22.04-py3.11
  • 2.8.0.post4-a3-openeuler24.03-py3.11
  • 2.7.1.post4-310p-ubuntu22.04-py3.11
  • 2.7.1.post4-310p-openeuler24.03-py3.11
  • 2.7.1.post4-910b-ubuntu22.04-py3.11
  • 2.7.1.post4-910b-openeuler24.03-py3.11
  • 2.7.1.post4-a3-ubuntu22.04-py3.11
  • 2.7.1.post4-a3-openeuler24.03-py3.11

Dockerfile构建参数

dockerfile详见:dockerfile

最新参数 说明 必填 参考来源 参数取值
TORCH_VERSION TorchNPU 完整版本号 TorchNPU 仓库发行版 2.10.0
CHIP_ARCH 昇腾芯片架构标识 CANN 镜像标签规则 910b / 310p / a3
OS 基础镜像操作系统 CANN 镜像标签规则 ubuntu / openeuler
OS_VERSION 操作系统版本 CANN 镜像标签规则 22.04 / 24.03
PY_VERSION 基础镜像内置 Python 版本 CANN 镜像标签规则 3.11
CANN_VERSION 昇腾 CANN 工具包版本 CANN 基础镜像仓库 9.0.0
ARCH 宿主机硬件架构 环境硬件 arm / x86
PY_TAG Python 包 ABI 标签(cp + 版本号) 与 PY_VERSION 严格匹配 cp311
TORCH_NPU_RELEASE_VERSION TorchNPU 官方发布 Tag(含 pytorch 版本) TorchNPU 仓库发行版 v26.0.0-pytorch2.10.0
MANYLINUX_VER PyPI 包兼容系统版本 torch 官方 whl 规范 manylinux_2_28
PIP_MIRROR_URL pip 安装源地址(默认清华源) PyPI 镜像源 https://pypi.tuna.tsinghua.edu.cn/simple

参数来源

  1. 镜像标签、操作系统及其版本查询:CANN 基础镜像仓库的tag。

  2. TORCH_NPU_RELEASE_VERSION参数查询:TorchNPU官方发布版本

  3. TORCH_VERSION参数: https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.10.0/torch_npu-2.10.0-cp310-cp310-manylinux_2_28_aarch64.whl 取 torch_npu-{}-cp310 之间所有内容。

快速开始

构建 TorchNPU 镜像

以构建2.10.0-a3-ubuntu22.04-py3.11镜像为例:

docker build \
  --build-arg TORCH_VERSION=2.10.0 \
  --build-arg CHIP_ARCH=a3 \
  --build-arg OS=ubuntu \
  --build-arg OS_VERSION=22.04 \
  --build-arg PY_VERSION=3.11 \
  --build-arg CANN_VERSION=9.0.0 \
  --build-arg ARCH=arm \
  --build-arg PY_TAG=cp311 \
  --build-arg TORCH_NPU_RELEASE_TAG=v26.0.0-pytorch2.10.0 \
  -t image_name:tag \
  -f Dockerfile .

运行 TorchNPU 容器

docker run \
    --name pta_container \
    --device /dev/davinci1 \
    --device /dev/davinci_manager \
    --device /dev/devmm_svm \
    --device /dev/hisi_hdc \
    -v /usr/local/dcmi:/usr/local/dcmi \
    -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
    -v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/ \
    -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \
    -v /etc/ascend_install.info:/etc/ascend_install.info \
    -it ascend/pta:tag bash

如何二次开发

# 以 TorchNPU 镜像为基础镜像,叠加用户软件
FROM quay.io/ascend/torch-npu:2.10.0-910b-ubuntu22.04-py3.11

RUN apt update -y && \
    apt install gcc ...

...

支持的硬件

芯片系列 产品示例 架构
昇腾 910B Atlas 800T A2、Atlas 900 A2 PoD ARM64 / x86_64
昇腾 A3 Atlas 800T A3 ARM64 / x86_64
昇腾 310P Atlas 300I Pro、Atlas 300V Pro ARM64 / x86_64

许可证

查看这些镜像中包含的 TorchNPU 的许可证信息

与所有容器镜像一样,预装软件包(Python、系统库等)可能受其自身许可证约束。