Ascend NPU 环境下PyTorch Core配置教程
作者:昇腾实战派
知识地图:https://blog.csdn.net/Lumos_Lovegood/article/details/161601003
背景概述
在 Ascend NPU 环境下运行 PyTorch 模型时,需要正确配置 PyTorch、torch_npu 插件以及 CANN 基础软件栈。由于各组件之间存在严格的版本依赖关系,配置过程若操作不当,容易导致运行时错误。本文旨在提供一套清晰、可复现的配置流程,帮助开发者快速搭建或定制开发环境。
本文档详细介绍在 Ascend NPU 环境下配置 PyTorch + torch_npu 的完整流程,包含两种安装路径:快速二进制包安装(适用于日常开发和快速部署)和源码编译安装(适用于源码级问题定位与功能增强)。
一、前提条件检查
在开始安装前,请完成以下检查步骤,确保环境满足基本要求。
1.1 检查操作系统
在服务器终端执行以下命令查看操作系统信息:
cat /etc/os-release
第一行即为操作系统名称,例如:
NAME="openEuler"
1.2 检查 NPU 固件
执行以下命令查看当前主机 NPU 信息:
npu-smi info
若能正常输出 NPU 信息,则固件已安装完成,无需额外操作。
1.3 版本兼容性确认
安装前需确认以下版本对齐关系:
| 组件 | 版本信息来源 |
|---|---|
| torch_npu | 版本发布说明 |
| CANN | CANN 下载页面 |
| PyTorch | 与 torch_npu 版本对应 |
| Python | 需与 torch_npu 支持版本一致 |
版本匹配关系请参考:版本配套说明
二、路径 A:二进制包安装(快速安装)
适用于日常开发和快速部署场景,直接使用预编译的二进制包。
2.1 环境准备
从已有的基础环境克隆一份干净的虚拟环境:
conda create --clone base_env --name <your_env_name>
建议克隆一个不含 torch、cann、torch_npu 的干净环境,避免版本冲突。
2.2 安装步骤
步骤 1:安装 PyTorch
根据 torch_npu 版本要求,安装对应的 PyTorch 版本。可通过 PyTorch 官方或镜像源安装。
步骤 2:安装 CANN
访问 CANN 在线安装指南,选择在线安装方式。
步骤 3:配置 CANN 环境变量
安装完成后,查询 CANN 安装路径:
pip show ascend-cann-toolkit
输出示例:
Location: /home/xxx/miniconda3/envs/xxx/Ascend/cann-8.5.0/set_env.sh
在虚拟环境中执行以下命令注入环境配置:
source /home/xxx/miniconda3/envs/xxx/lib/python3.10/site-packages/ascend/cann-9.0.0/set_env.sh
注意:请根据实际安装路径调整版本号(如 cann-8.5.0 或 cann-9.0.0),确保路径中的版本与实际安装一致。
步骤 4:安装 torch_npu 插件
根据 安装教程 安装 torch_npu。
步骤 5:安装 ops 算子包
按照教程安装必要的 ops 算子包。
2.3 安装后验证
执行以下命令验证安装是否成功:
python3 -c "import acl; print(acl.get_soc_name())"
返回芯片型号即表示安装成功,例如:
Ascend910B3
三、路径 B:源码编译安装(用于源码级问题定位)
适用于需要源码级调试、功能增强或定制开发的场景。
3.1 环境准备
克隆一份干净的虚拟环境(不含 torch、cann、torch_npu):
conda create --clone base_env --name <your_env_name>
3.2 安装步骤
步骤 1:确定版本对应关系
参考 版本发布说明 和 版本配套说明,确认 torch、torch_npu、CANN 和 Python 的版本兼容性。
步骤 2:安装 PyTorch
安装与 torch_npu 版本对应的 PyTorch。
步骤 3:安装 CANN
参考路径 A 的步骤 2,使用在线安装方式安装 CANN。
步骤 4:配置 CANN 环境变量
参考路径 A 的步骤 3,配置 CANN 环境变量。
步骤 5:安装 ops 算子包
按照教程安装必要的 ops 算子包。
步骤 6:源码编译安装 torch_npu
访问 源码编译安装教程,按照以下流程操作:
- 获取 torch_npu 源码
- 执行编译(编译生成 whl 包耗时较长,请耐心等待)
- 使用 pip 安装编译好的 whl 包
四、注意事项
- 版本一致性:CANN、PyTorch 和 torch_npu 的版本必须严格匹配,否则可能导致运行时错误。
- 环境变量:每次打开新终端或切换环境后,需重新执行 CANN 的 set_env.sh 脚本。
- 编译耗时:源码编译安装 torch_npu 耗时较长,建议在资源充足的环境下进行。
- 源码用途:源码安装方式主要用于需要查看源码级功能、编写自定义算子或增强功能的场景。
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐


所有评论(0)