SuperAPI AI 工具集

torch_npu

部署与运维

查看项目

更新于 10-15 17:20

技能介绍

用途:torch_npu 是华为昇腾的 Ascend Extension for PyTorch,用于在昇腾 NPU 上运行 PyTorch。本 Skill 在用户提到 @torch_npu、昇腾 NPU、CANN、Ascend,或需要将 PyTorch 迁移到 NPU 时提供环境检查、部署与能力指引;使用 @torch_npu_doc 时基于 reference.md 提供项目内中文文档说明与操作步骤。

主要能力:设备与内存管理(torch.npu 的 device_count、set_device、synchronize、Stream/Event、内存统计与 empty_cache 等);张量与存储(tensor.npu()、is_npu、NPU Storage、torch.save/load);训练与优化(torch.npu.amp 混合精度、torch_npu.optim、FSDP 补丁、梯度检查点);分布式(torch_npu.distributed 的 HCCL/LCCL 后端、reinit_process_group、RPC、DTensor);扩展 API(torch_npu.contrib 的 NMS、IoU、ROIAlign、DCN、FusedAttention 等);图与编译(NPU Graph、Dynamo、Inductor、torch.compile);推理与 ONNX 导出;profiling(torch_npu.profiler、MSTX);以及 HiFloat8Tensor、transfer_to_npu、op_plugin 等。

使用方式:环境检查可执行 import torch、import torch_npu,再用 torch.npu.is_available() 与 torch.npu.device_count() 判断;使用前需 source /usr/local/Ascend/ascend-toolkit/set_env.sh(路径以实际 CANN 安装为准)。部署摘要:安装 CANN,安装 PyTorch(x86 示例 pip3 install torch==2.7.1+cpu --index-url https://download.pytorch.org/whl/cpu,aarch64 示例 pip3 install torch==2.7.1),安装依赖 pip3 install pyyaml setuptools,安装 torch_npu 用 pip3 install torch-npu==2.7.1,版本需与 PyTorch、CANN 配套,最后 source set_env.sh 并运行验证代码。张量格式转换提示:torch_npu.npu_format_cast(tensor, acl_format, customize_dtype=None) 返回新张量,torch_npu.npu_format_cast_ 为原地版本,torch_npu.get_npu_format(tensor) 返回当前格式;常用枚举包括 Format.NCHW(0)、NHWC(1)、ND(2)、NC1HWC0(3)、FRACTAL_Z(4)、FRACTAL_NZ(29)、NDC1HWC0(32)、FRACTAL_Z_3D(33)、UNDEFINED(-1) 等。

适用场景:PyTorch 模型迁移到昇腾 NPU、NPU 环境部署与验证、算子格式适配、分布式训练、图模式与性能分析、中文文档查阅。

限制:支持 PyTorch 1.11.0~2.9.0 等多版本,对应 Python 3.7~3.11(视具体版本而定);若 ASCEND_HOME_PATH、ASCEND_OPP_PATH 未设置或路径不存在会报错;详细 API 以昇腾自定义 API 参考与项目 README.zh.md 为准;MCP 抓取文档需按 mcp/README.md 安装配置并重启 Cursor。其余未在资料中说明的内容暂未提供。