TorchNPU
English | 中文
快速参考
-
TorchNPU 由 Ascend PyTorch community 维护
-
从哪里获取帮助
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.112.10.0-310p-openeuler24.03-py3.112.10.0-910b-ubuntu22.04-py3.112.10.0-910b-openeuler24.03-py3.112.10.0-a3-ubuntu22.04-py3.112.10.0-a3-openeuler24.03-py3.112.9.0.post2-310p-ubuntu22.04-py3.112.9.0.post2-310p-openeuler24.03-py3.112.9.0.post2-910b-ubuntu22.04-py3.112.9.0.post2-910b-openeuler24.03-py3.112.9.0.post2-a3-ubuntu22.04-py3.112.9.0.post2-a3-openeuler24.03-py3.112.8.0.post4-310p-ubuntu22.04-py3.112.8.0.post4-310p-openeuler24.03-py3.112.8.0.post4-910b-ubuntu22.04-py3.112.8.0.post4-910b-openeuler24.03-py3.112.8.0.post4-a3-ubuntu22.04-py3.112.8.0.post4-a3-openeuler24.03-py3.112.7.1.post4-310p-ubuntu22.04-py3.112.7.1.post4-310p-openeuler24.03-py3.112.7.1.post4-910b-ubuntu22.04-py3.112.7.1.post4-910b-openeuler24.03-py3.112.7.1.post4-a3-ubuntu22.04-py3.112.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 |
参数来源
-
镜像标签、操作系统及其版本查询:CANN 基础镜像仓库的tag。
-
TORCH_NPU_RELEASE_VERSION参数查询:TorchNPU官方发布版本。
-
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、系统库等)可能受其自身许可证约束。