已合并
【docs】Change of Name #39841
lyx324521创建于 7月2日
【docs】Change of Name #39841
已合并
共 74 个文件变更+306-306
| @@ -1,4 +1,4 @@ | |||
| 1 | -# Ascend Extension for PyTorch插件 安全声明 | 1 | +# TorchNPU插件 安全声明 |
| 2 | 2 | ||
| 3 | ## 系统安全加固 | 3 | ## 系统安全加固 |
| 4 | 4 | ||
| @@ -8,13 +8,13 @@ | |||
| 8 | 8 | ||
| 9 | ## 运行用户建议 | 9 | ## 运行用户建议 |
| 10 | 10 | ||
| 11 | -出于安全性及权限最小化角度考虑,不建议使用root等管理员类型账户使用torch_npu。 | 11 | +出于安全性及权限最小化角度考虑,不建议使用root等管理员类型账户使用TorchNPU。 |
| 12 | 12 | ||
| 13 | ## 文件权限控制 | 13 | ## 文件权限控制 |
| 14 | 14 | ||
| 15 | 1. 建议用户对训练所需文件、训练过程中保存的文件、用户个人的隐私数据、商业资产等敏感文件做好权限控制等安全措施,例如多用户共享数据集场景下的数据集文件写权限控制、profiler等场景产生数据文件权限控制等,设定的权限建议参见[文件权限参考](#文件权限参考)进行设置。 | 15 | 1. 建议用户对训练所需文件、训练过程中保存的文件、用户个人的隐私数据、商业资产等敏感文件做好权限控制等安全措施,例如多用户共享数据集场景下的数据集文件写权限控制、profiler等场景产生数据文件权限控制等,设定的权限建议参见[文件权限参考](#文件权限参考)进行设置。 |
| 16 | 16 | ||
| 17 | -2. torch_npu中profiler工具会生成性能记录文件,生成的文件权限为640,文件夹权限为750,用户可根据需要自行对生成后的相关文件进行权限控制。 | 17 | +2. TorchNPU中profiler工具会生成性能记录文件,生成的文件权限为640,文件夹权限为750,用户可根据需要自行对生成后的相关文件进行权限控制。 |
| 18 | 18 | ||
| 19 | 3. 用户安装和使用过程需要做好权限控制,建议参见[文件权限参考](#文件权限参考)进行设置。如需要保存安装/卸载日志,可在安装/卸载命令后面加上参数--log , 注意对文件及目录做好权限管控。 | 19 | 3. 用户安装和使用过程需要做好权限控制,建议参见[文件权限参考](#文件权限参考)进行设置。如需要保存安装/卸载日志,可在安装/卸载命令后面加上参数--log , 注意对文件及目录做好权限管控。 |
| 20 | 20 | ||
| @@ -44,30 +44,30 @@ | |||
| 44 | 44 | ||
| 45 | ## 调试工具声明 | 45 | ## 调试工具声明 |
| 46 | 46 | ||
| 47 | -torch_npu内集成性能分析工具profiler: | 47 | +TorchNPU内集成性能分析工具profiler: |
| 48 | 48 | ||
| 49 | - 集成原因:对标PyTorch原生支持能力,提供NPU PyTorch框架开发性能分析能力,加速性能分析调试过程。 | 49 | - 集成原因:对标PyTorch原生支持能力,提供NPU PyTorch框架开发性能分析能力,加速性能分析调试过程。 |
| 50 | - - 使用场景:默认不采集,如用户需要进行性能分析时,可在模型训练脚本中添加Ascend Extension for PyTorch Profiler接口,执行训练的同时采集性能数据,完成训练后直接输出可视化的性能数据文件。 | 50 | + - 使用场景:默认不采集,如用户需要进行性能分析时,可在模型训练脚本中添加TorchNPU Profiler接口,执行训练的同时采集性能数据,完成训练后直接输出可视化的性能数据文件。 |
| 51 | - 风险提示:使用该功能会在本地生成性能数据,用户需加强对相关性能数据的保护,请在需要模型性能分析时使用,分析完成后及时关闭。Profiler工具具体细节请参考[《PyTorch 性能分析工具介绍》](https://www.hiascend.com/document/detail/zh/Pytorch/710/ptmoddevg/trainingmigrguide/performance_tuning_0014.html)。 | 51 | - 风险提示:使用该功能会在本地生成性能数据,用户需加强对相关性能数据的保护,请在需要模型性能分析时使用,分析完成后及时关闭。Profiler工具具体细节请参考[《PyTorch 性能分析工具介绍》](https://www.hiascend.com/document/detail/zh/Pytorch/710/ptmoddevg/trainingmigrguide/performance_tuning_0014.html)。 |
| 52 | 52 | ||
| 53 | ## 数据安全声明 | 53 | ## 数据安全声明 |
| 54 | 54 | ||
| 55 | 1. PyTorch使用过程中需要加载和保存数据,部分接口使用风险模块pickle,可能存在数据风险,如torch.load、torch.jit.load、torch.distributed.scatter_object_list等接口,可参考[torch.load](https://pytorch.org/docs/main/generated/torch.load.html#torch.load)、[collective-functions](https://pytorch.org/docs/main/distributed.html#collective-functions)了解具体风险。 | 55 | 1. PyTorch使用过程中需要加载和保存数据,部分接口使用风险模块pickle,可能存在数据风险,如torch.load、torch.jit.load、torch.distributed.scatter_object_list等接口,可参考[torch.load](https://pytorch.org/docs/main/generated/torch.load.html#torch.load)、[collective-functions](https://pytorch.org/docs/main/distributed.html#collective-functions)了解具体风险。 |
| 56 | -2. Ascend Extension for PyTorch依赖CANN的基础能力实现AOE性能调优、算子dump、日志记录等功能,用户需要关注上述功能生成文件的权限控制,加强对相关数据的保护。 | 56 | +2. TorchNPU依赖CANN的基础能力实现AOE性能调优、算子dump、日志记录等功能,用户需要关注上述功能生成文件的权限控制,加强对相关数据的保护。 |
| 57 | 57 | ||
| 58 | ## 构建安全声明 | 58 | ## 构建安全声明 |
| 59 | 59 | ||
| 60 | -torch_npu支持源码编译安装,在编译时会下载依赖第三方库并执行构建shell脚本,在编译过程中会产生临时程序文件和编译目录。用户可根据需要自行对源代码目录内的文件进行权限管控降低安全风险。 | 60 | +TorchNPU支持源码编译安装,在编译时会下载依赖第三方库并执行构建shell脚本,在编译过程中会产生临时程序文件和编译目录。用户可根据需要自行对源代码目录内的文件进行权限管控降低安全风险。 |
| 61 | 61 | ||
| 62 | ## 运行安全声明 | 62 | ## 运行安全声明 |
| 63 | 63 | ||
| 64 | 1. 建议用户结合运行环境资源状况编写对应训练脚本。若训练脚本与资源状况不匹配,如数据集加载内存大小超出内存容量限制、训练脚本在本地生成数据超过磁盘空间大小等情况,可能引发错误并导致进程意外退出。 | 64 | 1. 建议用户结合运行环境资源状况编写对应训练脚本。若训练脚本与资源状况不匹配,如数据集加载内存大小超出内存容量限制、训练脚本在本地生成数据超过磁盘空间大小等情况,可能引发错误并导致进程意外退出。 |
| 65 | -2. PyTorch和torch_npu在运行异常时会退出进程并打印报错信息,属于正常现象。建议用户根据报错提示定位具体错误原因,包括设定算子同步执行、查看CANN日志、解析生成的Core Dump文件等方式。 | 65 | +2. PyTorch和TorchNPU在运行异常时会退出进程并打印报错信息,属于正常现象。建议用户根据报错提示定位具体错误原因,包括设定算子同步执行、查看CANN日志、解析生成的Core Dump文件等方式。 |
| 66 | -3. PyTorch和torch_npu的分布式特性仅适用于内部通信。出于性能考虑,这些分布式特性不包含任何授权协议,并且会发送未加密的消息。关于PyTorch分布式特性的详细说明及安全注意事项,可参考[using-distributed-features](https://github.com/pytorch/pytorch/security#using-distributed-features)。 | 66 | +3. PyTorch和TorchNPU的分布式特性仅适用于内部通信。出于性能考虑,这些分布式特性不包含任何授权协议,并且会发送未加密的消息。关于PyTorch分布式特性的详细说明及安全注意事项,可参考[using-distributed-features](https://github.com/pytorch/pytorch/security#using-distributed-features)。 |
| 67 | 67 | ||
| 68 | ## 公网地址声明 | 68 | ## 公网地址声明 |
| 69 | 69 | ||
| 70 | -在torch_npu的配置文件和脚本中存在[公网地址](#公网地址) | 70 | +在TorchNPU的配置文件和脚本中存在[公网地址](#公网地址) |
| 71 | 71 | ||
| 72 | **公网地址:**<a id="公网地址"></a> | 72 | **公网地址:**<a id="公网地址"></a> |
| 73 | 73 | ||
| @@ -91,8 +91,8 @@ torch_npu支持源码编译安装,在编译时会下载依赖第三方库并 | |||
| 91 | | 自研 | 不涉及 | .github\workflows\\_build-and-test.yml | <https://mirrors.huaweicloud.com/repository/pypi/simple> | workflow配置文件,用于配置pip源 | | 91 | | 自研 | 不涉及 | .github\workflows\\_build-and-test.yml | <https://mirrors.huaweicloud.com/repository/pypi/simple> | workflow配置文件,用于配置pip源 | |
| 92 | | 自研 | 不涉及 | setup.cfg | <https://gitcode.com/ascend/pytorch> | 用于打包whl的url入参 | | 92 | | 自研 | 不涉及 | setup.cfg | <https://gitcode.com/ascend/pytorch> | 用于打包whl的url入参 | |
| 93 | | 自研 | 不涉及 | setup.cfg | <https://gitcode.com/ascend/pytorch/tags> | 用于打包whl的download_url入参 | | 93 | | 自研 | 不涉及 | setup.cfg | <https://gitcode.com/ascend/pytorch/tags> | 用于打包whl的download_url入参 | |
| 94 | -| 自研 | 不涉及 | third_party\op-plugin\ci\build.sh | <https://gitcode.com/ascend/pytorch.git> | 编译脚本根据torch_npu仓库地址拉取代码进行编译 | | 94 | +| 自研 | 不涉及 | third_party\op-plugin\ci\build.sh | <https://gitcode.com/ascend/pytorch.git> | 编译脚本根据TorchNPU仓库地址拉取代码进行编译 | |
| 95 | -| 自研 | 不涉及 | third_party\op-plugin\ci\exec_ut.sh | <https://gitcode.com/ascend/pytorch.git> | UT脚本根据torch_npu仓库地址拉取代码进行UT测试 | | 95 | +| 自研 | 不涉及 | third_party\op-plugin\ci\exec_ut.sh | <https://gitcode.com/ascend/pytorch.git> | UT脚本根据TorchNPU仓库地址拉取代码进行UT测试 | |
| 96 | | 开源引入 | <https://github.com/pytorch/pytorch/blob/v2.7.1/test/nn/test_convolution.py> <br> <https://github.com/pytorch/pytorch/blob/v2.7.1/test/test_mps.py> <br> <https://github.com/pytorch/pytorch/blob/v2.7.1/test/test_serialization.py> | test\url.ini | <https://download.pytorch.org/test_data/legacy_conv2d.pt> | 用于test脚本下载相关pt文件 | | 96 | | 开源引入 | <https://github.com/pytorch/pytorch/blob/v2.7.1/test/nn/test_convolution.py> <br> <https://github.com/pytorch/pytorch/blob/v2.7.1/test/test_mps.py> <br> <https://github.com/pytorch/pytorch/blob/v2.7.1/test/test_serialization.py> | test\url.ini | <https://download.pytorch.org/test_data/legacy_conv2d.pt> | 用于test脚本下载相关pt文件 | |
| 97 | | 开源引入 | <https://github.com/pytorch/pytorch/blob/v2.7.1/test/test_serialization.py> | test\url.ini | <https://download.pytorch.org/test_data/legacy_serialized.pt> | 用于test脚本下载相关pt文件 | | 97 | | 开源引入 | <https://github.com/pytorch/pytorch/blob/v2.7.1/test/test_serialization.py> | test\url.ini | <https://download.pytorch.org/test_data/legacy_serialized.pt> | 用于test脚本下载相关pt文件 | |
| 98 | | 开源引入 | <https://github.com/pytorch/pytorch/blob/v2.7.1/test/test_serialization.py> | test\url.ini | <https://download.pytorch.org/test_data/gpu_tensors.pt> | 用于test脚本下载相关pt文件 | | 98 | | 开源引入 | <https://github.com/pytorch/pytorch/blob/v2.7.1/test/test_serialization.py> | test\url.ini | <https://download.pytorch.org/test_data/gpu_tensors.pt> | 用于test脚本下载相关pt文件 | |
| @@ -106,11 +106,11 @@ torch_npu支持源码编译安装,在编译时会下载依赖第三方库并 | |||
| 106 | 106 | ||
| 107 | ## 公开接口声明 | 107 | ## 公开接口声明 |
| 108 | 108 | ||
| 109 | -Ascend Extension for PyTorch是PyTorch适配插件,支持用户使用PyTorch在昇腾设备上进行训练和推理。Ascend Extension for PyTorch适配后支持用户使用PyTorch原生接口。除了原生PyTorch接口外,Ascend Extension for PyTorch提供了部分自定义接口,包括自定义算子、亲和库和其他接口,支持PyTorch接口和自定义接口连接,具体可参见[《Ascend Extension for PyTorch自定义API参考》](https://www.hiascend.com/document/detail/zh/Pytorch/710/apiref/torchnpuCustomsapi/context/%E6%A6%82%E8%BF%B0.md)以及[《PyTorch原生接口清单》](https://www.hiascend.com/document/detail/zh/Pytorch/710/apiref/PyTorchNativeapi/ptaoplist_000003.html)。 | 109 | +TorchNPU是PyTorch适配插件,支持用户使用PyTorch在昇腾设备上进行训练和推理。TorchNPU适配后支持用户使用PyTorch原生接口。除了原生PyTorch接口外,TorchNPU提供了部分自定义接口,包括自定义算子、亲和库和其他接口,支持PyTorch接口和自定义接口连接,具体可参见[《自定义API》](https://www.hiascend.com/document/detail/zh/Pytorch/710/apiref/torchnpuCustomsapi/context/%E6%A6%82%E8%BF%B0.md)以及[《PyTorch原生接口清单》](https://www.hiascend.com/document/detail/zh/Pytorch/710/apiref/PyTorchNativeapi/ptaoplist_000003.html)。 |
| 110 | 110 | ||
| 111 | -参考[PyTorch社区公开接口规范](https://github.com/pytorch/pytorch/wiki/Public-API-definition-and-documentation),Ascend Extension for PyTorch提供了对外的自定义接口。如果一个函数看起来符合公开接口的标准且在文档中有展示,则该接口是公开接口。否则,使用该功能前可以在社区询问该功能是否确实是公开的或意外暴露的接口,因为这些未暴露接口将来可能会被修改或者删除。 | 111 | +参考[PyTorch社区公开接口规范](https://github.com/pytorch/pytorch/wiki/Public-API-definition-and-documentation),TorchNPU提供了对外的自定义接口。如果一个函数看起来符合公开接口的标准且在文档中有展示,则该接口是公开接口。否则,使用该功能前可以在社区询问该功能是否确实是公开的或意外暴露的接口,因为这些未暴露接口将来可能会被修改或者删除。 |
| 112 | 112 | ||
| 113 | -Ascend Extension for PyTorch项目采用C++和Python联合开发,当前除Libtorch场景外正式接口只提供Python接口,在torch_npu的二进制包中动态库不直接提供服务,暴露的接口为内部使用,不建议用户使用。 | 113 | +TorchNPU项目采用C++和Python联合开发,当前除Libtorch场景外正式接口只提供Python接口,在TorchNPU的二进制包中动态库不直接提供服务,暴露的接口为内部使用,不建议用户使用。 |
| 114 | 114 | ||
| 115 | ## 通信安全加固 | 115 | ## 通信安全加固 |
| 116 | 116 | ||
| @@ -210,16 +210,16 @@ PyTorch分布式训练服务需要在设备间进行通信,通信开启的端 | |||
| 210 | 210 | ||
| 211 | ## 通信矩阵 | 211 | ## 通信矩阵 |
| 212 | 212 | ||
| 213 | -PyTorch提供分布式训练能力,支持在单机和多机场景下进行训练,需要进行网络通信。其中PyTorch需要使用TCP进行通信,torch_npu使用CANN中HCCL在NPU设备间通信,通信端口见[通信矩阵信息](#通信矩阵信息)。用户需要注意并保障节点间通信网络安全,可以使用iptables等方式消减安全风险,可参考[通信安全加固](#通信安全加固)进行网络安全加固。 | 213 | +PyTorch提供分布式训练能力,支持在单机和多机场景下进行训练,需要进行网络通信。其中PyTorch需要使用TCP进行通信,TorchNPU使用CANN中HCCL在NPU设备间通信,通信端口见[通信矩阵信息](#通信矩阵信息)。用户需要注意并保障节点间通信网络安全,可以使用iptables等方式消减安全风险,可参考[通信安全加固](#通信安全加固)进行网络安全加固。 |
| 214 | 214 | ||
| 215 | 通信矩阵信息<a id="通信矩阵信息"></a> | 215 | 通信矩阵信息<a id="通信矩阵信息"></a> |
| 216 | 216 | ||
| 217 | | 组件 | PyTorch | HCCL | | 217 | | 组件 | PyTorch | HCCL | |
| 218 | | --------------------- | ------------------------------------ | ------------------------------------ | | 218 | | --------------------- | ------------------------------------ | ------------------------------------ | |
| 219 | -| 源设备 | 运行torch_npu进程的服务器 | 运行torch_npu进程的服务器 | | 219 | +| 源设备 | 运行TorchNPU进程的服务器 | 运行TorchNPU进程的服务器 | |
| 220 | | 源IP | 设备地址IP | 设备地址IP | | 220 | | 源IP | 设备地址IP | 设备地址IP | |
| 221 | | 源端口 | 操作系统自动分配,分配范围由操作系统的自身配置决定 | 默认值为60000,取值范围[1024,65520]。用户可以通过HCCL_IF_BASE_PORT环境变量指定Host网卡起始端口号,配置后系统默认占用以该端口起始的16个端口 | | 221 | | 源端口 | 操作系统自动分配,分配范围由操作系统的自身配置决定 | 默认值为60000,取值范围[1024,65520]。用户可以通过HCCL_IF_BASE_PORT环境变量指定Host网卡起始端口号,配置后系统默认占用以该端口起始的16个端口 | |
| 222 | -| 目的设备 | 运行torch_npu进程的服务器 | 运行torch_npu进程的服务器 | | 222 | +| 目的设备 | 运行TorchNPU进程的服务器 | 运行TorchNPU进程的服务器 | |
| 223 | | 目的IP | 设备地址IP | 设备地址IP | | 223 | | 目的IP | 设备地址IP | 设备地址IP | |
| 224 | | 目的端口 (侦听) | 默认29500/29400,用户可以设定端口号 | 默认值为60000,取值范围[1024,65520]。用户可以通过HCCL_IF_BASE_PORT环境变量指定Host网卡起始端口号,配置后系统默认占用以该端口起始的16个端口 | | 224 | | 目的端口 (侦听) | 默认29500/29400,用户可以设定端口号 | 默认值为60000,取值范围[1024,65520]。用户可以通过HCCL_IF_BASE_PORT环境变量指定Host网卡起始端口号,配置后系统默认占用以该端口起始的16个端口 | |
| 225 | | 协议 | TCP | TCP | | 225 | | 协议 | TCP | TCP | |
| @@ -230,15 +230,15 @@ PyTorch提供分布式训练能力,支持在单机和多机场景下进行训 | |||
| 230 | | 所属平面 | 不涉及 | 不涉及 | | 230 | | 所属平面 | 不涉及 | 不涉及 | |
| 231 | | 版本 | 所有版本 | 所有版本 | | 231 | | 版本 | 所有版本 | 所有版本 | |
| 232 | | 特殊场景 | 无 | 无 | | 232 | | 特殊场景 | 无 | 无 | |
| 233 | -| 备注 | 该通信过程由开源软件PyTorch控制,配置为PyTorch原生设置,可参考[PyTorch文档](https://pytorch.org/docs/stable/distributed.html#launch-utility)。源端口由操作系统自动分配,分配范围由操作系统的配置决定,例如ubuntu:采用/proc/sys/net/ipv4/ipv4_local_port_range文件指定,可通过cat /proc/sys/net/ipv4/ipv4_local_port_range或sysctl net.ipv4.ip_local_port_range查看 | 该通信过程由CANN中HCCL组件控制,torch_npu不进行控制,端口范围可参考[《环境变量参考》](https://www.hiascend.com/document/detail/zh/canncommercial/82RC1/maintenref/envvar/envref_07_0001.html)的“执行相关 > 集合通信 >HCCL_IF_BASE_PORT” | | 233 | +| 备注 | 该通信过程由开源软件PyTorch控制,配置为PyTorch原生设置,可参考[PyTorch文档](https://pytorch.org/docs/stable/distributed.html#launch-utility)。源端口由操作系统自动分配,分配范围由操作系统的配置决定,例如ubuntu:采用/proc/sys/net/ipv4/ipv4_local_port_range文件指定,可通过cat /proc/sys/net/ipv4/ipv4_local_port_range或sysctl net.ipv4.ip_local_port_range查看 | 该通信过程由CANN中HCCL组件控制,TorchNPU不进行控制,端口范围可参考[《环境变量参考》](https://www.hiascend.com/document/detail/zh/canncommercial/82RC1/maintenref/envvar/envref_07_0001.html)的“执行相关 > 集合通信 >HCCL_IF_BASE_PORT” | |
| 234 | 234 | ||
| 235 | ## 漏洞机制说明 | 235 | ## 漏洞机制说明 |
| 236 | 236 | ||
| 237 | -Ascend Extension for PyTorch 社区非常重视社区版本的安全性,专门设置了漏洞管理专员负责处理漏洞相关的事务,同时为了构建更安全的AI全流程工具链,我们也欢迎您一起参与。 | 237 | +Ascend for PyTorch社区非常重视社区版本的安全性,专门设置了漏洞管理专员负责处理漏洞相关的事务,同时为了构建更安全的AI全流程工具链,我们也欢迎您一起参与。 |
| 238 | 238 | ||
| 239 | ### 漏洞处理流程 | 239 | ### 漏洞处理流程 |
| 240 | 240 | ||
| 241 | -对于每一个安全漏洞,Ascend Extension for PyTorch 社区会安排人员进行跟踪和处理,漏洞处理的端到端流程如下图所示。 | 241 | +对于每一个安全漏洞,Ascend for PyTorch社区会安排人员进行跟踪和处理,漏洞处理的端到端流程如下图所示。 |
| 242 | 242 | ||
| 243 |  | 243 |  |
| 244 | 244 | ||
| @@ -246,22 +246,22 @@ Ascend Extension for PyTorch 社区非常重视社区版本的安全性,专门 | |||
| 246 | 246 | ||
| 247 | ### 漏洞上报 | 247 | ### 漏洞上报 |
| 248 | 248 | ||
| 249 | -您可以通过提交issue的方式联系 Ascend Extension for PyTorch 社区团队,我们将会第一时间安排安全漏洞专项人员向您联系。 | 249 | +您可以通过提交issue的方式联系 Ascend for PyTorch社区团队,我们将会第一时间安排安全漏洞专项人员向您联系。 |
| 250 | 注意,为了确保安全性,请不要在issue中描述涉及安全隐私的具体信息。 | 250 | 注意,为了确保安全性,请不要在issue中描述涉及安全隐私的具体信息。 |
| 251 | 251 | ||
| 252 | #### 上报响应 | 252 | #### 上报响应 |
| 253 | 253 | ||
| 254 | -1. Ascend Extension for PyTorch 社区会在3个工作日内确认、分析、上报安全漏洞问题,同时启动安全处理流程。 | 254 | +1. Ascend for PyTorch社区会在3个工作日内确认、分析、上报安全漏洞问题,同时启动安全处理流程。 |
| 255 | -2. Ascend Extension for PyTorch 安全团队在确认安全漏洞问题后,会对问题进行分发和跟进。 | 255 | +2. Ascend for PyTorch安全团队在确认安全漏洞问题后,会对问题进行分发和跟进。 |
| 256 | 3. 在安全漏洞问题从分类、确定、修复和发布的过程中,我们会及时更新报告。 | 256 | 3. 在安全漏洞问题从分类、确定、修复和发布的过程中,我们会及时更新报告。 |
| 257 | 257 | ||
| 258 | ### 漏洞评估 | 258 | ### 漏洞评估 |
| 259 | 259 | ||
| 260 | -业界普遍使用 CVSS 标准评估漏洞的严重性,Ascend Extension for PyTorch 在使用 CVSS v3.1 进行漏洞评估时,需要设定漏洞攻击场景,基于在该攻击场景下的实际影响进行评估。漏洞严重等级评估是指针对漏洞利用难易程度,以及利用后对机密性、完整性、可用性的影响进行评估,并生成一个评分值。 | 260 | +业界普遍使用 CVSS 标准评估漏洞的严重性,TorchNPU在使用CVSS v3.1进行漏洞评估时,需要设定漏洞攻击场景,基于在该攻击场景下的实际影响进行评估。漏洞严重等级评估是指针对漏洞利用难易程度,以及利用后对机密性、完整性、可用性的影响进行评估,并生成一个评分值。 |
| 261 | 261 | ||
| 262 | #### 漏洞评估标准 | 262 | #### 漏洞评估标准 |
| 263 | 263 | ||
| 264 | -Ascend Extension for PyTorch 通过以下向量评估一个漏洞的严重等级: | 264 | +TorchNPU通过以下向量评估一个漏洞的严重等级: |
| 265 | 265 | ||
| 266 | - 攻击向量(AV):表示攻击的“远程性”以及如何利用此漏洞。 | 266 | - 攻击向量(AV):表示攻击的“远程性”以及如何利用此漏洞。 |
| 267 | - 攻击复杂性(AC):讲述攻击执行的难度以及成功进行攻击需要哪些因素。 | 267 | - 攻击复杂性(AC):讲述攻击执行的难度以及成功进行攻击需要哪些因素。 |
| @@ -304,8 +304,8 @@ Ascend Extension for PyTorch 通过以下向量评估一个漏洞的严重等级 | |||
| 304 | 304 | ||
| 305 | ### 漏洞披露 | 305 | ### 漏洞披露 |
| 306 | 306 | ||
| 307 | -安全漏洞修复后 Ascend Extension for PyTorch 社区会发布安全公告 (SA)以及安全说明(SN) ,安全公告内容包括该漏洞的技术细节、类型、上报人、CVE ID 以及受到该漏洞影响的版本和修复版本等信息。 | 307 | +安全漏洞修复后Ascend for PyTorch社区会发布安全公告(SA)以及安全说明(SN),安全公告内容包括该漏洞的技术细节、类型、上报人、CVE ID 以及受到该漏洞影响的版本和修复版本等信息。 |
| 308 | -为了保护 Ascend Extension for PyTorch 用户的安全,在进行调查、修复和发布安全公告之前, Ascend Extension for PyTorch 社区不会公开披露、讨论或确认 Ascend Extension for PyTorch 产品的安全问题。 | 308 | +为了保护TorchNPU用户的安全,在进行调查、修复和发布安全公告之前,Ascend for PyTorch社区不会公开披露、讨论或确认TorchNPU产品的安全问题。 |
| 309 | 309 | ||
| 310 | ### 附录 | 310 | ### 附录 |
| 311 | 311 | ||
| @@ -162,7 +162,7 @@ Ascend PyTorch Profiler可全面采集PyTorch训练/在线推理场景下的性 | |||
| 162 | 162 | ||
| 163 | 请参见《[MindStudio Insight系统调优](https://gitcode.com/Ascend/msinsight/blob/master/docs/zh/user_guide/system_tuning.md)》将解析后的性能数据文件进行可视化展示和分析。 | 163 | 请参见《[MindStudio Insight系统调优](https://gitcode.com/Ascend/msinsight/blob/master/docs/zh/user_guide/system_tuning.md)》将解析后的性能数据文件进行可视化展示和分析。 |
| 164 | 164 | ||
| 165 | - 可以使用[性能分析工具(msprof-analyze)](https://gitcode.com/Ascend/msprof-analyze/blob/master/docs/zh/getting_started/quick_start.md)辅助分析性能数据。 | 165 | + 可以使用[性能分析工具(msprof-analyze)](https://gitcode.com/Ascend/msprof-analyze/blob/master/docs/zh/quick_start/msprof-analyze_quick_start.md)辅助分析性能数据。 |
| 166 | 166 | ||
| 167 | ### 采集并解析性能数据(dynamic\_profile)<a id="采集并解析性能数据(dynamic_profile)"></a> | 167 | ### 采集并解析性能数据(dynamic\_profile)<a id="采集并解析性能数据(dynamic_profile)"></a> |
| 168 | 168 | ||
| @@ -232,7 +232,7 @@ dynamic\_profile动态采集,主要功能是在执行模型训练/在线推理 | |||
| 232 | 232 | ||
| 233 | 请参见《[MindStudio Insight系统调优](https://gitcode.com/Ascend/msinsight/blob/master/docs/zh/user_guide/system_tuning.md)》将解析后的性能数据文件进行可视化展示和分析。 | 233 | 请参见《[MindStudio Insight系统调优](https://gitcode.com/Ascend/msinsight/blob/master/docs/zh/user_guide/system_tuning.md)》将解析后的性能数据文件进行可视化展示和分析。 |
| 234 | 234 | ||
| 235 | - 可以使用[性能分析工具(msprof-analyze)](https://gitcode.com/Ascend/msprof-analyze/blob/master/docs/zh/getting_started/quick_start.md)辅助分析性能数据。 | 235 | + 可以使用[性能分析工具(msprof-analyze)](https://gitcode.com/Ascend/msprof-analyze/blob/master/docs/zh/quick_start/msprof-analyze_quick_start.md)辅助分析性能数据。 |
| 236 | 236 | ||
| 237 | **使用示例(修改用户训练/在线推理脚本,添加dynamic_profile接口方式)**<a name="添加dynamic_profile接口方式"></a> | 237 | **使用示例(修改用户训练/在线推理脚本,添加dynamic_profile接口方式)**<a name="添加dynamic_profile接口方式"></a> |
| 238 | 238 | ||
| @@ -275,7 +275,7 @@ dynamic\_profile动态采集,主要功能是在执行模型训练/在线推理 | |||
| 275 | 275 | ||
| 276 | 请参见《[MindStudio Insight系统调优](https://gitcode.com/Ascend/msinsight/blob/master/docs/zh/user_guide/system_tuning.md)》将解析后的性能数据文件进行可视化展示和分析。 | 276 | 请参见《[MindStudio Insight系统调优](https://gitcode.com/Ascend/msinsight/blob/master/docs/zh/user_guide/system_tuning.md)》将解析后的性能数据文件进行可视化展示和分析。 |
| 277 | 277 | ||
| 278 | - 可以使用[性能分析工具(msprof-analyze)](https://gitcode.com/Ascend/msprof-analyze/blob/master/docs/zh/getting_started/quick_start.md)辅助分析性能数据。 | 278 | + 可以使用[性能分析工具(msprof-analyze)](https://gitcode.com/Ascend/msprof-analyze/blob/master/docs/zh/quick_start/msprof-analyze_quick_start.md)辅助分析性能数据。 |
| 279 | 279 | ||
| 280 | **使用示例(修改用户训练/在线推理脚本,添加dynamic_profile的dp.start()函数方式)**<a name="添加dynamic_profile的dp.start()函数方式"></a> | 280 | **使用示例(修改用户训练/在线推理脚本,添加dynamic_profile的dp.start()函数方式)**<a name="添加dynamic_profile的dp.start()函数方式"></a> |
| 281 | 281 | ||
| @@ -322,7 +322,7 @@ dynamic\_profile动态采集,主要功能是在执行模型训练/在线推理 | |||
| 322 | 322 | ||
| 323 | 请参见《[MindStudio Insight系统调优](https://gitcode.com/Ascend/msinsight/blob/master/docs/zh/user_guide/system_tuning.md)》将解析后的性能数据文件进行可视化展示和分析。 | 323 | 请参见《[MindStudio Insight系统调优](https://gitcode.com/Ascend/msinsight/blob/master/docs/zh/user_guide/system_tuning.md)》将解析后的性能数据文件进行可视化展示和分析。 |
| 324 | 324 | ||
| 325 | - 可以使用[性能分析工具(msprof-analyze)](https://gitcode.com/Ascend/msprof-analyze/blob/master/docs/zh/getting_started/quick_start.md)辅助分析性能数据。 | 325 | + 可以使用[性能分析工具(msprof-analyze)](https://gitcode.com/Ascend/msprof-analyze/blob/master/docs/zh/quick_start/msprof-analyze_quick_start.md)辅助分析性能数据。 |
| 326 | 326 | ||
| 327 | ## 扩展采集功能<a id="扩展采集功能"></a> | 327 | ## 扩展采集功能<a id="扩展采集功能"></a> |
| 328 | 328 | ||
| @@ -789,7 +789,7 @@ if __name__ == "__main__": | |||
| 789 | 789 | ||
| 790 | 请参见《[MindStudio Insight系统调优](https://gitcode.com/Ascend/msinsight/blob/master/docs/zh/user_guide/system_tuning.md)》将解析后的性能数据文件进行可视化展示和分析。 | 790 | 请参见《[MindStudio Insight系统调优](https://gitcode.com/Ascend/msinsight/blob/master/docs/zh/user_guide/system_tuning.md)》将解析后的性能数据文件进行可视化展示和分析。 |
| 791 | 791 | ||
| 792 | - 可以使用[性能分析工具(msprof-analyze)](https://gitcode.com/Ascend/msprof-analyze/blob/master/docs/zh/getting_started/quick_start.md)辅助分析性能数据。 | 792 | + 可以使用[性能分析工具(msprof-analyze)](https://gitcode.com/Ascend/msprof-analyze/blob/master/docs/zh/quick_start/msprof-analyze_quick_start.md)辅助分析性能数据。 |
| 793 | 793 | ||
| 794 | ## 输出结果文件说明<a id="输出结果文件说明"></a> | 794 | ## 输出结果文件说明<a id="输出结果文件说明"></a> |
| 795 | 795 | ||
| @@ -928,13 +928,13 @@ GC执行时,会阻塞当前进程,需要等待GC完成,若GC时间过长 | |||
| 928 | **图 6** memory\_record | 928 | **图 6** memory\_record |
| 929 |  | 929 |  |
| 930 | 930 | ||
| 931 | -文件包含PTA和GE的显存占用记录,主要记录PTA、GE等组件申请的内存及占用时间。字段信息如[表2](#table2)所示。 | 931 | +文件包含TorchNPU和GE的显存占用记录,主要记录TorchNPU、GE等组件申请的内存及占用时间。字段信息如[表2](#table2)所示。 |
| 932 | 932 | ||
| 933 | **表 2** memory\_record<a name="table2"></a> | 933 | **表 2** memory\_record<a name="table2"></a> |
| 934 | 934 | ||
| 935 | |字段名|字段解释| | 935 | |字段名|字段解释| |
| 936 | |--|--| | 936 | |--|--| |
| 937 | -|Component|组件,包含:PTA和GE组件、APP进程级、WORKSPACE(采集性能数据前配置环境变量TASK_QUEUE_ENABLE=2时生成)等。| | 937 | +|Component|组件,包含:TorchNPU和GE组件、APP进程级、WORKSPACE(采集性能数据前配置环境变量TASK_QUEUE_ENABLE=2时生成)等。| |
| 938 | |Timestamp(us)|时间戳,记录显存占用的起始时间,单位us。| | 938 | |Timestamp(us)|时间戳,记录显存占用的起始时间,单位us。| |
| 939 | |Total Allocated(MB)|内存分配总额,单位MB。| | 939 | |Total Allocated(MB)|内存分配总额,单位MB。| |
| 940 | |Total Reserved(MB)|内存预留总额,单位MB。| | 940 | |Total Reserved(MB)|内存预留总额,单位MB。| |
| @@ -947,7 +947,7 @@ GC执行时,会阻塞当前进程,需要等待GC完成,若GC时间过长 | |||
| 947 | **图 7** operator\_memory | 947 | **图 7** operator\_memory |
| 948 |  | 948 |  |
| 949 | 949 | ||
| 950 | -文件包含算子的内存占用明细,主要记录算子在NPU上执行所需内存及占用时间,其中内存由PTA和GE申请。字段信息如[表3](#table3)所示。 | 950 | +文件包含算子的内存占用明细,主要记录算子在NPU上执行所需内存及占用时间,其中内存由TorchNPU和GE申请。字段信息如[表3](#table3)所示。 |
| 951 | 951 | ||
| 952 | >[!NOTE] | 952 | >[!NOTE] |
| 953 | >若operator\_memory.csv文件中出现负值或空值,详细原因请参见[operator\_memory(CANN算子的内存占用明细)](https://gitcode.com/Ascend/msprof/blob/master/docs/zh/user_guide/profile_data_file_references.md#operator_memory%EF%BC%88cann%E7%AE%97%E5%AD%90%E7%9A%84%E5%86%85%E5%AD%98%E5%8D%A0%E7%94%A8%E6%98%8E%E7%BB%86%EF%BC%89) 的负值空值说明。 | 953 | >若operator\_memory.csv文件中出现负值或空值,详细原因请参见[operator\_memory(CANN算子的内存占用明细)](https://gitcode.com/Ascend/msprof/blob/master/docs/zh/user_guide/profile_data_file_references.md#operator_memory%EF%BC%88cann%E7%AE%97%E5%AD%90%E7%9A%84%E5%86%85%E5%AD%98%E5%8D%A0%E7%94%A8%E6%98%8E%E7%BB%86%EF%BC%89) 的负值空值说明。 |
| @@ -963,12 +963,12 @@ GC执行时,会阻塞当前进程,需要等待GC完成,若GC时间过长 | |||
| 963 | |Active Release Time(us)|内存实际归还内存池时间,单位us。| | 963 | |Active Release Time(us)|内存实际归还内存池时间,单位us。| |
| 964 | |Duration(us)|内存占用时间(Release Time-Allocation Time),单位us。| | 964 | |Duration(us)|内存占用时间(Release Time-Allocation Time),单位us。| |
| 965 | |Active Duration(us)|内存实际占用时间(Active Release Time-Allocation Time),单位us。| | 965 | |Active Duration(us)|内存实际占用时间(Active Release Time-Allocation Time),单位us。| |
| 966 | -|Allocation Total Allocated(MB)|算子内存分配时的内存分配总额(Name算子名称为aten开头时为PTA内存,算子名称为cann开头时为GE内存),单位MB。| | 966 | +|Allocation Total Allocated(MB)|算子内存分配时的内存分配总额(Name算子名称为aten开头时为TorchNPU内存,算子名称为cann开头时为GE内存),单位MB。| |
| 967 | -|Allocation Total Reserved(MB)|算子内存分配时的内存占用总额(Name算子名称为aten开头时为PTA内存,算子名称为cann开头时为GE内存),单位MB。| | 967 | +|Allocation Total Reserved(MB)|算子内存分配时的内存占用总额(Name算子名称为aten开头时为TorchNPU内存,算子名称为cann开头时为GE内存),单位MB。| |
| 968 | |Allocation Total Active(MB)|算子内存分配时当前流所申请的总内存(包括被其他流复用的未释放的内存),单位MB。| | 968 | |Allocation Total Active(MB)|算子内存分配时当前流所申请的总内存(包括被其他流复用的未释放的内存),单位MB。| |
| 969 | -|Release Total Allocated(MB)|算子内存释放时的内存分配总额(Name算子名称为aten开头时为PTA内存,算子名称为cann开头时为GE内存),单位MB。| | 969 | +|Release Total Allocated(MB)|算子内存释放时的内存分配总额(Name算子名称为aten开头时为TorchNPU内存,算子名称为cann开头时为GE内存),单位MB。| |
| 970 | -|Release Total Reserved(MB)|算子内存释放时的内存占用总额(Name算子名称为aten开头时为PTA内存,算子名称为cann开头时为GE内存),单位MB。| | 970 | +|Release Total Reserved(MB)|算子内存释放时的内存占用总额(Name算子名称为aten开头时为TorchNPU内存,算子名称为cann开头时为GE内存),单位MB。| |
| 971 | -|Release Total Active(MB)|算子内存释放时的内存中被其他Stream复用的内存总额(Name算子名称为aten开头时为PTA内存,算子名称为cann开头时为GE内存),单位MB。| | 971 | +|Release Total Active(MB)|算子内存释放时的内存中被其他Stream复用的内存总额(Name算子名称为aten开头时为TorchNPU内存,算子名称为cann开头时为GE内存),单位MB。| |
| 972 | |Stream Ptr|AscendCL流的内存地址,用于标记不同的AscendCL流。| | 972 | |Stream Ptr|AscendCL流的内存地址,用于标记不同的AscendCL流。| |
| 973 | |Device Type|设备类型和设备ID,仅涉及NPU。| | 973 | |Device Type|设备类型和设备ID,仅涉及NPU。| |
| 974 | 974 | ||
| @@ -1149,11 +1149,11 @@ data\_preprocess.csv文件记录AI CPU数据,示例和字段说明以[aicpu( | |||
| 1149 | 1149 | ||
| 1150 | |字段名|类型|含义| | 1150 | |字段名|类型|含义| |
| 1151 | |--|--|--| | 1151 | |--|--|--| |
| 1152 | -|component|INTEGER|组件名(GE、PTA、PTA+GE)在STRING_IDS表中对应的id| | 1152 | +|component|INTEGER|组件名(GE、TorchNPU、TorchNPU+GE)在STRING_IDS表中对应的id| |
| 1153 | |timestamp|INTEGER|时间戳| | 1153 | |timestamp|INTEGER|时间戳| |
| 1154 | |totalAllocated|INTEGER|内存分配总额| | 1154 | |totalAllocated|INTEGER|内存分配总额| |
| 1155 | |totalReserved|INTEGER|内存预留总额| | 1155 | |totalReserved|INTEGER|内存预留总额| |
| 1156 | -|totalActive|INTEGER|PTA流申请的总内存| | 1156 | +|totalActive|INTEGER|TorchNPU流申请的总内存| |
| 1157 | |streamPtr|INTEGER|ascendcl流地址| | 1157 | |streamPtr|INTEGER|ascendcl流地址| |
| 1158 | |deviceId|INTEGER|设备ID| | 1158 | |deviceId|INTEGER|设备ID| |
| 1159 | 1159 | ||
| @@ -1174,11 +1174,11 @@ data\_preprocess.csv文件记录AI CPU数据,示例和字段说明以[aicpu( | |||
| 1174 | |activeReleaseTime|INTEGER|内存实际归还内存池时间,单位ns| | 1174 | |activeReleaseTime|INTEGER|内存实际归还内存池时间,单位ns| |
| 1175 | |duration|INTEGER|内存占用时间,单位ns| | 1175 | |duration|INTEGER|内存占用时间,单位ns| |
| 1176 | |activeDuration|INTEGER|内存实际占用时间,单位ns| | 1176 | |activeDuration|INTEGER|内存实际占用时间,单位ns| |
| 1177 | -|allocationTotalAllocated|INTEGER|算子内存分配时PTA和GE内存分配总额,单位Byte| | 1177 | +|allocationTotalAllocated|INTEGER|算子内存分配时TorchNPU和GE内存分配总额,单位Byte| |
| 1178 | -|allocationTotalReserved|INTEGER|算子内存分配时PTA和GE内存占用总额,单位Byte| | 1178 | +|allocationTotalReserved|INTEGER|算子内存分配时TorchNPU和GE内存占用总额,单位Byte| |
| 1179 | |allocationTotalActive|INTEGER|算子内存分配时当前流申请的内存总额,单位Byte| | 1179 | |allocationTotalActive|INTEGER|算子内存分配时当前流申请的内存总额,单位Byte| |
| 1180 | -|releaseTotalAllocated|INTEGER|算子内存释放时PTA和GE内存分配总额,单位Byte| | 1180 | +|releaseTotalAllocated|INTEGER|算子内存释放时TorchNPU和GE内存分配总额,单位Byte| |
| 1181 | -|releaseTotalReserved|INTEGER|算子内存释放时PTA和GE内存占用总额,单位Byte| | 1181 | +|releaseTotalReserved|INTEGER|算子内存释放时TorchNPU和GE内存占用总额,单位Byte| |
| 1182 | |releaseTotalActive|INTEGER|算子内存释放时当前流申请的内存总额,单位Byte| | 1182 | |releaseTotalActive|INTEGER|算子内存释放时当前流申请的内存总额,单位Byte| |
| 1183 | |streamPtr|INTEGER|ascendcl流地址| | 1183 | |streamPtr|INTEGER|ascendcl流地址| |
| 1184 | |deviceId|INTEGER|设备ID| | 1184 | |deviceId|INTEGER|设备ID| |
| @@ -2,12 +2,12 @@ | |||
| 2 | 2 | ||
| 3 | ## 功能描述 | 3 | ## 功能描述 |
| 4 | 4 | ||
| 5 | -Ascend Extension for PyTorch可以通过设置环境变量CPU\_AFFINITY\_CONF来开启粗/细粒度绑核。该配置能够避免线程间抢占,提高缓存命中,避免跨NUMA(非一致性内存访问)节点的内存访问,减少任务调度开销,优化任务执行效率。 | 5 | +TorchNPU可以通过设置环境变量CPU\_AFFINITY\_CONF来开启粗/细粒度绑核。该配置能够避免线程间抢占,提高缓存命中,避免跨NUMA(非一致性内存访问)节点的内存访问,减少任务调度开销,优化任务执行效率。 |
| 6 | 6 | ||
| 7 | 可选的绑核方案如下: | 7 | 可选的绑核方案如下: |
| 8 | 8 | ||
| 9 | - **粗粒度绑核**:将所有任务绑定在NPU业务绑核区间的所有CPU核上,避免不同卡任务之间的线程抢占。 | 9 | - **粗粒度绑核**:将所有任务绑定在NPU业务绑核区间的所有CPU核上,避免不同卡任务之间的线程抢占。 |
| 10 | -- **细粒度绑核**:在粗粒度绑核的基础上进一步优化,将torch_npu热点线程(主线程、二级流水线程等)锚定在NPU业务绑核区间的固定CPU核上,即,主线程绑定在绑核区间的第一个CPU核上,二级流水线程绑定在绑核区间的第二个CPU核上,以此类推,非热点线程(如dataloader线程)则绑定在区间的剩余CPU核上,与热点线程隔离,减少核间切换的开销。 | 10 | +- **细粒度绑核**:在粗粒度绑核的基础上进一步优化,将TorchNPU热点线程(主线程、二级流水线程等)锚定在NPU业务绑核区间的固定CPU核上,即,主线程绑定在绑核区间的第一个CPU核上,二级流水线程绑定在绑核区间的第二个CPU核上,以此类推,非热点线程(如dataloader线程)则绑定在区间的剩余CPU核上,与热点线程隔离,减少核间切换的开销。 |
| 11 | 11 | ||
| 12 | > [!NOTE] | 12 | > [!NOTE] |
| 13 | > | 13 | > |
| @@ -47,7 +47,7 @@ Ascend Extension for PyTorch可以通过设置环境变量CPU\_AFFINITY\_CONF来 | |||
| 47 | > - 进行绑核时,请注意虚拟机与物理机的拓扑结构是否一致。默认情况下,npu0或Device 0对应的核组是NUMA0;但是Docker等虚拟机环境可能会改变映射关系,推荐根据映射关系自定义绑核范围。 | 47 | > - 进行绑核时,请注意虚拟机与物理机的拓扑结构是否一致。默认情况下,npu0或Device 0对应的核组是NUMA0;但是Docker等虚拟机环境可能会改变映射关系,推荐根据映射关系自定义绑核范围。 |
| 48 | > - 绑核前会检测绑核区间,如果绑核区间内存在CPU核非亲和,就会判定为线程已有亲和性,则不触发该环境变量对应的绑核(`force`参数不配置时的默认行为)。在容器核隔离场景下,此检测可能误判,可通过设置`force:1`跳过检测。 | 48 | > - 绑核前会检测绑核区间,如果绑核区间内存在CPU核非亲和,就会判定为线程已有亲和性,则不触发该环境变量对应的绑核(`force`参数不配置时的默认行为)。在容器核隔离场景下,此检测可能误判,可通过设置`force:1`跳过检测。 |
| 49 | > - 绑核对于不同模型优化程度不同,部分业务场景可能会有额外线程,线程抢占反而导致性能劣化。 | 49 | > - 绑核对于不同模型优化程度不同,部分业务场景可能会有额外线程,线程抢占反而导致性能劣化。 |
| 50 | -> - 对于用户自定义线程,因为子线程继承主线程的亲和性,推荐在拉起子线程的位置前后,通过调用torch\_npu.utils.set\_thread\_affinity和torch\_npu.utils.reset\_thread\_affinity来管理子线程的CPU亲和性,具体可参考《Ascend Extension for PyTorch 自定义 API参考》中的“[torch\_npu.utils.set\_thread\_affinity](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-utils/torch_npu-utils.set_thread_affinity.md)”章节和《Ascend Extension for PyTorch 自定义 API参考》中的“[torch\_npu.utils.reset\_thread\_affinity](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-utils/torch_npu-utils.reset_thread_affinity.md)”章节。 | 50 | +> - 对于用户自定义线程,因为子线程继承主线程的亲和性,推荐在拉起子线程的位置前后,通过调用torch\_npu.utils.set\_thread\_affinity和torch\_npu.utils.reset\_thread\_affinity来管理子线程的CPU亲和性,具体可参考《自定义API》中的“[torch\_npu.utils.set\_thread\_affinity](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-utils/torch_npu-utils.set_thread_affinity.md)”章节和《自定义API》中的“[torch\_npu.utils.reset\_thread\_affinity](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-utils/torch_npu-utils.reset_thread_affinity.md)”章节。 |
| 51 | > - 亲和性绑核区间可以通过命令**npu-smi info -t topo**查看。 | 51 | > - 亲和性绑核区间可以通过命令**npu-smi info -t topo**查看。 |
| 52 | 52 | ||
| 53 | ## 配置示例 | 53 | ## 配置示例 |
| @@ -9,7 +9,7 @@ | |||
| 9 | 9 | ||
| 10 | 默认值:0。 | 10 | 默认值:0。 |
| 11 | 11 | ||
| 12 | -> [!NOTE] | 12 | +> [!NOTE] |
| 13 | > | 13 | > |
| 14 | > - 当前版本,仅打印超时分析结果,不会终止进程。 | 14 | > - 当前版本,仅打印超时分析结果,不会终止进程。 |
| 15 | > - 当集群组网规模较大时,若启用此环境变量,可能会出现训练进程异常卡死的情况。 | 15 | > - 当集群组网规模较大时,若启用此环境变量,可能会出现训练进程异常卡死的情况。 |
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ## 功能描述 | 3 | ## 功能描述 |
| 4 | 4 | ||
| 5 | -INDUCTOR_ASCEND_CHECK_ACCURACY是Ascend Extension for PyTorch提供的精度校验工具,在torch.compile图编译后端为“inductor”时自动检测融合算子的数值精度。 | 5 | +INDUCTOR_ASCEND_CHECK_ACCURACY是TorchNPU提供的精度校验工具,在torch.compile图编译后端为“inductor”时自动检测融合算子的数值精度。 |
| 6 | 6 | ||
| 7 | 该工具可捕获融合算子对应的FX子图,生成独立可执行的单算子测试用例,并在相同输入条件下比对eager与融合算子的输出差异。当差异超出预设阈值时,自动输出精度校验失败日志及诊断信息,辅助开发者快速定位精度问题。 | 7 | 该工具可捕获融合算子对应的FX子图,生成独立可执行的单算子测试用例,并在相同输入条件下比对eager与融合算子的输出差异。当差异超出预设阈值时,自动输出精度校验失败日志及诊断信息,辅助开发者快速定位精度问题。 |
| 8 | 8 | ||
| @@ -11,7 +11,7 @@ | |||
| 11 | 11 | ||
| 12 | 针对<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>,默认值为“1”INF\_NAN模式,支持配置为“0”饱和模式。 | 12 | 针对<term>Atlas A2 训练系列产品</term>/<term>Atlas A3 训练系列产品</term>,默认值为“1”INF\_NAN模式,支持配置为“0”饱和模式。 |
| 13 | 13 | ||
| 14 | - 针对<term>Atlas 350 加速卡</term>,仅支持INF\_NAN模式,该环境变量不生效。 | 14 | +针对<term>Atlas 350 加速卡</term>,仅支持INF\_NAN模式,该环境变量不生效。 |
| 15 | 15 | ||
| 16 | > [!NOTICE] | 16 | > [!NOTICE] |
| 17 | > | 17 | > |
| @@ -14,7 +14,7 @@ export KINETO_USE_DAEMON=1 | |||
| 14 | 14 | ||
| 15 | ## 使用约束 | 15 | ## 使用约束 |
| 16 | 16 | ||
| 17 | -- 脚本不手动添加代码的情况,此环境变量适用于PyTorch训练场景。 | 17 | +- 脚本不手动添加代码的情况,此环境变量适用于TorchNPU训练场景。 |
| 18 | - 脚本内添加dynamic\_profile模块后,此环境变量可以在非训练场景使用。例如: | 18 | - 脚本内添加dynamic\_profile模块后,此环境变量可以在非训练场景使用。例如: |
| 19 | 19 | ||
| 20 | ```python | 20 | ```python |
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ## 功能描述 | 3 | ## 功能描述 |
| 4 | 4 | ||
| 5 | -通过此环境变量可配置多流内存复用是否开启。在集合通信多流场景,对Ascend Extension for PyTorch多流内存管理做优化,避免集合通信输入输出内存在多流场景下延迟释放,降低内存峰值。 | 5 | +通过此环境变量可配置多流内存复用是否开启。在集合通信多流场景,对TorchNPU多流内存管理做优化,避免集合通信输入输出内存在多流场景下延迟释放,降低内存峰值。 |
| 6 | 6 | ||
| 7 | - 0:关闭内存复用。 | 7 | - 0:关闭内存复用。 |
| 8 | - 1:开启内存复用,基于eraseStream的方式,把之前的recordStream标记进行擦除,保证内存复用,持有tensor的弱引用,不延长tensor的生命周期。 | 8 | - 1:开启内存复用,基于eraseStream的方式,把之前的recordStream标记进行擦除,保证内存复用,持有tensor的弱引用,不延长tensor的生命周期。 |
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ## 功能描述 | 3 | ## 功能描述 |
| 4 | 4 | ||
| 5 | -通过此环境变量可控制是否开启Ascend Extension for PyTorch的特征值检测功能。特征值检测功能具体参见《PyTorch 框架特性指南》中的“[特征值检测](../framework_feature_guide_pytorch/feature_value_detection.md)”章节。 | 5 | +通过此环境变量可控制是否开启TorchNPU的特征值检测功能。特征值检测功能具体参见《框架特性》中的“[特征值检测](../framework_feature_guide_pytorch/feature_value_detection.md)”章节。 |
| 6 | 6 | ||
| 7 | 该环境变量支持以下可选参数: | 7 | 该环境变量支持以下可选参数: |
| 8 | 8 | ||
| @@ -24,9 +24,9 @@ export NPU_ASD_CONFIG=enable:true,with_checksum:true,cooldown:5,strikes_num:3,st | |||
| 24 | 24 | ||
| 25 | ## 使用约束 | 25 | ## 使用约束 |
| 26 | 26 | ||
| 27 | -- 此环境变量不支持在PyTorch图模式(TorchAir)场景下使用。 | 27 | +- 此环境变量不支持在TorchAir场景下使用。 |
| 28 | - 特征值检测需要计算激活值梯度的统计值,会产生额外的显存占用,可能存在1.5GB的额外显存消耗,用户显存不足时可能导致OOM(Out of Memory,内存不足)。 | 28 | - 特征值检测需要计算激活值梯度的统计值,会产生额外的显存占用,可能存在1.5GB的额外显存消耗,用户显存不足时可能导致OOM(Out of Memory,内存不足)。 |
| 29 | -- 此环境变量适用于Ascend Extension for PyTorch 7.1.0及以上版本。Ascend Extension for PyTorch 7.0.0及以下版本,可使用[NPU\_ASD\_ENABLE](NPU_ASD_ENABLE.md)开启特征值检测,具体操作可参考Ascend Extension for PyTorch对应版本资料。 | 29 | +- 此环境变量适用于TorchNPU 7.1.0及以上版本。TorchNPU 7.0.0及以下版本,可使用[NPU\_ASD\_ENABLE](NPU_ASD_ENABLE.md)开启特征值检测,具体操作可参考TorchNPU对应版本资料。 |
| 30 | - 当前仅能识别数据类型为**BF16**或**FP32**的模型训练过程中出现的梯度异常。 | 30 | - 当前仅能识别数据类型为**BF16**或**FP32**的模型训练过程中出现的梯度异常。 |
| 31 | - checksum联动仅支持**BF16**的数据类型。 | 31 | - checksum联动仅支持**BF16**的数据类型。 |
| 32 | 32 | ||
| @@ -17,11 +17,11 @@ export NPU_ASD_ENABLE=2 | |||
| 17 | 17 | ||
| 18 | ## 使用约束 | 18 | ## 使用约束 |
| 19 | 19 | ||
| 20 | -- 此环境变量不支持在PyTorch图模式(TorchAir)场景下使用。 | 20 | +- 此环境变量不支持在TorchAir场景下使用。 |
| 21 | 21 | ||
| 22 | - 特征值检测需要计算激活值梯度的统计值,会产生额外的显存占用,用户显存紧张情况时可能导致OOM。 | 22 | - 特征值检测需要计算激活值梯度的统计值,会产生额外的显存占用,用户显存紧张情况时可能导致OOM。 |
| 23 | 23 | ||
| 24 | -- 此环境变量适用于Ascend Extension for PyTorch 7.0.0及以下版本。 | 24 | +- 此环境变量适用于TorchNPU 7.0.0及以下版本。 |
| 25 | 25 | ||
| 26 | ## 支持的型号 | 26 | ## 支持的型号 |
| 27 | 27 | ||
| @@ -28,9 +28,9 @@ export NPU_ASD_SIGMA_THRESH=100000,5000 | |||
| 28 | 28 | ||
| 29 | ## 使用约束 | 29 | ## 使用约束 |
| 30 | 30 | ||
| 31 | -- 此环境变量不支持在PyTorch图模式(TorchAir)场景下使用。 | 31 | +- 此环境变量不支持在TorchAir场景下使用。 |
| 32 | 32 | ||
| 33 | -- 此环境变量适用于Ascend Extension for PyTorch 7.0.0及之前版本。 | 33 | +- 此环境变量适用于TorchNPU 7.0.0及之前版本。 |
| 34 | 34 | ||
| 35 | ## 支持的型号 | 35 | ## 支持的型号 |
| 36 | 36 | ||
| @@ -28,9 +28,9 @@ export NPU_ASD_UPPER_THRESH=1000000,10000 | |||
| 28 | 28 | ||
| 29 | ## 使用约束 | 29 | ## 使用约束 |
| 30 | 30 | ||
| 31 | -- 此环境变量不支持在PyTorch图模式(TorchAir)场景下使用。 | 31 | +- 此环境变量不支持在TorchAir场景下使用。 |
| 32 | 32 | ||
| 33 | -- 此环境变量适用于Ascend Extension for PyTorch 7.0.0及之前版本。 | 33 | +- 此环境变量适用于TorchNPU 7.0.0及之前版本。 |
| 34 | 34 | ||
| 35 | ## 支持的型号 | 35 | ## 支持的型号 |
| 36 | 36 | ||
| @@ -22,7 +22,7 @@ export P2P_HCCL_BUFFSIZE=20 | |||
| 22 | - 该环境变量申请的内存为HCCL独占,不可与其他业务内存复用。 | 22 | - 该环境变量申请的内存为HCCL独占,不可与其他业务内存复用。 |
| 23 | - 每个通信域额外占用“2\*P2P\_HCCL\_BUFFSIZE”大小的内存,分别用于发送和接收数据。 | 23 | - 每个通信域额外占用“2\*P2P\_HCCL\_BUFFSIZE”大小的内存,分别用于发送和接收数据。 |
| 24 | - 该资源按通信域粒度管理,每个通信域独占一组“2\*P2P\_HCCL\_BUFFSIZE”大小的内存。 | 24 | - 该资源按通信域粒度管理,每个通信域独占一组“2\*P2P\_HCCL\_BUFFSIZE”大小的内存。 |
| 25 | -- Ascend Extension for PyTorch 7.1.0版本此环境变量已默认配置为20MB,若升级后出现OOM,可在模型侧将此环境变量配置为0。 | 25 | +- TorchNPU 7.1.0版本此环境变量已默认配置为20MB,若升级后出现OOM,可在模型侧将此环境变量配置为0。 |
| 26 | - 若之前未对P2P创建独立通信域,配置该环境变量后,会独立创建P2P通信域。若模型侧存在send和recv下发间隔时间长的场景,可能会出现超时,此时需要将HCCL\_CONNECT\_TIMEOUT的时间配置得更长。建议配置值为600s,具体配置值需依据模型脚本实际情况调整。HCCL\_CONNECT\_TIMEOUT的具体说明可参考《CANN 环境变量参考》中的“[HCCL\_CONNECT\_TIMEOUT](https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0077.html)”章节。 | 26 | - 若之前未对P2P创建独立通信域,配置该环境变量后,会独立创建P2P通信域。若模型侧存在send和recv下发间隔时间长的场景,可能会出现超时,此时需要将HCCL\_CONNECT\_TIMEOUT的时间配置得更长。建议配置值为600s,具体配置值需依据模型脚本实际情况调整。HCCL\_CONNECT\_TIMEOUT的具体说明可参考《CANN 环境变量参考》中的“[HCCL\_CONNECT\_TIMEOUT](https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0077.html)”章节。 |
| 27 | 27 | ||
| 28 | ## 支持的型号 | 28 | ## 支持的型号 |
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ## 功能描述 | 3 | ## 功能描述 |
| 4 | 4 | ||
| 5 | -在PyTorch训练场景中,通过此环境变量可指定Ascend PyTorch Profiler接口的dynamic_profile采集功能的profiler_config.json配置文件路径。 | 5 | +在TorchNPU训练场景中,通过此环境变量可指定TorchNPU Profiler接口的dynamic_profile采集功能的profiler_config.json配置文件路径。 |
| 6 | 6 | ||
| 7 | ## 配置示例 | 7 | ## 配置示例 |
| 8 | 8 | ||
| @@ -16,7 +16,7 @@ export PROF_CONFIG_PATH="/path/to/profiler_config_path" | |||
| 16 | 16 | ||
| 17 | ## 使用约束 | 17 | ## 使用约束 |
| 18 | 18 | ||
| 19 | -- 脚本不手动添加代码的情况,此环境变量适用于PyTorch训练场景。 | 19 | +- 脚本不手动添加代码的情况,此环境变量适用于TorchNPU训练场景。 |
| 20 | - 脚本内添加dynamic\_profile模块后,此环境变量可以在非训练场景使用。例如: | 20 | - 脚本内添加dynamic\_profile模块后,此环境变量可以在非训练场景使用。例如: |
| 21 | 21 | ||
| 22 | ```python | 22 | ```python |
| @@ -14,7 +14,7 @@ | |||
| 14 | 14 | ||
| 15 | - garbage\_collection\_threshold:<value\>,垃圾回收阈值。 | 15 | - garbage\_collection\_threshold:<value\>,垃圾回收阈值。 |
| 16 | 16 | ||
| 17 | - 主动回收未使用的NPU内存块。在设置value阈值(例如0.8)后,如果NPU内存容量使用超过阈值(即分配给NPU应用程序的总内存的80%),缓存分配器将开始回收NPU内存块,优先释放最先申请和长时间未复用的内存块,避免释放积极复用的内存块。其中<value\>取值范围为\(0.0,1.0\)。默认不开启该功能。垃圾回收阈值需与内存因子配合使用,内存因子可参考《[Ascend Extension for PyTorch 自定义API参考](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/overview.md)》的“torch\_npu.npu.set\_per\_process\_memory\_fraction”。 | 17 | + 主动回收未使用的NPU内存块。在设置value阈值(例如0.8)后,如果NPU内存容量使用超过阈值(即分配给NPU应用程序的总内存的80%),缓存分配器将开始回收NPU内存块,优先释放最先申请和长时间未复用的内存块,避免释放积极复用的内存块。其中<value\>取值范围为\(0.0,1.0\)。默认不开启该功能。垃圾回收阈值需与内存因子配合使用,内存因子可参考《[自定义API](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/overview.md)》的“torch\_npu.npu.set\_per\_process\_memory\_fraction”。 |
| 18 | 18 | ||
| 19 | - expandable\_segments:<value\>,开启内存池扩展段功能,即虚拟内存特性。 | 19 | - expandable\_segments:<value\>,开启内存池扩展段功能,即虚拟内存特性。 |
| 20 | 20 | ||
| @@ -64,7 +64,7 @@ | |||
| 64 | 64 | ||
| 65 | > [!NOTE] | 65 | > [!NOTE] |
| 66 | > | 66 | > |
| 67 | -> 用户使用Ascend Extension for PyTorch 6.0.RC3及以上版本配套的驱动(Ascend HDK 24.1.RC3及以上),开启虚拟内存特性时,可以使用单进程多卡特性;用户使用Ascend Extension for PyTorch 6.0.RC3以下版本配套的驱动(Ascend HDK 24.1.RC3以下版本),开启虚拟内存特性时,不能使用单进程多卡特性。 | 67 | +> 用户使用TorchNPU 6.0.RC3及以上版本配套的驱动(Ascend HDK 24.1.RC3及以上),开启虚拟内存特性时,可以使用单进程多卡特性;用户使用TorchNPU 6.0.RC3以下版本配套的驱动(Ascend HDK 24.1.RC3以下版本),开启虚拟内存特性时,不能使用单进程多卡特性。 |
| 68 | 68 | ||
| 69 | ## 配置示例<a id="配置示例"></a> | 69 | ## 配置示例<a id="配置示例"></a> |
| 70 | 70 | ||
| @@ -144,13 +144,13 @@ export PYTORCH_NPU_ALLOC_CONF=pinned_mem_register:True | |||
| 144 | - 若未配置page\_size,内存申请粒度为2MB。 | 144 | - 若未配置page\_size,内存申请粒度为2MB。 |
| 145 | 145 | ||
| 146 | - 当申请内存小于等于1MB时:配置page\_size也不生效,内存申请粒度为2MB。 | 146 | - 当申请内存小于等于1MB时:配置page\_size也不生效,内存申请粒度为2MB。 |
| 147 | -- pin_memory_expandable_segments特性要求Ascend Extension for PyTorch 7.3.0及以上版本、Ascend HDK 25.5.0及以上版本、CANN商用8.5.0及以上版本使用。 | 147 | +- pin_memory_expandable_segments特性要求TorchNPU 7.3.0及以上版本、Ascend HDK 25.5.0及以上版本、CANN商用8.5.0及以上版本使用。 |
| 148 | -- pinned_use_background_threads特性要求在Ascend Extension for PyTorch 26.0.0及以上版本且PyTorch 2.8.0及以上版本使用。 | 148 | +- pinned_use_background_threads特性要求在TorchNPU 26.0.0及以上版本且PyTorch 2.8.0及以上版本使用。 |
| 149 | - pinned_mem_register使用注意事项如下: | 149 | - pinned_mem_register使用注意事项如下: |
| 150 | - - 特性要求Ascend Extension for PyTorch 26.0.0及以上版本、Ascend HDK 26.0.RC1及以上版本、CANN商用8.5.0及以上版本使用。 | 150 | + - 特性要求TorchNPU 26.0.0及以上版本、Ascend HDK 26.0.RC1及以上版本、CANN商用8.5.0及以上版本使用。 |
| 151 | - 与pin_memory_expandable_segments特性不支持同时配置。 | 151 | - 与pin_memory_expandable_segments特性不支持同时配置。 |
| 152 | - multi_stream_lazy_reclaim使用注意事项: | 152 | - multi_stream_lazy_reclaim使用注意事项: |
| 153 | - - 特性要求在Ascend Extension for PyTorch 7.3.0以上版本上使用。 | 153 | + - 特性要求在TorchNPU 7.3.0以上版本上使用。 |
| 154 | - 该特性主要解决多流场景下,Host侧存在下发性能瓶颈时的系统效率问题。单流、少流场景或者非Host性能瓶颈时,该功能收益不大。 | 154 | - 该特性主要解决多流场景下,Host侧存在下发性能瓶颈时的系统效率问题。单流、少流场景或者非Host性能瓶颈时,该功能收益不大。 |
| 155 | 155 | ||
| 156 | ## 支持的型号 | 156 | ## 支持的型号 |
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ## 功能描述 | 3 | ## 功能描述 |
| 4 | 4 | ||
| 5 | -通过此环境变量可精简打印错误信息,开启后会将CANN内部调用栈、Ascend Extension for PyTorch错误码等自定义报错信息转移到plog中,仅保留有效的错误说明,提高异常信息的可读性。plog的详细信息请参考[plog日志信息](../troubleshooting/plog_log.md)。 | 5 | +通过此环境变量可精简打印错误信息,开启后会将CANN内部调用栈、TorchNPU错误码等自定义报错信息转移到plog中,仅保留有效的错误说明,提高异常信息的可读性。plog的详细信息请参考[plog日志信息](../troubleshooting/plog_log.md)。 |
| 6 | 6 | ||
| 7 | - 配置为0时:正常进行ERROR打印。 | 7 | - 配置为0时:正常进行ERROR打印。 |
| 8 | - 配置为1时:启用精简ERROR打印。 | 8 | - 配置为1时:启用精简ERROR打印。 |
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ## 功能描述 | 3 | ## 功能描述 |
| 4 | 4 | ||
| 5 | -通过此环境变量可配置是否打印Ascend Extension for PyTorch的告警信息。 | 5 | +通过此环境变量可配置是否打印TorchNPU的告警信息。 |
| 6 | 6 | ||
| 7 | - 未配置或配置值不为1时,开启告警信息打印,告警信息会正常打印在首节点的屏幕上。 | 7 | - 未配置或配置值不为1时,开启告警信息打印,告警信息会正常打印在首节点的屏幕上。 |
| 8 | - 配置值为1时,关闭告警信息打印,告警信息不会打印在屏幕上。 | 8 | - 配置值为1时,关闭告警信息打印,告警信息不会打印在屏幕上。 |
| @@ -11,7 +11,7 @@ | |||
| 11 | 11 | ||
| 12 | > [!CAUTION] | 12 | > [!CAUTION] |
| 13 | > | 13 | > |
| 14 | -> 关闭告警信息打印,仅针对Ascend Extension for PyTorch的告警信息,不会影响原生Torch、第三方库或用户脚本中的告警。 | 14 | +> 关闭告警信息打印,仅针对TorchNPU的告警信息,不会影响原生Torch、第三方库或用户脚本中的告警。 |
| 15 | 15 | ||
| 16 | ## 配置示例 | 16 | ## 配置示例 |
| 17 | 17 | ||
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ## 功能描述 | 3 | ## 功能描述 |
| 4 | 4 | ||
| 5 | -通过此环境变量可开启Ascend Extension for PyTorch Eager模式下的DVM算子融合。DVM将多个相邻的小算子合并成单个融合kernel,减少kernel下发次数和中间张量的搬运,从而加速训练和推理。 | 5 | +通过此环境变量可开启TorchNPU Eager模式下的DVM算子融合。DVM将多个相邻的小算子合并成单个融合kernel,减少kernel下发次数和中间张量的搬运,从而加速训练和推理。 |
| 6 | 6 | ||
| 7 | - 配置为"True"时:开启DVM算子融合。 | 7 | - 配置为"True"时:开启DVM算子融合。 |
| 8 | - 未配置或配置为"False"时:关闭DVM算子融合。 | 8 | - 未配置或配置为"False"时:关闭DVM算子融合。 |
| @@ -2,9 +2,9 @@ | |||
| 2 | 2 | ||
| 3 | ## 功能描述 | 3 | ## 功能描述 |
| 4 | 4 | ||
| 5 | -此环境变量用于配置Ascend Extension for PyTorch新增模块的日志打印功能,为开发者在debugging场景下提供精准的调试定位能力。 | 5 | +此环境变量用于配置TorchNPU新增模块的日志打印功能,为开发者在debugging场景下提供精准的调试定位能力。 |
| 6 | 6 | ||
| 7 | -Ascend Extension for PyTorch新增的模块不支持通过原生`TORCH_LOGS`进行设置,如需设置新增模块的日志信息,需要使用`TORCH_NPU_LOGS`,新增模块列表如下: | 7 | +TorchNPU新增的模块不支持通过原生`TORCH_LOGS`进行设置,如需设置新增模块的日志信息,需要使用`TORCH_NPU_LOGS`,新增模块列表如下: |
| 8 | 8 | ||
| 9 | | 字段名 | 对应模块 | 功能描述 | | 9 | | 字段名 | 对应模块 | 功能描述 | |
| 10 | | --- | ---- | --- | | 10 | | --- | ---- | --- | |
| @@ -19,7 +19,7 @@ Ascend Extension for PyTorch新增的模块不支持通过原生`TORCH_LOGS`进 | |||
| 19 | | acl | acl | 打印ACL相关日志 | | 19 | | acl | acl | 打印ACL相关日志 | |
| 20 | | aclgraph | aclgraph | 打印aclgraph相关日志 | | 20 | | aclgraph | aclgraph | 打印aclgraph相关日志 | |
| 21 | 21 | ||
| 22 | -Ascend Extension for PyTorch对原生的logging打印功能进行了增强,支持C++侧的日志打印功能。 | 22 | +TorchNPU对原生的logging打印功能进行了增强,支持C++侧的日志打印功能。 |
| 23 | 23 | ||
| 24 | - 配置时,开启logging信息打印,指定模块的日志信息会正常打印在首节点的屏幕上。 | 24 | - 配置时,开启logging信息打印,指定模块的日志信息会正常打印在首节点的屏幕上。 |
| 25 | - 未配置时,关闭logging信息打印,日志信息不会打印在屏幕上。 | 25 | - 未配置时,关闭logging信息打印,日志信息不会打印在屏幕上。 |
| @@ -42,7 +42,7 @@ Ascend Extension for PyTorch对原生的logging打印功能进行了增强,支 | |||
| 42 | 42 | ||
| 43 | - -:ERROR级别,仅输出错误和警告信息。 | 43 | - -:ERROR级别,仅输出错误和警告信息。 |
| 44 | 44 | ||
| 45 | - 以上配置示例表示memory(内存管理)打印INFO级别日志,dispatch(算子下发)打印DEBUG级别日志,all(其余所有模块包含原生PyTorch和Ascend Extension for PyTorch新增模块)打印ERROR级别日志信息。 | 45 | + 以上配置示例表示memory(内存管理)打印INFO级别日志,dispatch(算子下发)打印DEBUG级别日志,all(其余所有模块包含原生TorchNPU新增模块)打印ERROR级别日志信息。 |
| 46 | 46 | ||
| 47 | - 关闭logging日志信息打印: | 47 | - 关闭logging日志信息打印: |
| 48 | 48 | ||
| @@ -52,7 +52,7 @@ Ascend Extension for PyTorch对原生的logging打印功能进行了增强,支 | |||
| 52 | 52 | ||
| 53 | ## 使用约束 | 53 | ## 使用约束 |
| 54 | 54 | ||
| 55 | -shmem模块仅在PyTorch2.7.1及以上版本生效。 | 55 | +shmem模块仅在PyTorch 2.7.1及以上版本生效。 |
| 56 | 56 | ||
| 57 | ## 支持的型号 | 57 | ## 支持的型号 |
| 58 | 58 | ||
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ## 功能描述 | 3 | ## 功能描述 |
| 4 | 4 | ||
| 5 | -此环境变量用于过滤Ascend Extension for PyTorch日志输出内容,通过黑白名单机制筛选需要显示的日志信息,帮助开发者在大量日志中快速定位关键信息。 | 5 | +此环境变量用于过滤TorchNPU日志输出内容,通过黑白名单机制筛选需要显示的日志信息,帮助开发者在大量日志中快速定位关键信息。 |
| 6 | 6 | ||
| 7 | 配合`TORCH_NPU_LOGS`使用时,可以在开启日志打印的基础上,进一步精细化控制日志输出内容,减少无关日志干扰,提升调试效率。 | 7 | 配合`TORCH_NPU_LOGS`使用时,可以在开启日志打印的基础上,进一步精细化控制日志输出内容,减少无关日志干扰,提升调试效率。 |
| 8 | 8 | ||
| @@ -15,7 +15,7 @@ | |||
| 15 | 15 | ||
| 16 | ## 配置示例 | 16 | ## 配置示例 |
| 17 | 17 | ||
| 18 | -以下示例使用op_plugin模块演示过滤功能,该功能同样适用于其他模块(memory、dispatch等)。 | 18 | +以下示例使用OpPlugin模块演示过滤功能,该功能同样适用于其他模块(memory、dispatch等)。 |
| 19 | 19 | ||
| 20 | - 白名单过滤: | 20 | - 白名单过滤: |
| 21 | 21 | ||
| @@ -24,7 +24,7 @@ | |||
| 24 | export TORCH_NPU_LOGS_FILTER="+aclnnAdd,+aclnnMul" | 24 | export TORCH_NPU_LOGS_FILTER="+aclnnAdd,+aclnnMul" |
| 25 | ``` | 25 | ``` |
| 26 | 26 | ||
| 27 | - 以上配置表示开启op_plugin模块的DEBUG级别日志,并仅显示包含"aclnnAdd"或"aclnnMul"算子的日志信息。 | 27 | + 以上配置表示开启OpPlugin模块的DEBUG级别日志,并仅显示包含"aclnnAdd"或"aclnnMul"算子的日志信息。 |
| 28 | 28 | ||
| 29 | - 黑名单过滤: | 29 | - 黑名单过滤: |
| 30 | 30 | ||
| @@ -33,7 +33,7 @@ | |||
| 33 | export TORCH_NPU_LOGS_FILTER="-aclnnAdd,-aclnnMul" | 33 | export TORCH_NPU_LOGS_FILTER="-aclnnAdd,-aclnnMul" |
| 34 | ``` | 34 | ``` |
| 35 | 35 | ||
| 36 | - 以上配置表示开启op_plugin模块的DEBUG级别日志,并过滤掉包含"aclnnAdd"或"aclnnMul"算子的日志信息。 | 36 | + 以上配置表示开启OpPlugin模块的DEBUG级别日志,并过滤掉包含"aclnnAdd"或"aclnnMul"算子的日志信息。 |
| 37 | 37 | ||
| 38 | - 关闭过滤: | 38 | - 关闭过滤: |
| 39 | 39 | ||
| @@ -22,7 +22,7 @@ export TORCH_NPU_USE_COMPATIBLE_IMPL=1 | |||
| 22 | - 配置`TORCH_NPU_USE_COMPATIBLE_IMPL`会影响[torch_npu.npu.use_compatible_impl(is_enable)](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch_npu-npu-use_compatible_impl.md) | 22 | - 配置`TORCH_NPU_USE_COMPATIBLE_IMPL`会影响[torch_npu.npu.use_compatible_impl(is_enable)](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch_npu-npu-use_compatible_impl.md) |
| 23 | 的状态。配置`TORCH_NPU_USE_COMPATIBLE_IMPL=1`时会自动配置`torch_npu.npu.use_compatible_impl(True)`。 | 23 | 的状态。配置`TORCH_NPU_USE_COMPATIBLE_IMPL=1`时会自动配置`torch_npu.npu.use_compatible_impl(True)`。 |
| 24 | 24 | ||
| 25 | -- 此环境变量适用于Ascend Extension for PyTorch 26.0.0及之后版本。 | 25 | +- 此环境变量适用于TorchNPU 26.0.0及之后版本。 |
| 26 | 26 | ||
| 27 | ## 支持的型号 | 27 | ## 支持的型号 |
| 28 | 28 | ||
| @@ -1,6 +1,6 @@ | |||
| 1 | # 环境变量列表 | 1 | # 环境变量列表 |
| 2 | 2 | ||
| 3 | -本手册描述开发者在Ascend Extension for PyTorch训练和在线推理过程中可使用的环境变量。基于CANN构建AI应用和业务过程中使用的环境变量请参考《[CANN 环境变量参考](https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0001.html)》。 | 3 | +本手册描述开发者在TorchNPU训练和在线推理过程中可使用的环境变量。基于CANN构建AI应用和业务过程中使用的环境变量请参考《[CANN 环境变量参考](https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0001.html)》。 |
| 4 | 4 | ||
| 5 | **表 1** 算子执行环境变量列表 | 5 | **表 1** 算子执行环境变量列表 |
| 6 | 6 | ||
| @@ -48,10 +48,10 @@ | |||
| 48 | 48 | ||
| 49 | |环境变量名称|简介| | 49 | |环境变量名称|简介| |
| 50 | |--|--| | 50 | |--|--| |
| 51 | -|[TORCH_NPU_DISABLED_WARNING](TORCH_NPU_DISABLED_WARNING.md)|通过此环境变量可配置是否打印Ascend Extension for PyTorch的告警信息。| | 51 | +|[TORCH_NPU_DISABLED_WARNING](TORCH_NPU_DISABLED_WARNING.md)|通过此环境变量可配置是否打印TorchNPU的告警信息。| |
| 52 | -|[TORCH_NPU_COMPACT_ERROR_OUTPUT](TORCH_NPU_COMPACT_ERROR_OUTPUT.md)|通过此环境变量可精简打印错误信息,开启后会将CANN内部调用栈、Ascend Extension for PyTorch错误码等自定义报错信息转移到plog中,仅保留有效的错误说明,提高异常信息的可读性。| | 52 | +|[TORCH_NPU_COMPACT_ERROR_OUTPUT](TORCH_NPU_COMPACT_ERROR_OUTPUT.md)|通过此环境变量可精简打印错误信息,开启后会将CANN内部调用栈、TorchNPU错误码等自定义报错信息转移到plog中,仅保留有效的错误说明,提高异常信息的可读性。| |
| 53 | -|[TORCH_NPU_LOGS](TORCH_NPU_LOGS.md)|此环境变量用于配置Ascend Extension for PyTorch新增模块的日志打印功能,为开发者在debugging场景下提供精准的调试定位能力。| | 53 | +|[TORCH_NPU_LOGS](TORCH_NPU_LOGS.md)|此环境变量用于配置TorchNPU新增模块的日志打印功能,为开发者在debugging场景下提供精准的调试定位能力。| |
| 54 | -|[TORCH_NPU_LOGS_FILTER](TORCH_NPU_LOGS_FILTER.md)|此环境变量用于过滤Ascend Extension for PyTorch日志输出内容,通过黑白名单机制筛选需要显示的日志信息,帮助开发者在大量日志中快速定位关键信息。| | 54 | +|[TORCH_NPU_LOGS_FILTER](TORCH_NPU_LOGS_FILTER.md)|此环境变量用于过滤TorchNPU日志输出内容,通过黑白名单机制筛选需要显示的日志信息,帮助开发者在大量日志中快速定位关键信息。| |
| 55 | 55 | ||
| 56 | **表 6** 同步超时变量列表 | 56 | **表 6** 同步超时变量列表 |
| 57 | 57 | ||
| @@ -63,17 +63,17 @@ | |||
| 63 | 63 | ||
| 64 | |环境变量名称|简介| | 64 | |环境变量名称|简介| |
| 65 | |--|--| | 65 | |--|--| |
| 66 | -|[NPU_ASD_ENABLE](NPU_ASD_ENABLE.md)|Ascend Extension for PyTorch 7.0.0及之前版本,通过此环境变量可控制是否开启特征值检测功能。| | 66 | +|[NPU_ASD_ENABLE](NPU_ASD_ENABLE.md)|TorchNPU 7.0.0及之前版本,通过此环境变量可控制是否开启特征值检测功能。| |
| 67 | -|[NPU_ASD_UPPER_THRESH](NPU_ASD_UPPER_THRESH.md)|Ascend Extension for PyTorch 7.0.0及之前版本,通过此环境变量可配置特征值检测功能的绝对阈值。| | 67 | +|[NPU_ASD_UPPER_THRESH](NPU_ASD_UPPER_THRESH.md)|TorchNPU 7.0.0及之前版本,通过此环境变量可配置特征值检测功能的绝对阈值。| |
| 68 | -|[NPU_ASD_SIGMA_THRESH](NPU_ASD_SIGMA_THRESH.md)|Ascend Extension for PyTorch 7.0.0及之前版本,通过此环境变量可配置特征值检测功能的相对阈值。| | 68 | +|[NPU_ASD_SIGMA_THRESH](NPU_ASD_SIGMA_THRESH.md)|TorchNPU 7.0.0及之前版本,通过此环境变量可配置特征值检测功能的相对阈值。| |
| 69 | -|[NPU_ASD_CONFIG](NPU_ASD_CONFIG.md)|Ascend Extension for PyTorch 7.1.0及之后版本,通过此环境变量可控制是否开启Ascend Extension for PyTorch的特征值检测功能。| | 69 | +|[NPU_ASD_CONFIG](NPU_ASD_CONFIG.md)|TorchNPU 7.1.0及之后版本,通过此环境变量可控制是否开启TorchNPU的特征值检测功能。| |
| 70 | 70 | ||
| 71 | **表 8** 性能优化环境变量列表 | 71 | **表 8** 性能优化环境变量列表 |
| 72 | 72 | ||
| 73 | |环境变量名称|简介| | 73 | |环境变量名称|简介| |
| 74 | |--|--| | 74 | |--|--| |
| 75 | -|[CPU_AFFINITY_CONF](CPU_AFFINITY_CONF.md)|Ascend Extension for PyTorch可以通过设置环境变量CPU_AFFINITY_CONF来开启粗/细粒度绑核。该配置能够避免线程间抢占,提高缓存命中,避免跨NUMA(非统一内存访问架构)节点的内存访问,减少任务调度开销,优化任务执行效率。| | 75 | +|[CPU_AFFINITY_CONF](CPU_AFFINITY_CONF.md)|TorchNPU可以通过设置环境变量CPU_AFFINITY_CONF来开启粗/细粒度绑核。该配置能够避免线程间抢占,提高缓存命中,避免跨NUMA(非统一内存访问架构)节点的内存访问,减少任务调度开销,优化任务执行效率。| |
| 76 | -|[PROF_CONFIG_PATH](PROF_CONFIG_PATH.md)|在PyTorch训练场景中,通过此环境变量可指定Ascend PyTorch Profiler接口的dynamic_profile采集功能的profiler_config.json配置文件路径。| | 76 | +|[PROF_CONFIG_PATH](PROF_CONFIG_PATH.md)|在TorchNPU训练场景中,通过此环境变量可指定TorchNPU Profiler接口的dynamic_profile采集功能的profiler_config.json配置文件路径。| |
| 77 | |[KINETO_USE_DAEMON](KINETO_USE_DAEMON.md)|该环境变量用于在训练场景中设置是否通过msMonitor nputrace方式开启dynamic_profile采集功能。| | 77 | |[KINETO_USE_DAEMON](KINETO_USE_DAEMON.md)|该环境变量用于在训练场景中设置是否通过msMonitor nputrace方式开启dynamic_profile采集功能。| |
| 78 | |[TORCH_NPU_LAZY_FUSION](TORCH_NPU_LAZY_FUSION.md)|通过此环境变量可开启DVM算子融合,对elementwise、激活函数等算子做跨算子融合,减少kernel launch和HBM搬运,加速训练和推理。| | 78 | |[TORCH_NPU_LAZY_FUSION](TORCH_NPU_LAZY_FUSION.md)|通过此环境变量可开启DVM算子融合,对elementwise、激活函数等算子做跨算子融合,减少kernel launch和HBM搬运,加速训练和推理。| |
| 79 | 79 | ||
| @@ -90,7 +90,7 @@ | |||
| 90 | |环境变量名称|简介| | 90 | |环境变量名称|简介| |
| 91 | |--|--| | 91 | |--|--| |
| 92 | |[TORCHINDUCTOR_NPU_BACKEND](TORCHINDUCTOR_NPU_BACKEND.md)|通过该环境变量可配置图模式下的优化模式,支持Triton、MLIR、DVM等优化模式。| | 92 | |[TORCHINDUCTOR_NPU_BACKEND](TORCHINDUCTOR_NPU_BACKEND.md)|通过该环境变量可配置图模式下的优化模式,支持Triton、MLIR、DVM等优化模式。| |
| 93 | -|[(beta)INDUCTOR_ASCEND_CHECK_ACCURACY](INDUCTOR_ASCEND_CHECK_ACCURACY.md)|INDUCTOR_ASCEND_CHECK_ACCURACY是Ascend Extension for PyTorch提供的精度校验工具,仅在torch.compile图编译后端为"Inductor"且模式为"Triton"时自动检测融合算子的数值精度。| | 93 | +|[(beta)INDUCTOR_ASCEND_CHECK_ACCURACY](INDUCTOR_ASCEND_CHECK_ACCURACY.md)|INDUCTOR_ASCEND_CHECK_ACCURACY是TorchNPU提供的精度校验工具,仅在torch.compile图编译后端为"Inductor"且模式为"Triton"时自动检测融合算子的数值精度。| |
| 94 | |[NPU_INDUCTOR_FALLBACK_LIST](NPU_INDUCTOR_FALLBACK_LIST.md)|通过此环境变量可指定需要回退到PyTorch原生的算子列表。| | 94 | |[NPU_INDUCTOR_FALLBACK_LIST](NPU_INDUCTOR_FALLBACK_LIST.md)|通过此环境变量可指定需要回退到PyTorch原生的算子列表。| |
🟡 Medium Priority diff 第 94 行将 证据链:
影响: 用户可能误以为回退目标变成了 TorchNPU 的实现,与 建议:将该行恢复为 "PyTorch原生",即改回: 当前建议代码无改动
![]() ![]() 不准确? | |||
| 95 | |[(beta)TORCHINDUCTOR_ENABLE_MFUSION](TORCHINDUCTOR_ENABLE_MFUSION.md)|通过此环境变量可控制是否启用MFusion融合优化功能,仅在torch.compile图编译后端为"Inductor"生效。| | 95 | |[(beta)TORCHINDUCTOR_ENABLE_MFUSION](TORCHINDUCTOR_ENABLE_MFUSION.md)|通过此环境变量可控制是否启用MFusion融合优化功能,仅在torch.compile图编译后端为"Inductor"生效。| |
| 96 | |[TORCHINDUCTOR_USE_AKG](TORCHINDUCTOR_USE_AKG.md)|通过此环境变量可配置torch.compile图模式(Inductor)下MLIR(Multi-Level Intermediate Representation)模式启用AKG(Auto Kernel Generator)后端优化。| | 96 | |[TORCHINDUCTOR_USE_AKG](TORCHINDUCTOR_USE_AKG.md)|通过此环境变量可配置torch.compile图模式(Inductor)下MLIR(Multi-Level Intermediate Representation)模式启用AKG(Auto Kernel Generator)后端优化。| |
| @@ -20,13 +20,13 @@ export TORCH_HCCL_ZERO_COPY=1 | |||
| 20 | 20 | ||
| 21 | ## 使用约束 | 21 | ## 使用约束 |
| 22 | 22 | ||
| 23 | -- 该环境变量依赖Ascend Extension for PyTorch虚拟内存管理功能,参见[PYTORCH\_NPU\_ALLOC\_CONF](PYTORCH_NPU_ALLOC_CONF.md),要求配置满足: | 23 | +- 该环境变量依赖TorchNPU虚拟内存管理功能,参见[PYTORCH\_NPU\_ALLOC\_CONF](PYTORCH_NPU_ALLOC_CONF.md),要求配置满足: |
| 24 | 24 | ||
| 25 | ```bash | 25 | ```bash |
| 26 | export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True | 26 | export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True |
| 27 | ``` | 27 | ``` |
| 28 | 28 | ||
| 29 | -- 此环境变量不支持在PyTorch图模式(TorchAir)场景下使用。 | 29 | +- 此环境变量不支持在TorchAir场景下使用。 |
| 30 | - 其他约束请参见《CANN HCCL 集合通信库》中“零拷贝功能 \> [使用前必读](https://www.hiascend.com/document/detail/zh/canncommercial/900/API/hcclug/hcclcpp_07_0053.html)”章节。 | 30 | - 其他约束请参见《CANN HCCL 集合通信库》中“零拷贝功能 \> [使用前必读](https://www.hiascend.com/document/detail/zh/canncommercial/900/API/hcclug/hcclcpp_07_0053.html)”章节。 |
| 31 | 31 | ||
| 32 | ## 支持的型号 | 32 | ## 支持的型号 |
| @@ -1,7 +1,7 @@ | |||
| 1 | # 编译验证 | 1 | # 编译验证 |
| 2 | 2 | ||
| 3 | -1. 算子适配完成后,需编译torch\_npu包,推荐使用容器场景进行编译安装,具体操作可参考《AscendExtension for PyTorch 软件安装指南》中的“[方式二:源码编译安装](../installation_guide/compilation_installation_using_source_code.md)”章节的“方式一(推荐):容器场景”。 | 3 | +1. 算子适配完成后,需编译TorchNPU包,推荐使用容器场景进行编译安装,具体操作可参考《软件安装》中的“[方式二:源码编译安装](../installation_guide/compilation_installation_using_source_code.md)”章节的“方式一(推荐):容器场景”。 |
| 4 | -2. torch\_npu安装完成后进行新增算子接口的测试验证。测试验证(UT)通过功能正确性验证、边界条件覆盖等,确保算子实现预期,降低联调成本,同时作为长期维护的质量基线,保障算子适配全生命周期的稳定性,自定义算子适配test目录为test/test\_custom\_ops。 | 4 | +2. TorchNPU安装完成后进行新增算子接口的测试验证。测试验证(UT)通过功能正确性验证、边界条件覆盖等,确保算子实现预期,降低联调成本,同时作为长期维护的质量基线,保障算子适配全生命周期的稳定性,自定义算子适配test目录为test/test\_custom\_ops。 |
| 5 | 以npu_transpose为例,需要实现以下用例: | 5 | 以npu_transpose为例,需要实现以下用例: |
| 6 | 6 | ||
| 7 | ```python | 7 | ```python |
| @@ -17,8 +17,8 @@ | |||
| 17 | | ├── python | 17 | | ├── python |
| 18 | | │ └── meta | 18 | | │ └── meta |
| 19 | | │ └── _meta_registrations.py # 算子meta实现注册文件 | 19 | | │ └── _meta_registrations.py # 算子meta实现注册文件 |
| 20 | -│ ├── OpInterface.h # 编译自动生成op_plugin对外接口的头文件,用于框架侧调用算子 | 20 | +│ ├── OpInterface.h # 编译自动生成OpPlugin对外接口的头文件,用于框架侧调用算子 |
| 21 | -│ ├── OpInterface.cpp # 编译自动生成op_plugin对外接口路由实现,内部实现不同类型算子分支选择代码 | 21 | +│ ├── OpInterface.cpp # 编译自动生成OpPlugin对外接口路由实现,内部实现不同类型算子分支选择代码 |
| 22 | │ ├── AclOpsInterface.h # 编译自动生成aclop算子插件适配所对应头文件 | 22 | │ ├── AclOpsInterface.h # 编译自动生成aclop算子插件适配所对应头文件 |
| 23 | │ ├── OpApiInterface.h # 编译自动生成aclnn算子插件适配所对应头文件 | 23 | │ ├── OpApiInterface.h # 编译自动生成aclnn算子插件适配所对应头文件 |
| 24 | │ └── ... | 24 | │ └── ... |
| @@ -70,7 +70,7 @@ symint: | |||
| 70 | 70 | ||
| 71 | 参数说明: | 71 | 参数说明: |
| 72 | 72 | ||
| 73 | -- all\_version:表示当前PyTorch支持的所有版本,版本列表会根据torch_npu演进调整,具体以代码为准。可通过[]设置算子支持的版本范围,例如[v2.1, newest]代表该算子支持从v2.1到最新版本。 | 73 | +- all\_version:表示当前PyTorch支持的所有版本,版本列表会根据TorchNPU演进调整,具体以代码为准。可通过[]设置算子支持的版本范围,例如[v2.1, newest]代表该算子支持从v2.1到最新版本。 |
| 74 | - official和custom:分别表示该字段下的算子为PyTorch原生和自定义算子;symint字段表明该算子支持symint类型的入参,该种算子请参考[symint算子适配](#symint算子适配)。 | 74 | - official和custom:分别表示该字段下的算子为PyTorch原生和自定义算子;symint字段表明该算子支持symint类型的入参,该种算子请参考[symint算子适配](#symint算子适配)。 |
| 75 | - func:表示定义算子的schema(算子描述规范),其内容完全遵循PyTorch原生Aten IR算子schema的定义规则,通过“算子名称+入参列表+返回参数”的结构化形式,完整描述算子的调用接口与语义约束。具体规则可参考[PyTorch schema规则](reference.md#section001)。 | 75 | - func:表示定义算子的schema(算子描述规范),其内容完全遵循PyTorch原生Aten IR算子schema的定义规则,通过“算子名称+入参列表+返回参数”的结构化形式,完整描述算子的调用接口与语义约束。具体规则可参考[PyTorch schema规则](reference.md#section001)。 |
| 76 | - acl\_op:表示在该版本支持acl\_op调用,如果支持的版本与all\_version表示的版本一致,则可以用"all\_version"表示,可选字段。 | 76 | - acl\_op:表示在该版本支持acl\_op调用,如果支持的版本与all\_version表示的版本一致,则可以用"all\_version"表示,可选字段。 |
| @@ -80,7 +80,7 @@ symint: | |||
| 80 | - internal_format_opapi:表示支持昇腾亲和格式NZ数据分发到op_api算子调用的白名单机制。当前对于入参为昇腾亲和格式的数据默认被分发到acl_op调用;只有当算子显示添加internal_format_opapi字段并加入白名单后,才会将NZ格式数据分发到op_api调用路径。 | 80 | - internal_format_opapi:表示支持昇腾亲和格式NZ数据分发到op_api算子调用的白名单机制。当前对于入参为昇腾亲和格式的数据默认被分发到acl_op调用;只有当算子显示添加internal_format_opapi字段并加入白名单后,才会将NZ格式数据分发到op_api调用路径。 |
| 81 | 81 | ||
| 82 | > [!NOTE] | 82 | > [!NOTE] |
| 83 | -> 如果存在某个算子适配有两个版本不一致,则需要两个都加上,如std.correction在PyTorch1.11.0版本和PyTorch2.1.0及以上版本的入参名称不同,则需要分开写成两个,通过version区分。<br> | 83 | +> 如果存在某个算子适配有两个版本不一致,则需要两个都加上,如std.correction在PyTorch 1.11.0版本和PyTorch 2.1.0及以上版本的入参名称不同,则需要分开写成两个,通过version区分。<br> |
| 84 | > | 84 | > |
| 85 | >```yaml | 85 | >```yaml |
| 86 | > - func: std.correction(Tensor self, int[1]? dim, *, int? correction, bool keepdim=False) -> Tensor | 86 | > - func: std.correction(Tensor self, int[1]? dim, *, int? correction, bool keepdim=False) -> Tensor |
| @@ -155,7 +155,7 @@ symint为PyTorch在v2.0及以上版本新增的数据类型,op\_plugin/config/ | |||
| 155 | acl_op: all_version | 155 | acl_op: all_version |
| 156 | ``` | 156 | ``` |
| 157 | 157 | ||
| 158 | -3. 算子实现在同算子文件下,新增算子名称为zeros\_symint,且入参中第一个参数的类型为symint相关的类型c10::SymIntArrayRef。由于symint特性只在PyTorch2.0以上支持,symint相关适配代码需要根据实际版本支持情况添加版本编译宏VERSION\_BETWEEN来控制编译。 | 158 | +3. 算子实现在同算子文件下,新增算子名称为zeros\_symint,且入参中第一个参数的类型为symint相关的类型c10::SymIntArrayRef。由于symint特性只在PyTorch 2.0以上支持,symint相关适配代码需要根据实际版本支持情况添加版本编译宏VERSION\_BETWEEN来控制编译。 |
| 159 | 159 | ||
| 160 | ```cpp | 160 | ```cpp |
| 161 | #include "op_plugin/AclOpsInterface.h" | 161 | #include "op_plugin/AclOpsInterface.h" |
| @@ -1,6 +1,6 @@ | |||
| 1 | # 概述 | 1 | # 概述 |
| 2 | 2 | ||
| 3 | -OpPlugin是Ascend Extension for PyTorch的算子插件,为使用PyTorch框架的开发者提供便捷的NPU算子库调用能力。本章节的主要目标是指导具有一定PyTorch基础的用户完成算子适配工作,本章节提供了单算子适配概述、适配流程和适配开发指导等内容。 | 3 | +OpPlugin是TorchNPU的算子插件,为使用PyTorch框架的开发者提供便捷的NPU算子库调用能力。本章节的主要目标是指导具有一定PyTorch基础的用户完成算子适配工作,本章节提供了单算子适配概述、适配流程和适配开发指导等内容。 |
| 4 | 4 | ||
| 5 | ## 什么是算子适配 | 5 | ## 什么是算子适配 |
| 6 | 6 | ||
| @@ -29,4 +29,4 @@ OpPlugin是Ascend Extension for PyTorch的算子插件,为使用PyTorch框架 | |||
| 29 | ## 如何进行算子适配 | 29 | ## 如何进行算子适配 |
| 30 | 30 | ||
| 31 | - 单算子适配的详细操作可参考后续章节。 | 31 | - 单算子适配的详细操作可参考后续章节。 |
| 32 | -- 图模式算子开发请参考《PyTorch 图模式使用指南\(TorchAir\)》中的“[自定义算子入图](https://www.hiascend.com/document/detail/zh/Pytorch/730/modthirdparty/torchairuseguide/torchair_00055.html)”章节。 | 32 | +- 图模式算子开发请参考《TorchAir》中的“[自定义算子入图](https://www.hiascend.com/document/detail/zh/Pytorch/730/modthirdparty/torchairuseguide/torchair_00055.html)”章节。 |
| @@ -6,9 +6,9 @@ | |||
| 6 | 6 | ||
| 7 | - OpPlugin算子适配前,需确保已完成如下环境准备。 | 7 | - OpPlugin算子适配前,需确保已完成如下环境准备。 |
| 8 | 8 | ||
| 9 | - 1. 安装PyTorch框架,具体请参见《[Ascend Extension for PyTorch 软件安装指南](../installation_guide/menu_installation_guide.md)》。 | 9 | + 1. 安装PyTorch框架,具体请参见《[软件安装](../installation_guide/menu_installation_guide.md)》。 |
| 10 | 10 | ||
| 11 | - 2. (可选)当用户使用“二进制软件包安装”或“二进制软件包安装(abi1版本)”安装torch\_npu插件时,适配前需执行如下命令拉取torch\_npu仓对应分支的代码并进入OpPlugin目录,完成torch_npu源码下载。 | 11 | + 2. (可选)当用户使用“二进制软件包安装”或“二进制软件包安装(abi1版本)”安装TorchNPU插件时,适配前需执行如下命令拉取TorchNPU仓对应分支的代码并进入OpPlugin目录,完成TorchNPU源码下载。 |
| 12 | 12 | ||
| 13 | ```bash | 13 | ```bash |
| 14 | git clone https://gitcode.com/ascend/pytorch.git -b v2.7.1-26.0.0 --recursive | 14 | git clone https://gitcode.com/ascend/pytorch.git -b v2.7.1-26.0.0 --recursive |
| @@ -16,5 +16,5 @@ | |||
| 16 | ``` | 16 | ``` |
| 17 | 17 | ||
| 18 | - *2.7.1*为PyTorch版本,用户需根据实际情况指定PyTorch版本。 | 18 | - *2.7.1*为PyTorch版本,用户需根据实际情况指定PyTorch版本。 |
| 19 | - - *26.0.0*为Ascend Extension for PyTorch软件版本。 | 19 | + - *26.0.0*为TorchNPU软件版本。 |
| 20 | 3. 在OpPlugin算子适配前,请先确保CANN已有相关算子实现,具体可查询[CANN 算子库接口](https://www.hiascend.com/document/detail/zh/canncommercial/900/API/aolapi/operatorlist_00001.html)。 | 20 | 3. 在OpPlugin算子适配前,请先确保CANN已有相关算子实现,具体可查询[CANN 算子库接口](https://www.hiascend.com/document/detail/zh/canncommercial/900/API/aolapi/operatorlist_00001.html)。 |
| @@ -2,12 +2,12 @@ | |||
| 2 | 2 | ||
| 3 | ## 简介 | 3 | ## 简介 |
| 4 | 4 | ||
| 5 | -Ascend Extension for PyTorch可以通过设置环境变量CPU\_AFFINITY\_CONF来开启粗/细粒度绑核。该配置能够避免线程间抢占,提高缓存命中率,避免跨NUMA(非一致性内存访问)节点的内存访问,减少任务调度开销,优化任务执行效率。 | 5 | +TorchNPU可以通过设置环境变量CPU\_AFFINITY\_CONF来开启粗/细粒度绑核。该配置能够避免线程间抢占,提高缓存命中率,避免跨NUMA(非一致性内存访问)节点的内存访问,减少任务调度开销,优化任务执行效率。 |
| 6 | 6 | ||
| 7 | 可选的绑核方案如下: | 7 | 可选的绑核方案如下: |
| 8 | 8 | ||
| 9 | - **粗粒度绑核**:将所有任务绑定在NPU业务绑核区间的所有CPU核上,避免不同卡任务之间的线程抢占。 | 9 | - **粗粒度绑核**:将所有任务绑定在NPU业务绑核区间的所有CPU核上,避免不同卡任务之间的线程抢占。 |
| 10 | -- **细粒度绑核**:在粗粒度绑核的基础上进一步优化,将torch\_npu热点线程(主线程、二级流水线程等)锚定在NPU业务绑核区间的固定CPU核上,即,主线程绑定在绑核区间的第一个CPU核上,二级流水线程绑定在绑核区间的第二个CPU核上,以此类推,非热点线程(如dataloader线程)则绑定在区间的剩余CPU核上,与热点线程隔离,减少核间切换的开销。 | 10 | +- **细粒度绑核**:在粗粒度绑核的基础上进一步优化,将TorchNPU热点线程(主线程、二级流水线程等)锚定在NPU业务绑核区间的固定CPU核上,即,主线程绑定在绑核区间的第一个CPU核上,二级流水线程绑定在绑核区间的第二个CPU核上,以此类推,非热点线程(如dataloader线程)则绑定在区间的剩余CPU核上,与热点线程隔离,减少核间切换的开销。 |
| 11 | 11 | ||
| 12 | > [!NOTE] | 12 | > [!NOTE] |
| 13 | > NPU业务绑核区间:当开启绑核特性时,每张NPU卡业务的默认绑核区间为CPU核总数按照NPU卡总数平分后的对应区间,例如,假设环境有160个CPU核和8张NPU卡,则开启绑核时,NPU卡0的业务的绑核区间为\[0,19\],即第一个八等分后的区间,NPU卡1的业务的绑核区间为\[20,39\],以此类推;此外,用户也可以通过在环境变量内增加参数来指定某张卡业务的绑核区间,详情见[使用指导](#使用指导)。 | 13 | > NPU业务绑核区间:当开启绑核特性时,每张NPU卡业务的默认绑核区间为CPU核总数按照NPU卡总数平分后的对应区间,例如,假设环境有160个CPU核和8张NPU卡,则开启绑核时,NPU卡0的业务的绑核区间为\[0,19\],即第一个八等分后的区间,NPU卡1的业务的绑核区间为\[20,39\],以此类推;此外,用户也可以通过在环境变量内增加参数来指定某张卡业务的绑核区间,详情见[使用指导](#使用指导)。 |
| @@ -53,7 +53,7 @@ host下发任务慢或卡间业务耗时波动大的场景下,推荐使用该 | |||
| 53 | >- 进行绑核注意时,请注意虚拟机与物理机的拓扑结构是否一致。默认情况下,npu0或device 0对应的核组是NUMA0;但是Docker等虚拟机环境可能会改变映射关系,推荐根据映射关系自定义绑核范围。 | 53 | >- 进行绑核注意时,请注意虚拟机与物理机的拓扑结构是否一致。默认情况下,npu0或device 0对应的核组是NUMA0;但是Docker等虚拟机环境可能会改变映射关系,推荐根据映射关系自定义绑核范围。 |
| 54 | >- 绑核前会检测绑核区间,如果绑核区间内存在CPU核非亲和,就会判定为线程已有亲和性,则不触发该环境变量对应的绑核(`force`参数不配置时的默认行为)。在容器核隔离场景下,此检测可能误判,可通过设置`force:1`跳过检测。 | 54 | >- 绑核前会检测绑核区间,如果绑核区间内存在CPU核非亲和,就会判定为线程已有亲和性,则不触发该环境变量对应的绑核(`force`参数不配置时的默认行为)。在容器核隔离场景下,此检测可能误判,可通过设置`force:1`跳过检测。 |
| 55 | >- 绑核对于不同模型优化程度不同,部分业务场景可能会有额外线程,线程抢占反而导致性能劣化。 | 55 | >- 绑核对于不同模型优化程度不同,部分业务场景可能会有额外线程,线程抢占反而导致性能劣化。 |
| 56 | ->- 对于用户自定义线程,因为子线程继承主线程的亲和性,推荐在拉起子线程的位置前后,通过调用torch\_npu.utils.set\_thread\_affinity和torch\_npu.utils.reset\_thread\_affinity来管理子线程的CPU亲和性,具体可参考《Ascend Extension for PyTorch 自定义 API参考》中的“[torch\_npu.utils.set\_thread\_affinity](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-utils/torch_npu-utils.set_thread_affinity.md)”章节和《Ascend Extension for PyTorch 自定义 API参考》中的“[torch\_npu.utils.reset\_thread\_affinity](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-utils/torch_npu-utils.reset_thread_affinity.md)”章节。 | 56 | +>- 对于用户自定义线程,因为子线程继承主线程的亲和性,推荐在拉起子线程的位置前后,通过调用torch\_npu.utils.set\_thread\_affinity和torch\_npu.utils.reset\_thread\_affinity来管理子线程的CPU亲和性,具体可参考《自定义API》中的“[torch\_npu.utils.set\_thread\_affinity](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-utils/torch_npu-utils.set_thread_affinity.md)”章节和《自定义API》中的“[torch\_npu.utils.reset\_thread\_affinity](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-utils/torch_npu-utils.reset_thread_affinity.md)”章节。 |
| 57 | >- 亲和性绑核区间可以通过命令**npu-smi info -t topo**查看。 | 57 | >- 亲和性绑核区间可以通过命令**npu-smi info -t topo**查看。 |
| 58 | 58 | ||
| 59 | ## 使用样例 | 59 | ## 使用样例 |
| @@ -9,6 +9,6 @@ | |||
| 9 | 9 | ||
| 10 | - **[编译优化(PyTorch)](pytorch_comp_opt.md)** | 10 | - **[编译优化(PyTorch)](pytorch_comp_opt.md)** |
| 11 | 11 | ||
| 12 | -- **[编译优化(torch\_npu)](torch_npu_comp_opt.md)** | 12 | +- **[编译优化(TorchNPU)](torch_npu_comp_opt.md)** |
| 13 | 13 | ||
| 14 | - **[编译优化常见问题](comp_opt_faq.md)** | 14 | - **[编译优化常见问题](comp_opt_faq.md)** |
| @@ -14,16 +14,16 @@ | |||
| 14 | 14 | ||
| 15 | - “fatal error: 'filesystem' file not found.” | 15 | - “fatal error: 'filesystem' file not found.” |
| 16 | 16 | ||
| 17 | - gcc版本过低,请执行命令gcc --version查询版本,并参考《[Ascend Extension for PyTorch 软件安装指南](../installation_guide/installation_description.md)》安装GCC 8以上版本。 | 17 | + gcc版本过低,请执行命令gcc --version查询版本,并参考《[软件安装](../installation_guide/installation_description.md)》安装GCC 8以上版本。 |
| 18 | 18 | ||
| 19 | - “Error while loading shared libraries: libomp.so: cannot open shared object file: No such file or directory.” | 19 | - “Error while loading shared libraries: libomp.so: cannot open shared object file: No such file or directory.” |
| 20 | 20 | ||
| 21 | - torch\_npu构建时默认使用了OpenMP。torch\_npu运行环境需要安装毕昇编译器包,并设置LD\_LIBRARY\_PATH环境变量,以便可以正确找到动态库libomp.so。 | 21 | + TorchNPU构建时默认使用了OpenMP。TorchNPU运行环境需要安装毕昇编译器包,并设置LD\_LIBRARY\_PATH环境变量,以便可以正确找到动态库libomp.so。 |
| 22 | 22 | ||
| 23 | -- PyTorch和torch\_npu中profile生成路径是否可以相同? | 23 | +- PyTorch和TorchNPU中profile生成路径是否可以相同? |
| 24 | 24 | ||
| 25 | 可以相同,并且可以合并使用同一个profdata,编译器会识别内部信息,互不干扰。 | 25 | 可以相同,并且可以合并使用同一个profdata,编译器会识别内部信息,互不干扰。 |
| 26 | 26 | ||
| 27 | - 运行时报错未定义符号,其中包含如basic\_string等字样。 | 27 | - 运行时报错未定义符号,其中包含如basic\_string等字样。 |
| 28 | 28 | ||
| 29 | - 可能是编译时C++11 abi不一致导致,建议查看PyTorch和torch\_npu的build目录下的compile\_commands.json文件,检查宏GLIBCXX\_USE\_CXX11\_ABI的值是否一致。若不一致,设置环境变量**export _GLIBCXX_USE_CXX11_ABI=0**,再重新编译PyTorch。 | 29 | + 可能是编译时C++11 abi不一致导致,建议查看PyTorch和TorchNPU的build目录下的compile\_commands.json文件,检查宏GLIBCXX\_USE\_CXX11\_ABI的值是否一致。若不一致,设置环境变量**export _GLIBCXX_USE_CXX11_ABI=0**,再重新编译PyTorch。 |
| @@ -17,13 +17,13 @@ PGO (Profile-Guided Optimization)是一种编译器优化技术。它通过 | |||
| 17 | 17 | ||
| 18 | ## 编译优化方案介绍<a id="sustom-anchor"></a> | 18 | ## 编译优化方案介绍<a id="sustom-anchor"></a> |
| 19 | 19 | ||
| 20 | -通过毕昇编译器的LTO和PGO编译优化技术,并编译Python、PyTorch、torch\_npu(Ascend Extension for PyTorch)三个组件,可以有效提升程序性能。 | 20 | +通过毕昇编译器的LTO和PGO编译优化技术,并编译Python、PyTorch、TorchNPU三个组件,可以有效提升程序性能。 |
| 21 | 21 | ||
| 22 | 由于Pybind11框架原因,相关编译优化包之间的兼容性可能存在冲突,可以参考下表选择部分包的编译优化或者全部包的编译优化,后续编译优化指导以毕昇编译器为例开展。 | 22 | 由于Pybind11框架原因,相关编译优化包之间的兼容性可能存在冲突,可以参考下表选择部分包的编译优化或者全部包的编译优化,后续编译优化指导以毕昇编译器为例开展。 |
| 23 | 23 | ||
| 24 | **表 1** 兼容性组合<a id="custom-anchor"></a> | 24 | **表 1** 兼容性组合<a id="custom-anchor"></a> |
| 25 | 25 | ||
| 26 | -|Python|PyTorch|torch_npu|是否兼容| | 26 | +|Python|PyTorch|TorchNPU|是否兼容| |
| 27 | |--|--|--|--| | 27 | |--|--|--|--| |
| 28 | |gcc(默认)|gcc(默认)|gcc(默认)|是| | 28 | |gcc(默认)|gcc(默认)|gcc(默认)|是| |
| 29 | |gcc(默认)|gcc(默认)|毕昇|否| | 29 | |gcc(默认)|gcc(默认)|毕昇|否| |
| @@ -23,7 +23,7 @@ torch_npu.npu.NPUPluggableAllocator(path_to_so_file, alloc_fn_name, free_fn_name | |||
| 23 | - alloc\_fn\_name:\(str\)内存申请函数名(与C/C++文件中函数名一致)。 | 23 | - alloc\_fn\_name:\(str\)内存申请函数名(与C/C++文件中函数名一致)。 |
| 24 | - free\_fn\_name:\(str\)内存释放函数名(与C/C++文件中函数名一致)。 | 24 | - free\_fn\_name:\(str\)内存释放函数名(与C/C++文件中函数名一致)。 |
| 25 | 25 | ||
| 26 | -此接口详情请参考《Ascend Extension for PyTorch 自定义 API参考》中的“[torch_npu.npu.NPUPluggableAllocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-NPUPluggableAllocator.md)”章节。 | 26 | +此接口详情请参考《自定义API》中的“[torch_npu.npu.NPUPluggableAllocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-NPUPluggableAllocator.md)”章节。 |
| 27 | 27 | ||
| 28 | ## 使用样例 | 28 | ## 使用样例 |
| 29 | 29 | ||
| @@ -58,5 +58,5 @@ torch_npu.npu.memory._dump_snapshot("my_snapshot.pickle") | |||
| 58 | 58 | ||
| 59 | ## 约束说明 | 59 | ## 约束说明 |
| 60 | 60 | ||
| 61 | -- Ascend Extension for PyTorch 6.0.0及以上版本支持该功能。 | 61 | +- TorchNPU 6.0.0及以上版本支持该功能。 |
| 62 | - 内存溢出(OOM)时保存内存快照csv文件特性,仅在Ascend HDK 25.5.0及以上版本和CANN商用8.5.0及以上版本上支持。 | 62 | - 内存溢出(OOM)时保存内存快照csv文件特性,仅在Ascend HDK 25.5.0及以上版本和CANN商用8.5.0及以上版本上支持。 |
| @@ -1,10 +1,10 @@ | |||
| 1 | # 概述 | 1 | # 概述 |
| 2 | 2 | ||
| 3 | -Ascend Extension for PyTorch插件是基于昇腾的深度学习适配框架,使昇腾NPU可以支持PyTorch框架,为PyTorch框架的使用者提供昇腾AI处理器的超强算力。 | 3 | +TorchNPU插件是基于昇腾的深度学习适配框架,使昇腾NPU可以支持PyTorch框架,为PyTorch框架的使用者提供昇腾AI处理器的超强算力。 |
| 4 | 4 | ||
| 5 | -该插件最大限度地继承了PyTorch框架的动态图特性、原生开发方式以及体系结构,使得开发者在使用Ascend Extension for PyTorch时,几乎无需改变原有的开发习惯和代码风格。开发者可以继续使用熟悉的PyTorch接口和函数,只需在指定设备为昇腾NPU的情况下,即可将模型无缝迁移到昇腾平台上进行训练,大大降低了开发成本和迁移难度。 | 5 | +该插件最大限度地继承了PyTorch框架的动态图特性、原生开发方式以及体系结构,使得开发者在使用TorchNPU时,几乎无需改变原有的开发习惯和代码风格。开发者可以继续使用熟悉的PyTorch接口和函数,只需在指定设备为昇腾NPU的情况下,即可将模型无缝迁移到昇腾平台上进行训练,大大降低了开发成本和迁移难度。 |
| 6 | 6 | ||
| 7 | -随着深度学习领域蓬勃发展,数据规模不断膨胀,模型复杂度的持续攀升,对计算平台的挑战日益增长。面对这些挑战,Ascend Extension for PyTorch从内存资源优化、通信性能优化、计算性能优化、辅助报错定位等方面精心打造了一系列独特的特性。为用户提供了一个高效、便捷的开发工具,具体特性请参见[表1](#特性列表)。 | 7 | +随着深度学习领域蓬勃发展,数据规模不断膨胀,模型复杂度的持续攀升,对计算平台的挑战日益增长。面对这些挑战,TorchNPU从内存资源优化、通信性能优化、计算性能优化、辅助报错定位等方面精心打造了一系列独特的特性。为用户提供了一个高效、便捷的开发工具,具体特性请参见[表1](#特性列表)。 |
| 8 | 8 | ||
| 9 | **表 1** 特性列表 <a id="特性列表"></a> | 9 | **表 1** 特性列表 <a id="特性列表"></a> |
| 10 | <table style="undefined;table-layout: fixed; width: 1508px"><colgroup> | 10 | <table style="undefined;table-layout: fixed; width: 1508px"><colgroup> |
| @@ -52,7 +52,7 @@ Ascend Extension for PyTorch插件是基于昇腾的深度学习适配框架, | |||
| 52 | <tr> | 52 | <tr> |
| 53 | <td rowspan="2">计算性能优化</td> | 53 | <td rowspan="2">计算性能优化</td> |
| 54 | <td><a href="./automatic_core_binding.md">自动绑核</a></td> | 54 | <td><a href="./automatic_core_binding.md">自动绑核</a></td> |
| 55 | - <td>通过设置粗/细粒度绑核,优化Ascend Extension for PyTorch下发性能。</td> | 55 | + <td>通过设置粗/细粒度绑核,优化TorchNPU下发性能。</td> |
| 56 | </tr> | 56 | </tr> |
| 57 | <tr> | 57 | <tr> |
| 58 | <td><a href="./stream_taskqueue_parallel_delivery.md">Stream级TaskQueue并行下发</a></td> | 58 | <td><a href="./stream_taskqueue_parallel_delivery.md">Stream级TaskQueue并行下发</a></td> |
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | 1. 依赖安装。 | 5 | 1. 依赖安装。 |
| 6 | 6 | ||
| 7 | - PyTorch推荐在容器里进行编译,具体请参考[源码安装](../installation_guide/compilation_installation_using_source_code.md#安装torch_npu插件)。 | 7 | + PyTorch推荐在容器里进行编译,具体请参考[源码安装](../installation_guide/compilation_installation_using_source_code.md)。 |
| 8 | 8 | ||
| 9 | 毕昇环境变量配置,详情请参见[安装毕昇编译器](install_bisheng_comp.md)。 | 9 | 毕昇环境变量配置,详情请参见[安装毕昇编译器](install_bisheng_comp.md)。 |
| 10 | 10 | ||
| @@ -102,7 +102,7 @@ | |||
| 102 | 102 | ||
| 103 | > [!NOTE] | 103 | > [!NOTE] |
| 104 | > | 104 | > |
| 105 | - > 毕昇编译的PyTorch须与毕昇编译的torch\_npu配套使用,其他兼容性可参考[表1](comp_opt_intro.md#custom-anchor)。 | 105 | + > 毕昇编译的PyTorch须与毕昇编译的TorchNPU配套使用,其他兼容性可参考[表1](comp_opt_intro.md#custom-anchor)。 |
| 106 | 106 | ||
| 107 | - 模型跑完之后,程序停止执行,在第一次编译时指定的对应目录下可以生成profraw格式文件。亦可通过在运行机器上配置环境变量LLVM\_PROFILE\_FILE指定profraw文件生成位置,参考命令中的%m允许在线合并profile数据,改为%p将按pid记录数据。 | 107 | - 模型跑完之后,程序停止执行,在第一次编译时指定的对应目录下可以生成profraw格式文件。亦可通过在运行机器上配置环境变量LLVM\_PROFILE\_FILE指定profraw文件生成位置,参考命令中的%m允许在线合并profile数据,改为%p将按pid记录数据。 |
| 108 | 108 | ||
| @@ -23,7 +23,7 @@ | |||
| 23 | 23 | ||
| 24 | ## 算子适配常见API<a id="section002"></a> | 24 | ## 算子适配常见API<a id="section002"></a> |
| 25 | 25 | ||
| 26 | -torch_npu算子操作基础接口可参见[LINK](https://gitcode.com/Ascend/pytorch/blob/v2.7.1-26.1.0/torch_npu/csrc/framework/utils/OpPreparation.h)。常见接口如下: | 26 | +TorchNPU算子操作基础接口可参见[LINK](https://gitcode.com/Ascend/pytorch/blob/v2.7.1-26.1.0/torch_npu/csrc/framework/utils/OpPreparation.h)。常见接口如下: |
| 27 | 27 | ||
| 28 | - **`at_npu::native::OpPreparation::apply_tensor`** | 28 | - **`at_npu::native::OpPreparation::apply_tensor`** |
| 29 | - 功能:创建与输入张量属性(设备、数据类型、格式)一致的输出张量,适用于大多数算子的输出初始化。 | 29 | - 功能:创建与输入张量属性(设备、数据类型、格式)一致的输出张量,适用于大多数算子的输出初始化。 |
| @@ -4,9 +4,9 @@ | |||
| 4 | 4 | ||
| 5 | ## 适配前准备 | 5 | ## 适配前准备 |
| 6 | 6 | ||
| 7 | -1. 安装PyTorch框架,具体请参见《[Ascend Extension for PyTorch 软件安装指南](../installation_guide/menu_installation_guide.md)》。 | 7 | +1. 安装PyTorch框架,具体请参见《[软件安装](../installation_guide/menu_installation_guide.md)》。 |
| 8 | 8 | ||
| 9 | -2. (可选)当用户使用“二进制软件包安装”或“二进制软件包安装(abi1版本)”安装torch\_npu插件时,适配前需执行如下命令拉取torch\_npu仓对应分支的代码并进入OpPlugin目录,完成torch_npu源码下载。 | 9 | +2. (可选)当用户使用“二进制软件包安装”或“二进制软件包安装(abi1版本)”安装TorchNPU插件时,适配前需执行如下命令拉取TorchNPU仓对应分支的代码并进入OpPlugin目录,完成TorchNPU源码下载。 |
| 10 | 10 | ||
| 11 | ```bash | 11 | ```bash |
| 12 | git clone https://gitcode.com/ascend/pytorch.git -b v2.7.1-26.0.0 --recursive | 12 | git clone https://gitcode.com/ascend/pytorch.git -b v2.7.1-26.0.0 --recursive |
| @@ -14,7 +14,7 @@ | |||
| 14 | ``` | 14 | ``` |
| 15 | 15 | ||
| 16 | - *2.7.1*为PyTorch版本,用户需根据实际情况指定PyTorch版本。 | 16 | - *2.7.1*为PyTorch版本,用户需根据实际情况指定PyTorch版本。 |
| 17 | - - *26.0.0*为Ascend Extension for PyTorch软件版本。 | 17 | + - *26.0.0*为TorchNPU软件版本。 |
| 18 | 18 | ||
| 19 | 3. 在框架算子适配前,请先确保CANN已有相关算子实现,具体可查询[CANN 算子库接口](https://www.hiascend.com/document/detail/zh/canncommercial/900/API/aolapi/operatorlist_00001.html)。 | 19 | 3. 在框架算子适配前,请先确保CANN已有相关算子实现,具体可查询[CANN 算子库接口](https://www.hiascend.com/document/detail/zh/canncommercial/900/API/aolapi/operatorlist_00001.html)。 |
| 20 | > [!NOTE] | 20 | > [!NOTE] |
| @@ -201,7 +201,7 @@ | |||
| 201 | 201 | ||
| 202 | ## 编译验证 | 202 | ## 编译验证 |
| 203 | 203 | ||
| 204 | -1. 编译Ascend Extension for PyTorch插件并安装,推荐使用容器场景进行编译,具体操作可参考《Ascend Extension for PyTorch 软件安装指南》中的“[方式二:源码编译安装](../installation_guide/compilation_installation_using_source_code.md)”章节的“方式一(推荐):容器场景”。 | 204 | +1. 编译TorchNPU插件并安装,推荐使用容器场景进行编译,具体操作可参考《软件安装》中的“[方式二:源码编译安装](../installation_guide/compilation_installation_using_source_code.md)”章节的“方式一(推荐):容器场景”。 |
| 205 | 205 | ||
| 206 | 2. 上述开发过程完成后,调用开发者测试脚本,验证基本功能是否正常。 | 206 | 2. 上述开发过程完成后,调用开发者测试脚本,验证基本功能是否正常。 |
| 207 | 207 | ||
| @@ -244,7 +244,7 @@ | |||
| 244 | 2. 执行命令如下验证新增算子功能是否正常: | 244 | 2. 执行命令如下验证新增算子功能是否正常: |
| 245 | > [!CAUTION] | 245 | > [!CAUTION] |
| 246 | > | 246 | > |
| 247 | - > 注意运行该脚本的时候不要在torch\_npu仓的根目录下,否则可能会出现找不到torch\_npu.\_C的报错。 | 247 | + > 注意运行该脚本的时候不要在TorchNPU仓的根目录下,否则可能会出现找不到torch\_npu.\_C的报错。 |
| 248 | 248 | ||
| 249 | ```bash | 249 | ```bash |
| 250 | python op-plugin/test/test_custom_ops/test_npu_add_custom.py -v | 250 | python op-plugin/test/test_custom_ops/test_npu_add_custom.py -v |
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | ## 简介 | 3 | ## 简介 |
| 4 | 4 | ||
| 5 | -本特性可以针对不同的通信域配置不同的HCCL参数。通过pg\_options添加hccl\_config配置,将HCCL配置参数从Python层透过Ascend Extension for PyTorch传递到HCCL供使用。 | 5 | +本特性可以针对不同的通信域配置不同的HCCL参数。通过pg\_options添加hccl\_config配置,将HCCL配置参数从Python层透过TorchNPU传递到HCCL供使用。 |
| 6 | 6 | ||
| 7 | 目前支持的通信域参数配置如下: | 7 | 目前支持的通信域参数配置如下: |
| 8 | 8 | ||
| @@ -8,7 +8,7 @@ | |||
| 8 | 8 | ||
| 9 | 当前开启task\_queue算子下发队列时采用单Device单TaskQueue模式,所有Stream共享同一个任务队列。一级流水线程(多线程)向统一队列提交任务,二级流水线程从队列中串行取出任务下发。这种架构在高并发场景下(多Stream同时提交)会出现队列竞争问题,导致任务下发存在串行化瓶颈。 | 9 | 当前开启task\_queue算子下发队列时采用单Device单TaskQueue模式,所有Stream共享同一个任务队列。一级流水线程(多线程)向统一队列提交任务,二级流水线程从队列中串行取出任务下发。这种架构在高并发场景下(多Stream同时提交)会出现队列竞争问题,导致任务下发存在串行化瓶颈。 |
| 10 | 10 | ||
| 11 | -为解决此问题,Ascend Extension for PyTorch推出Stream级TaskQueue并行下发特性。开启该特性后,每个Stream会初始化独立的TaskQueue和对应的Dequeue线程,实现真正的二级流水并行下发机制。不同Stream的任务可以并行下发,有效解决了队列竞争问题,提升了高并发场景下的任务下发效率。 | 11 | +为解决此问题,TorchNPU推出Stream级TaskQueue并行下发特性。开启该特性后,每个Stream会初始化独立的TaskQueue和对应的Dequeue线程,实现真正的二级流水并行下发机制。不同Stream的任务可以并行下发,有效解决了队列竞争问题,提升了高并发场景下的任务下发效率。 |
| 12 | 12 | ||
| 13 | ## 使用场景 | 13 | ## 使用场景 |
| 14 | 14 | ||
| @@ -1,10 +1,10 @@ | |||
| 1 | -# 编译优化(torch\_npu) | 1 | +# 编译优化(TorchNPU) |
| 2 | 2 | ||
| 3 | 1. 依赖安装。 | 3 | 1. 依赖安装。 |
| 4 | 4 | ||
| 5 | - torch\_npu构建依赖PyTorch,目前需要参考[编译优化(PyTorch)](pytorch_comp_opt.md)用毕昇编译器构建PyTorch之后,在环境里重新安装PyTorch,然后再编译torch\_npu。 | 5 | + TorchNPU构建依赖PyTorch,目前需要参考[编译优化(PyTorch)](pytorch_comp_opt.md)用毕昇编译器构建PyTorch之后,在环境里重新安装PyTorch,然后再编译TorchNPU。 |
| 6 | 6 | ||
| 7 | - torch\_npu推荐在容器里进行编译,具体请参考[源码安装](../installation_guide/compilation_installation_using_source_code.md#安装torch_npu插件)。以下描述均以torch\_npu v2.7.1版为例。 | 7 | + TorchNPU推荐在容器里进行编译,具体请参考[源码安装](../installation_guide/compilation_installation_using_source_code.md)。以下描述均以TorchNPU v2.7.1版为例。 |
| 8 | 8 | ||
| 9 | 参考[安装毕昇编译器](install_bisheng_comp.md)配置毕昇编译器环境。 | 9 | 参考[安装毕昇编译器](install_bisheng_comp.md)配置毕昇编译器环境。 |
| 10 | 10 | ||
| @@ -16,11 +16,11 @@ | |||
| 16 | git clone -b v2.7.1 https://gitcode.com/ascend/pytorch.git torch_npu | 16 | git clone -b v2.7.1 https://gitcode.com/ascend/pytorch.git torch_npu |
| 17 | ``` | 17 | ``` |
| 18 | 18 | ||
| 19 | -3. 根据需要的优化类型进行相应编译参数设置并进行编译,LTO和PGO优化可以单独使用,也可以叠加使用,当前torch\_npu已支持基于毕昇编译器的编译优化选项。 | 19 | +3. 根据需要的优化类型进行相应编译参数设置并进行编译,LTO和PGO优化可以单独使用,也可以叠加使用,当前TorchNPU已支持基于毕昇编译器的编译优化选项。 |
| 20 | 20 | ||
| 21 | > [!NOTE] | 21 | > [!NOTE] |
| 22 | > | 22 | > |
| 23 | - > 使用毕昇编译torch\_npu之前需要先参照[编译优化(PyTorch)](pytorch_comp_opt.md),用毕昇重新编译PyTorch并安装,然后再编译torch\_npu。 | 23 | + > 使用毕昇编译TorchNPU之前需要先参照[编译优化(PyTorch)](pytorch_comp_opt.md),用毕昇重新编译PyTorch并安装,然后再编译TorchNPU。 |
| 24 | 24 | ||
| 25 | - LTO优化 | 25 | - LTO优化 |
| 26 | 1. 配置编译参数,设置环境变量。 | 26 | 1. 配置编译参数,设置环境变量。 |
| @@ -62,7 +62,7 @@ | |||
| 62 | bash ci/build.sh --python=3.8 --enable_lto --enable_pgo=1 | 62 | bash ci/build.sh --python=3.8 --enable_lto --enable_pgo=1 |
| 63 | ``` | 63 | ``` |
| 64 | 64 | ||
| 65 | - - 安装一次编译后的torch\_npu的whl包,执行如下命令: | 65 | + - 安装一次编译后的TorchNPU的whl包,执行如下命令: |
| 66 | 66 | ||
| 67 | ```shell | 67 | ```shell |
| 68 | pip3 install /path/to/*.whl --force-reinstall --no-deps | 68 | pip3 install /path/to/*.whl --force-reinstall --no-deps |
| @@ -94,7 +94,7 @@ | |||
| 94 | 94 | ||
| 95 | - 二次编译(使用Profile数据) | 95 | - 二次编译(使用Profile数据) |
| 96 | 96 | ||
| 97 | - 配置profdata文件:将前一步骤中生成的default.profdata文件拷贝到torch\_npu目录下。请将profdata文件命名为default.profdata。 | 97 | + 配置profdata文件:将前一步骤中生成的default.profdata文件拷贝到TorchNPU目录下。请将profdata文件命名为default.profdata。 |
| 98 | 98 | ||
| 99 | 执行编译命令: | 99 | 执行编译命令: |
| 100 | 100 | ||
| @@ -104,4 +104,4 @@ | |||
| 104 | bash ci/build.sh --python=3.8 --enable_lto --enable_pgo=2 | 104 | bash ci/build.sh --python=3.8 --enable_lto --enable_pgo=2 |
| 105 | ``` | 105 | ``` |
| 106 | 106 | ||
| 107 | - 二次编译后的torch\_npu的whl包为正式使用的高性能包。 | 107 | + 二次编译后的TorchNPU的whl包为正式使用的高性能包。 |
| @@ -243,7 +243,7 @@ ImportError: libhccl.so: cannot open shared object file: No such file or directo | |||
| 243 | 243 | ||
| 244 | **报错原因** | 244 | **报错原因** |
| 245 | 245 | ||
| 246 | -当前环境未满足运行torch_npu的条件,编译构建时torch_npu依赖torch,而运行时依赖配套的NPU驱动固件与CANN软件。 | 246 | +当前环境未满足运行TorchNPU的条件,编译构建时TorchNPU依赖torch,而运行时依赖配套的NPU驱动固件与CANN软件。 |
| 247 | 247 | ||
| 248 | **处理方法** | 248 | **处理方法** |
| 249 | 249 | ||
| @@ -253,7 +253,7 @@ ImportError: libhccl.so: cannot open shared object file: No such file or directo | |||
| 253 | 253 | ||
| 254 | **问题描述** | 254 | **问题描述** |
| 255 | 255 | ||
| 256 | -编译安装torch_npu后,执行“import torch_npu”,系统报错core dump。 | 256 | +编译安装TorchNPU后,执行“import torch_npu”,系统报错core dump。 |
| 257 | 257 | ||
| 258 | 报错文本 | 258 | 报错文本 |
| 259 | 259 | ||
| @@ -274,7 +274,7 @@ Segmentation fault | |||
| 274 | 274 | ||
| 275 | **问题描述** | 275 | **问题描述** |
| 276 | 276 | ||
| 277 | -安装torch_npu后,“import torch_npu”报错torch_npu._C。 | 277 | +安装TorchNPU后,“import torch_npu”报错torch_npu._C。 |
| 278 | 278 | ||
| 279 | 报错文本 | 279 | 报错文本 |
| 280 | 280 | ||
| @@ -294,7 +294,7 @@ ModuleNotFoundError: No module named 'torch_npu._C' | |||
| 294 | 294 | ||
| 295 | **报错原因** | 295 | **报错原因** |
| 296 | 296 | ||
| 297 | -因为安装的torch_npu与该项目下的文件夹重名,不能在项目目录下运行“import torch_npu”。 | 297 | +因为安装的TorchNPU与该项目下的文件夹重名,不能在项目目录下运行“import torch_npu”。 |
| 298 | 298 | ||
| 299 | **处理方法** | 299 | **处理方法** |
| 300 | 300 | ||
| @@ -1,6 +1,6 @@ | |||
| 1 | # 编译libtorch\_npu | 1 | # 编译libtorch\_npu |
| 2 | 2 | ||
| 3 | -libtorch\_npu是torch\_npu插件的C++版本,包含运行torch\_npu插件所需的头文件、库文件以及CMake配置文件。用户可以通过libtorch\_npu使用torch\_npu插件中开放的C++接口。 | 3 | +libtorch\_npu是TorchNPU插件的C++版本,包含运行TorchNPU插件所需的头文件、库文件以及CMake配置文件。用户可以通过libtorch\_npu使用TorchNPU插件中开放的C++接口。 |
| 4 | 4 | ||
| 5 | ## 编译操作 | 5 | ## 编译操作 |
| 6 | 6 | ||
| @@ -13,7 +13,7 @@ libtorch\_npu是torch\_npu插件的C++版本,包含运行torch\_npu插件所 | |||
| 13 | git submodule update --init --recursive | 13 | git submodule update --init --recursive |
| 14 | ``` | 14 | ``` |
| 15 | 15 | ||
| 16 | - 以v2.7.1-26.0.0为例,拉取对应Ascend Extension for PyTorch分支代码。请参见《版本说明》中的“[相关产品版本配套说明](../release_notes/release_notes.md#相关产品版本配套说明)”章节下载Ascend Extension for PyTorch其他版本的分支代码。 | 16 | + 以v2.7.1-26.0.0为例,拉取对应TorchNPU分支代码。请参见《版本说明》中的“[相关产品版本配套说明](../release_notes/release_notes.md#相关产品版本配套说明)”章节下载TorchNPU其他版本的分支代码。 |
| 17 | 17 | ||
| 18 | 3. 执行编译生成libtorch\_npu安装包。 | 18 | 3. 执行编译生成libtorch\_npu安装包。 |
| 19 | > [!NOTE] | 19 | > [!NOTE] |
| @@ -40,10 +40,10 @@ libtorch\_npu是torch\_npu插件的C++版本,包含运行torch\_npu插件所 | |||
| 40 | 40 | ||
| 41 | ## libtorch推理测试 | 41 | ## libtorch推理测试 |
| 42 | 42 | ||
| 43 | -以Ascend Extension for PyTorch源码仓v2.7.1-26.0.0分支下“pytorch/examples/libtorch\_resnet”模型为例,介绍libtorch推理的快速使用。 | 43 | +以TorchNPU源码仓v2.7.1-26.0.0分支下“pytorch/examples/libtorch\_resnet”模型为例,介绍libtorch推理的快速使用。 |
| 44 | 44 | ||
| 45 | -1. 需提前安装torch、torch\_npu、torchvision、hypothesis、expecttest以及packaging。 | 45 | +1. 需提前安装torch、TorchNPU、torchvision、hypothesis、expecttest以及packaging。 |
| 46 | - - torch与torch\_npu、torchvision安装请参见[安装PyTorch](installing_PyTorch.md)以及[安装torchvision](installing_torchvision.md)。 | 46 | + - torch与TorchNPU、torchvision安装请参见[安装PyTorch](installing_PyTorch.md)以及[安装torchvision](installing_torchvision.md)。 |
| 47 | - hypothesis、expecttest、packaging安装可执行如下命令。如果使用非root用户进行安装,需要在命令后加`--user`,例如:**pip3 install expecttest --user**。 | 47 | - hypothesis、expecttest、packaging安装可执行如下命令。如果使用非root用户进行安装,需要在命令后加`--user`,例如:**pip3 install expecttest --user**。 |
| 48 | 48 | ||
| 49 | ```bash | 49 | ```bash |
| @@ -63,7 +63,7 @@ libtorch\_npu是torch\_npu插件的C++版本,包含运行torch\_npu插件所 | |||
| 63 | include_directories(${torch_npu_path}/include) # 设置引用libtorch_npu的头文件路径 | 63 | include_directories(${torch_npu_path}/include) # 设置引用libtorch_npu的头文件路径 |
| 64 | link_directories(${torch_npu_path}/lib) # 设置引用libtorch_npu的库文件路径 | 64 | link_directories(${torch_npu_path}/lib) # 设置引用libtorch_npu的库文件路径 |
| 65 | 65 | ||
| 66 | - target_link_libraries(libtorch_resnet torch_npu) # 链接torch_npu库 | 66 | + target_link_libraries(libtorch_resnet torch_npu) # 链接TorchNPU库 |
| 67 | ``` | 67 | ``` |
| 68 | 68 | ||
| 69 | 3. 为了使模型在NPU设备上初始化和运行,用户需在C++代码中将GPU接口修改为适配NPU的接口。当前脚本中已完成对应修改,用户可参见以下内容对实际开发的脚本进行修改。已完成NPU适配的模型代码文件请参见“pytorch/examples/libtorch\_resnet/**libtorch\_resnet.cpp**”。 | 69 | 3. 为了使模型在NPU设备上初始化和运行,用户需在C++代码中将GPU接口修改为适配NPU的接口。当前脚本中已完成对应修改,用户可参见以下内容对实际开发的脚本进行修改。已完成NPU适配的模型代码文件请参见“pytorch/examples/libtorch\_resnet/**libtorch\_resnet.cpp**”。 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # 方式二:源码安装 | 1 | # 方式二:源码安装 |
| 2 | 2 | ||
| 3 | -源码安装适用于二次开发场景,如自定义算子适配开发后,用户可以选择需要的分支版本自行编译PyTorch框架和torch\_npu插件。 | 3 | +源码安装适用于二次开发场景,如自定义算子适配开发后,用户可以选择需要的分支版本自行编译PyTorch框架和TorchNPU插件。 |
| 4 | 4 | ||
| 5 | 执行安装命令前,请参见[安装前准备](preparing_installation.md)完成环境变量配置及其他环境准备。 | 5 | 执行安装命令前,请参见[安装前准备](preparing_installation.md)完成环境变量配置及其他环境准备。 |
| 6 | 6 | ||
| @@ -8,19 +8,19 @@ | |||
| 8 | 8 | ||
| 9 | 具体步骤请参见[PyTorch官网](https://github.com/pytorch/pytorch?tab=readme-ov-file#from-source)。 | 9 | 具体步骤请参见[PyTorch官网](https://github.com/pytorch/pytorch?tab=readme-ov-file#from-source)。 |
| 10 | 10 | ||
| 11 | -## 安装torch\_npu插件 | 11 | +## 安装TorchNPU插件 |
| 12 | 12 | ||
| 13 | 以下操作步骤以安装PyTorch 2.7.1版本为例。 | 13 | 以下操作步骤以安装PyTorch 2.7.1版本为例。 |
| 14 | 14 | ||
| 15 | - **方式一(推荐):容器场景** | 15 | - **方式一(推荐):容器场景** |
| 16 | 16 | ||
| 17 | - 1. 下载torch\_npu源码。 | 17 | + 1. 下载TorchNPU源码。 |
| 18 | 18 | ||
| 19 | ```bash | 19 | ```bash |
| 20 | git clone https://gitcode.com/Ascend/pytorch.git -b v2.7.1-26.0.0 --depth 1 | 20 | git clone https://gitcode.com/Ascend/pytorch.git -b v2.7.1-26.0.0 --depth 1 |
| 21 | ``` | 21 | ``` |
| 22 | 22 | ||
| 23 | - 以v2.7.1-26.0.0为例,下载对应的Ascend Extension for PyTorch分支代码。请参见《版本说明》中的“[相关产品版本配套说明](../release_notes/release_notes.md#相关产品版本配套说明)”章节下载Ascend Extension for PyTorch其他版本的分支代码。 | 23 | + 以v2.7.1-26.0.0为例,下载对应的TorchNPU分支代码。请参见《版本说明》中的“[相关产品版本配套说明](../release_notes/release_notes.md#相关产品版本配套说明)”章节下载TorchNPU其他版本的分支代码。 |
| 24 | 24 | ||
| 25 | 2. 构建镜像。 | 25 | 2. 构建镜像。 |
| 26 | 26 | ||
| @@ -33,13 +33,13 @@ | |||
| 33 | > - _{arch}_ 表示CPU架构(X86或ARM)。 | 33 | > - _{arch}_ 表示CPU架构(X86或ARM)。 |
| 34 | > - 注意不要遗漏命令结尾的“.”。 | 34 | > - 注意不要遗漏命令结尾的“.”。 |
| 35 | 35 | ||
| 36 | - 3. 进入Docker容器,并将torch\_npu源代码挂载至容器内。 | 36 | + 3. 进入Docker容器,并将TorchNPU源代码挂载至容器内。 |
| 37 | 37 | ||
| 38 | ```bash | 38 | ```bash |
| 39 | docker run -it -v /{code_path}/pytorch:/home/pytorch manylinux-builder:v1 bash | 39 | docker run -it -v /{code_path}/pytorch:/home/pytorch manylinux-builder:v1 bash |
| 40 | ``` | 40 | ``` |
| 41 | 41 | ||
| 42 | - _{code_path}_ 表示torch\_npu源代码路径,请根据实际情况进行替换。 | 42 | + _{code_path}_ 表示TorchNPU源代码路径,请根据实际情况进行替换。 |
| 43 | 43 | ||
| 44 | 4. 编译生成Whl安装包。 | 44 | 4. 编译生成Whl安装包。 |
| 45 | 45 | ||
| @@ -50,13 +50,13 @@ | |||
| 50 | 50 | ||
| 51 | 如需指定其他Python版本,请使用--python=3.9、--python=3.11、--python=3.12或--python=3.13。 | 51 | 如需指定其他Python版本,请使用--python=3.9、--python=3.11、--python=3.12或--python=3.13。 |
| 52 | 52 | ||
| 53 | - 5. 在运行环境中安装生成的torch\_npu插件包,如果使用非root用户进行安装,需要在命令后加`--user`。 | 53 | + 5. 在运行环境中安装生成的TorchNPU插件包,如果使用非root用户进行安装,需要在命令后加`--user`。 |
| 54 | 54 | ||
| 55 | ```bash | 55 | ```bash |
| 56 | pip3 install --upgrade dist/torch_npu-2.7.1.post2-cp310-cp310-linux_aarch64.whl | 56 | pip3 install --upgrade dist/torch_npu-2.7.1.post2-cp310-cp310-linux_aarch64.whl |
| 57 | ``` | 57 | ``` |
| 58 | 58 | ||
| 59 | - 请用户根据实际情况更改命令中的torch\_npu包名。 | 59 | + 请用户根据实际情况更改命令中的TorchNPU包名。 |
| 60 | 60 | ||
| 61 | 6. 在运行环境中安装pytorch目录下的依赖文件requirements.txt。 | 61 | 6. 在运行环境中安装pytorch目录下的依赖文件requirements.txt。 |
| 62 | 62 | ||
| @@ -120,15 +120,15 @@ | |||
| 120 | 120 | ||
| 121 | 如果使用非root用户安装,需要在命令后加`--user`,例如:**pip3 install pyyaml --user**。 | 121 | 如果使用非root用户安装,需要在命令后加`--user`,例如:**pip3 install pyyaml --user**。 |
| 122 | 122 | ||
| 123 | - 2. 编译生成torch\_npu插件的Whl安装包。 | 123 | + 2. 编译生成TorchNPU插件的Whl安装包。 |
| 124 | - 1. 以v2.7.1-26.0.0为例,下载对应的Ascend Extension for PyTorch分支代码并进入插件根目录。 | 124 | + 1. 以v2.7.1-26.0.0为例,下载对应的TorchNPU分支代码并进入插件根目录。 |
| 125 | 125 | ||
| 126 | ```bash | 126 | ```bash |
| 127 | git clone -b v2.7.1-26.0.0 https://gitcode.com/Ascend/pytorch.git | 127 | git clone -b v2.7.1-26.0.0 https://gitcode.com/Ascend/pytorch.git |
| 128 | cd pytorch | 128 | cd pytorch |
| 129 | ``` | 129 | ``` |
| 130 | 130 | ||
| 131 | - 请参见《版本说明》中的“[相关产品版本配套说明](../release_notes/release_notes.md#相关产品版本配套说明)”章节下载Ascend Extension for PyTorch其他版本的分支代码。 | 131 | + 请参见《版本说明》中的“[相关产品版本配套说明](../release_notes/release_notes.md#相关产品版本配套说明)”章节下载TorchNPU其他版本的分支代码。 |
| 132 | 132 | ||
| 133 | 2. 编译生成Whl安装包。 | 133 | 2. 编译生成Whl安装包。 |
| 134 | 134 | ||
| @@ -138,13 +138,13 @@ | |||
| 138 | 138 | ||
| 139 | 如需指定其他Python版本,请使用--python=3.9、--python=3.11、--python=3.12或--python=3.13。 | 139 | 如需指定其他Python版本,请使用--python=3.9、--python=3.11、--python=3.12或--python=3.13。 |
| 140 | 140 | ||
| 141 | - 3. 安装pytorch/dist目录下生成的插件torch\_npu包,如果使用非root用户安装,需要在命令后加`--user`。 | 141 | + 3. 安装pytorch/dist目录下生成的插件TorchNPU包,如果使用非root用户安装,需要在命令后加`--user`。 |
| 142 | 142 | ||
| 143 | ```bash | 143 | ```bash |
| 144 | pip3 install --upgrade dist/torch_npu-2.7.1.post2-cp310-cp310-linux_aarch64.whl | 144 | pip3 install --upgrade dist/torch_npu-2.7.1.post2-cp310-cp310-linux_aarch64.whl |
| 145 | ``` | 145 | ``` |
| 146 | 146 | ||
| 147 | - 请用户根据实际情况更改命令中的torch\_npu包名。 | 147 | + 请用户根据实际情况更改命令中的TorchNPU包名。 |
| 148 | 148 | ||
| 149 | 4. 安装pytorch目录下的依赖文件requirements.txt。 | 149 | 4. 安装pytorch目录下的依赖文件requirements.txt。 |
| 150 | 150 | ||
| @@ -154,7 +154,7 @@ | |||
| 154 | 154 | ||
| 155 | ## 版本查询 | 155 | ## 版本查询 |
| 156 | 156 | ||
| 157 | -执行以下命令可检查安装的Python、PyTorch框架和torch_npu插件版本。 | 157 | +执行以下命令可检查安装的Python、PyTorch框架和TorchNPU插件版本。 |
| 158 | 158 | ||
| 159 | - 查看已安装的Pyhton版本。 | 159 | - 查看已安装的Pyhton版本。 |
| 160 | 160 | ||
| @@ -168,13 +168,13 @@ | |||
| 168 | Python 3.13.0 | 168 | Python 3.13.0 |
| 169 | ``` | 169 | ``` |
| 170 | 170 | ||
| 171 | -- 查看已安装的PyTorch框架和torch_npu插件版本。 | 171 | +- 查看已安装的PyTorch框架和TorchNPU插件版本。 |
| 172 | 172 | ||
| 173 | ```bash | 173 | ```bash |
| 174 | pip list | grep torch | 174 | pip list | grep torch |
| 175 | ``` | 175 | ``` |
| 176 | 176 | ||
| 177 | - 输出如下PyTorch框架和torch_npu插件版本。 | 177 | + 输出如下PyTorch框架和TorchNPU插件版本。 |
| 178 | 178 | ||
| 179 | ```text | 179 | ```text |
| 180 | torch 2.10.0 | 180 | torch 2.10.0 |
| @@ -183,11 +183,11 @@ | |||
| 183 | 183 | ||
| 184 | > [!NOTE] | 184 | > [!NOTE] |
| 185 | > | 185 | > |
| 186 | - > 如果需要查询Ascend Extension for PyTorch安装包版本,请单击[相关产品版本配套说明](https://gitcode.com/Ascend/pytorch/blob/v2.7.1-26.0.0/docs/zh/release_notes/release_notes.md#%E7%9B%B8%E5%85%B3%E4%BA%A7%E5%93%81%E7%89%88%E6%9C%AC%E9%85%8D%E5%A5%97%E8%AF%B4%E6%98%8E)查看。 | 186 | + > 如果需要查询TorchNPU安装包版本,请单击[相关产品版本配套说明](https://gitcode.com/Ascend/pytorch/blob/v2.7.1-26.0.0/docs/zh/release_notes/release_notes.md#%E7%9B%B8%E5%85%B3%E4%BA%A7%E5%93%81%E7%89%88%E6%9C%AC%E9%85%8D%E5%A5%97%E8%AF%B4%E6%98%8E)查看。 |
| 187 | 187 | ||
| 188 | ## 安装后验证 | 188 | ## 安装后验证 |
| 189 | 189 | ||
| 190 | -执行以下命令可检查PyTorch框架和torch_npu插件是否已成功安装。 | 190 | +执行以下命令可检查PyTorch框架和TorchNPU插件是否已成功安装。 |
| 191 | 191 | ||
| 192 | - 方法一 | 192 | - 方法一 |
| 193 | 193 | ||
| @@ -6,7 +6,7 @@ | |||
| 6 | 6 | ||
| 7 | ## 拉取可用镜像 | 7 | ## 拉取可用镜像 |
| 8 | 8 | ||
| 9 | -从昇腾镜像仓库拉取已预集成torch\_npu软件包及运行所需依赖的镜像,根据实际架构选择。 | 9 | +从昇腾镜像仓库拉取已预集成TorchNPU软件包及运行所需依赖的镜像,根据实际架构选择。 |
| 10 | 10 | ||
| 11 | ## 运行docker | 11 | ## 运行docker |
| 12 | 12 | ||
| @@ -1,12 +1,12 @@ | |||
| 1 | # 安装说明 | 1 | # 安装说明 |
| 2 | 2 | ||
| 3 | -为使用PyTorch框架的开发者提供昇腾AI处理器的超强算力,昇腾开发Ascend Extension for PyTorch(即torch\_npu插件)用于适配PyTorch框架。 | 3 | +为使用PyTorch框架的开发者提供昇腾AI处理器的超强算力,昇腾开发TorchNPU用于适配PyTorch框架。 |
| 4 | 4 | ||
| 5 | -本文主要向用户介绍如何快速完成PyTorch框架、Ascend Extension for PyTorch(即torch\_npu插件)以及扩展模块的安装。 | 5 | +本文主要向用户介绍如何快速完成PyTorch框架、TorchNPU以及扩展模块的安装。 |
| 6 | 6 | ||
| 7 | ## 安装方案 | 7 | ## 安装方案 |
| 8 | 8 | ||
| 9 | -本文档包含物理机、容器、虚拟机场景下,安装驱动、固件、<term>CANN</term>软件、PyTorch框架和torch\_npu插件的方案,部署架构如[图1](#安装方案图)所示。 | 9 | +本文档包含物理机、容器、虚拟机场景下,安装驱动、固件、<term>CANN</term>软件、PyTorch框架和TorchNPU插件的方案,部署架构如[图1](#安装方案图)所示。 |
| 10 | 10 | ||
| 11 | **图 1** 安装方案<a id="安装方案图"></a> | 11 | **图 1** 安装方案<a id="安装方案图"></a> |
| 12 |  | 12 |  |
| @@ -34,4 +34,4 @@ | |||
| 34 | 34 | ||
| 35 | ## 安装方式 | 35 | ## 安装方式 |
| 36 | 36 | ||
| 37 | -本手册提供了离线安装(Whl)和源码安装方式,用户可根据实际需求自行选择安装PyTorch框架和torch\_npu插件的方式,不要求两者安装方式统一。 | 37 | +本手册提供了离线安装(Whl)和源码安装方式,用户可根据实际需求自行选择安装PyTorch框架和TorchNPU插件的方式,不要求两者安装方式统一。 |
| @@ -1,49 +1,49 @@ | |||
| 1 | # 方式一:离线安装(Whl) | 1 | # 方式一:离线安装(Whl) |
| 2 | 2 | ||
| 3 | -通过Whl包直接安装PyTorch和torch_npu插件。 | 3 | +通过Whl包直接安装PyTorch和TorchNPU插件。 |
| 4 | 4 | ||
| 5 | 执行安装命令前,请参见[安装前准备](preparing_installation.md)完成环境变量配置及其他环境准备。 | 5 | 执行安装命令前,请参见[安装前准备](preparing_installation.md)完成环境变量配置及其他环境准备。 |
| 6 | 6 | ||
| 7 | -## 安装PyTorch框架和torch_npu插件 | 7 | +## 安装PyTorch框架和TorchNPU插件 |
| 8 | 8 | ||
| 9 | -|PyTorch版本<!-- class: installation_torch_npu -->|torch_npu插件版本|Python版本|系统架构|CANN版本|安装方式| 安装命令| | 9 | +|PyTorch版本<!-- class: installation_torch_npu -->|TorchNPU插件版本|Python版本|系统架构|CANN版本|安装方式| 安装命令| |
| 10 | |--|--|--|--|--|--|--| | 10 | |--|--|--|--|--|--|--| |
| 11 | -|2.10.0|26.0.0|Python 3.13|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.10.0+cpu-cp313-cp313-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.10.0/torch_npu-2.10.0-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.10.0-cp313-cp313-manylinux_2_28_aarch64.whl</copy> | | 11 | +|2.10.0|26.0.0|Python 3.13|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.10.0+cpu-cp313-cp313-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.10.0/torch_npu-2.10.0-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.10.0-cp313-cp313-manylinux_2_28_aarch64.whl</copy> | |
| 12 | -|2.10.0|26.0.0|Python 3.13|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.10.0+cpu-cp313-cp313-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.10.0/torch_npu-2.10.0-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.10.0-cp313-cp313-manylinux_2_28_x86_64.whl</copy> | | 12 | +|2.10.0|26.0.0|Python 3.13|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.10.0+cpu-cp313-cp313-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.10.0/torch_npu-2.10.0-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.10.0-cp313-cp313-manylinux_2_28_x86_64.whl</copy> | |
| 13 | -|2.10.0|26.0.0|Python 3.12|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.10.0+cpu-cp312-cp312-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.10.0/torch_npu-2.10.0-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.10.0-cp312-cp312-manylinux_2_28_aarch64.whl</copy> | | 13 | +|2.10.0|26.0.0|Python 3.12|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.10.0+cpu-cp312-cp312-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.10.0/torch_npu-2.10.0-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.10.0-cp312-cp312-manylinux_2_28_aarch64.whl</copy> | |
| 14 | -|2.10.0|26.0.0|Python 3.12|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.10.0+cpu-cp312-cp312-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.10.0/torch_npu-2.10.0-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.10.0-cp312-cp312-manylinux_2_28_x86_64.whl</copy> | | 14 | +|2.10.0|26.0.0|Python 3.12|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.10.0+cpu-cp312-cp312-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.10.0/torch_npu-2.10.0-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.10.0-cp312-cp312-manylinux_2_28_x86_64.whl</copy> | |
| 15 | -|2.10.0|26.0.0|Python 3.11|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.10.0+cpu-cp311-cp311-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.10.0/torch_npu-2.10.0-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.10.0-cp311-cp311-manylinux_2_28_aarch64.whl</copy> | | 15 | +|2.10.0|26.0.0|Python 3.11|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.10.0+cpu-cp311-cp311-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.10.0/torch_npu-2.10.0-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.10.0-cp311-cp311-manylinux_2_28_aarch64.whl</copy> | |
| 16 | -|2.10.0|26.0.0|Python 3.11|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.10.0+cpu-cp311-cp311-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.10.0/torch_npu-2.10.0-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.10.0-cp311-cp311-manylinux_2_28_x86_64.whl</copy> | | 16 | +|2.10.0|26.0.0|Python 3.11|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.10.0+cpu-cp311-cp311-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.10.0/torch_npu-2.10.0-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.10.0-cp311-cp311-manylinux_2_28_x86_64.whl</copy> | |
| 17 | -|2.10.0|26.0.0|Python 3.10|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.10.0+cpu-cp310-cp310-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget 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<br>pip3 install torch_npu-2.10.0-cp310-cp310-manylinux_2_28_aarch64.whl</copy> | | 17 | +|2.10.0|26.0.0|Python 3.10|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.10.0+cpu-cp310-cp310-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget 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<br>pip3 install torch_npu-2.10.0-cp310-cp310-manylinux_2_28_aarch64.whl</copy> | |
| 18 | -|2.10.0|26.0.0|Python 3.10|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.10.0+cpu-cp310-cp310-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.10.0/torch_npu-2.10.0-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.10.0-cp310-cp310-manylinux_2_28_x86_64.whl</copy> | | 18 | +|2.10.0|26.0.0|Python 3.10|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.10.0%2Bcpu-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.10.0+cpu-cp310-cp310-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.10.0/torch_npu-2.10.0-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.10.0-cp310-cp310-manylinux_2_28_x86_64.whl</copy> | |
| 19 | -|2.9.0|26.0.0|Python 3.13|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.9.0+cpu-cp313-cp313-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.9.0.post2-cp313-cp313-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | | 19 | +|2.9.0|26.0.0|Python 3.13|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.9.0+cpu-cp313-cp313-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.9.0.post2-cp313-cp313-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | |
| 20 | -|2.9.0|26.0.0|Python 3.13|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.9.0+cpu-cp313-cp313-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.9.0.post2-cp313-cp313-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | | 20 | +|2.9.0|26.0.0|Python 3.13|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.9.0+cpu-cp313-cp313-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.9.0.post2-cp313-cp313-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | |
| 21 | -|2.9.0|26.0.0|Python 3.12|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.9.0+cpu-cp312-cp312-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.9.0.post2-cp312-cp312-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | | 21 | +|2.9.0|26.0.0|Python 3.12|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.9.0+cpu-cp312-cp312-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.9.0.post2-cp312-cp312-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | |
| 22 | -|2.9.0|26.0.0|Python 3.12|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.9.0+cpu-cp312-cp312-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.9.0.post2-cp312-cp312-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | | 22 | +|2.9.0|26.0.0|Python 3.12|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.9.0+cpu-cp312-cp312-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.9.0.post2-cp312-cp312-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | |
| 23 | -|2.9.0|26.0.0|Python 3.10|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.9.0+cpu-cp310-cp310-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp310-cp310-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.9.0.post2-cp310-cp310-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | | 23 | +|2.9.0|26.0.0|Python 3.10|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.9.0+cpu-cp310-cp310-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp310-cp310-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.9.0.post2-cp310-cp310-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | |
| 24 | -|2.9.0|26.0.0|Python 3.10|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.9.0+cpu-cp310-cp310-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.9.0.post2-cp310-cp310-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | | 24 | +|2.9.0|26.0.0|Python 3.10|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.9.0+cpu-cp310-cp310-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.9.0.post2-cp310-cp310-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | |
| 25 | -|2.9.0|26.0.0|Python 3.11|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.9.0+cpu-cp311-cp311-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.9.0.post2-cp311-cp311-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | | 25 | +|2.9.0|26.0.0|Python 3.11|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.9.0+cpu-cp311-cp311-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.9.0.post2-cp311-cp311-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | |
| 26 | -|2.9.0|26.0.0|Python 3.11|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.9.0+cpu-cp311-cp311-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.9.0.post2-cp311-cp311-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | | 26 | +|2.9.0|26.0.0|Python 3.11|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.9.0%2Bcpu-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.9.0+cpu-cp311-cp311-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.9.0/torch_npu-2.9.0.post2-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.9.0.post2-cp311-cp311-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | |
| 27 | -|2.8.0|26.0.0|Python 3.13|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.8.0+cpu-cp313-cp313-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.8.0.post4-cp313-cp313-manylinux_2_28_aarch64.whl</copy> | | 27 | +|2.8.0|26.0.0|Python 3.13|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.8.0+cpu-cp313-cp313-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.8.0.post4-cp313-cp313-manylinux_2_28_aarch64.whl</copy> | |
| 28 | -|2.8.0|26.0.0|Python 3.13|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.8.0+cpu-cp313-cp313-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.8.0.post4-cp313-cp313-manylinux_2_28_x86_64.whl</copy> | | 28 | +|2.8.0|26.0.0|Python 3.13|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.8.0+cpu-cp313-cp313-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.8.0.post4-cp313-cp313-manylinux_2_28_x86_64.whl</copy> | |
| 29 | -|2.8.0|26.0.0|Python 3.12|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.8.0+cpu-cp312-cp312-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.8.0.post4-cp312-cp312-manylinux_2_28_aarch64.whl</copy> | | 29 | +|2.8.0|26.0.0|Python 3.12|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.8.0+cpu-cp312-cp312-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.8.0.post4-cp312-cp312-manylinux_2_28_aarch64.whl</copy> | |
| 30 | -|2.8.0|26.0.0|Python 3.12|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.8.0+cpu-cp312-cp312-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.8.0.post4-cp312-cp312-manylinux_2_28_x86_64.whl</copy> | | 30 | +|2.8.0|26.0.0|Python 3.12|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.8.0+cpu-cp312-cp312-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.8.0.post4-cp312-cp312-manylinux_2_28_x86_64.whl</copy> | |
| 31 | -|2.8.0|26.0.0|Python 3.11|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.8.0+cpu-cp311-cp311-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.8.0.post4-cp311-cp311-manylinux_2_28_aarch64.whl</copy> | | 31 | +|2.8.0|26.0.0|Python 3.11|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.8.0+cpu-cp311-cp311-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.8.0.post4-cp311-cp311-manylinux_2_28_aarch64.whl</copy> | |
| 32 | -|2.8.0|26.0.0|Python 3.11|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.8.0+cpu-cp311-cp311-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.8.0.post4-cp311-cp311-manylinux_2_28_x86_64.whl</copy> | | 32 | +|2.8.0|26.0.0|Python 3.11|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.8.0+cpu-cp311-cp311-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.8.0.post4-cp311-cp311-manylinux_2_28_x86_64.whl</copy> | |
| 33 | -|2.8.0|26.0.0|Python 3.10|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.8.0+cpu-cp310-cp310-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp310-cp310-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.8.0.post4-cp310-cp310-manylinux_2_28_aarch64.whl</copy> | | 33 | +|2.8.0|26.0.0|Python 3.10|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.8.0+cpu-cp310-cp310-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp310-cp310-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.8.0.post4-cp310-cp310-manylinux_2_28_aarch64.whl</copy> | |
| 34 | -|2.8.0|26.0.0|Python 3.10|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.8.0+cpu-cp310-cp310-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.8.0.post4-cp310-cp310-manylinux_2_28_x86_64.whl</copy> | | 34 | +|2.8.0|26.0.0|Python 3.10|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.8.0+cpu-cp310-cp310-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.8.0.post4-cp310-cp310-manylinux_2_28_x86_64.whl</copy> | |
| 35 | -|2.8.0|26.0.0|Python 3.9|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp39-cp39-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.8.0+cpu-cp39-cp39-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp39-cp39-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.8.0.post4-cp39-cp39-manylinux_2_28_aarch64.whl</copy> | | 35 | +|2.8.0|26.0.0|Python 3.9|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp39-cp39-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.8.0+cpu-cp39-cp39-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp39-cp39-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.8.0.post4-cp39-cp39-manylinux_2_28_aarch64.whl</copy> | |
| 36 | -|2.8.0|26.0.0|Python 3.9|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp39-cp39-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.8.0+cpu-cp39-cp39-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp39-cp39-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.8.0.post4-cp39-cp39-manylinux_2_28_x86_64.whl</copy> | | 36 | +|2.8.0|26.0.0|Python 3.9|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.8.0%2Bcpu-cp39-cp39-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.8.0+cpu-cp39-cp39-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.8.0/torch_npu-2.8.0.post4-cp39-cp39-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.8.0.post4-cp39-cp39-manylinux_2_28_x86_64.whl</copy> | |
| 37 | -|2.7.1|26.0.0|Python 3.13|AArch64|9.0.0|离线安装(Whl)| <copy># 下载安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.7.1+cpu-cp313-cp313-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.7.1.post4-cp313-cp313-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | | 37 | +|2.7.1|26.0.0|Python 3.13|AArch64|9.0.0|离线安装(Whl)| <copy># 下载安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.7.1+cpu-cp313-cp313-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp313-cp313-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.7.1.post4-cp313-cp313-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | |
| 38 | -|2.7.1|26.0.0|Python 3.13|X86_64|9.0.0|离线安装(Whl)| <copy># 下载安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.7.1+cpu-cp313-cp313-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.7.1.post4-cp313-cp313-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | | 38 | +|2.7.1|26.0.0|Python 3.13|X86_64|9.0.0|离线安装(Whl)| <copy># 下载安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.7.1+cpu-cp313-cp313-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp313-cp313-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.7.1.post4-cp313-cp313-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | |
| 39 | -|2.7.1|26.0.0|Python 3.12|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.7.1+cpu-cp312-cp312-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.7.1.post4-cp312-cp312-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | | 39 | +|2.7.1|26.0.0|Python 3.12|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.7.1+cpu-cp312-cp312-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp312-cp312-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.7.1.post4-cp312-cp312-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | |
| 40 | -|2.7.1|26.0.0|Python 3.12|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.7.1+cpu-cp312-cp312-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.7.1.post4-cp312-cp312-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | | 40 | +|2.7.1|26.0.0|Python 3.12|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.7.1+cpu-cp312-cp312-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp312-cp312-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.7.1.post4-cp312-cp312-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | |
| 41 | -|2.7.1|26.0.0|Python 3.11|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.7.1+cpu-cp311-cp311-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.7.1.post4-cp311-cp311-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | | 41 | +|2.7.1|26.0.0|Python 3.11|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.7.1+cpu-cp311-cp311-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp311-cp311-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.7.1.post4-cp311-cp311-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | |
| 42 | -|2.7.1|26.0.0|Python 3.11|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.7.1+cpu-cp311-cp311-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.7.1.post4-cp311-cp311-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | | 42 | +|2.7.1|26.0.0|Python 3.11|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.7.1+cpu-cp311-cp311-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp311-cp311-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.7.1.post4-cp311-cp311-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | |
| 43 | -|2.7.1|26.0.0|Python 3.10|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.7.1+cpu-cp310-cp310-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp310-cp310-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.7.1.post4-cp310-cp310-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | | 43 | +|2.7.1|26.0.0|Python 3.10|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp310-cp310-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.7.1+cpu-cp310-cp310-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp310-cp310-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.7.1.post4-cp310-cp310-manylinux_2_28_aarch64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl<br>pip3 install triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl</copy> | |
| 44 | -|2.7.1|26.0.0|Python 3.10|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.7.1+cpu-cp310-cp310-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.7.1.post4-cp310-cp310-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | | 44 | +|2.7.1|26.0.0|Python 3.10|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.7.1+cpu-cp310-cp310-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp310-cp310-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.7.1.post4-cp310-cp310-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | |
| 45 | -|2.7.1|26.0.0|Python 3.9|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp39-cp39-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.7.1+cpu-cp39-cp39-manylinux_2_28_aarch64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp39-cp39-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.7.1.post4-cp39-cp39-manylinux_2_28_aarch64.whl</copy> | | 45 | +|2.7.1|26.0.0|Python 3.9|AArch64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp39-cp39-manylinux_2_28_aarch64.whl<br>pip3 install torch-2.7.1+cpu-cp39-cp39-manylinux_2_28_aarch64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp39-cp39-manylinux_2_28_aarch64.whl<br>pip3 install torch_npu-2.7.1.post4-cp39-cp39-manylinux_2_28_aarch64.whl</copy> | |
| 46 | -|2.7.1|26.0.0|Python 3.9|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp39-cp39-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.7.1+cpu-cp39-cp39-manylinux_2_28_x86_64.whl<br><br># 下载并安装torch_npu插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp39-cp39-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.7.1.post4-cp39-cp39-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | | 46 | +|2.7.1|26.0.0|Python 3.9|X86_64|9.0.0|离线安装(Whl)| <copy># 下载并安装PyTorch框架<br>wget https://download.pytorch.org/whl/cpu/torch-2.7.1%2Bcpu-cp39-cp39-manylinux_2_28_x86_64.whl<br>pip3 install torch-2.7.1+cpu-cp39-cp39-manylinux_2_28_x86_64.whl<br><br># 下载并安装TorchNPU插件<br>wget https://gitcode.com/Ascend/pytorch/releases/download/v26.0.0-pytorch2.7.1/torch_npu-2.7.1.post4-cp39-cp39-manylinux_2_28_x86_64.whl<br>pip3 install torch_npu-2.7.1.post4-cp39-cp39-manylinux_2_28_x86_64.whl<br><br># 下载并安装Triton-Ascend插件<br>wget https://gitcode.com/Ascend/triton-ascend/releases/download/v3.2.1/triton_ascend-3.2.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl<br>pip3 install triton_ascend-3.2.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl</copy> | |
| 47 | 47 | ||
| 48 | > [!NOTE] | 48 | > [!NOTE] |
| 49 | > | 49 | > |
| @@ -54,12 +54,12 @@ | |||
| 54 | > ``` | 54 | > ``` |
| 55 | > | 55 | > |
| 56 | > - 更多PyTorch版本请参考[Links for torch](https://download.pytorch.org/whl/torch/)。 | 56 | > - 更多PyTorch版本请参考[Links for torch](https://download.pytorch.org/whl/torch/)。 |
| 57 | -> - 更多torch_npu插件版本请参考[PyTorch Release](https://gitcode.com/Ascend/pytorch/releases)。 | 57 | +> - 更多TorchNPU插件版本请参考[PyTorch Release](https://gitcode.com/Ascend/pytorch/releases)。 |
| 58 | > - Triton-Ascend插件用于支持图模式Inductor后端,且仅支持PyTorch2.7.1和2.9.0版本。 | 58 | > - Triton-Ascend插件用于支持图模式Inductor后端,且仅支持PyTorch2.7.1和2.9.0版本。 |
| 59 | 59 | ||
| 60 | ## 版本查询 | 60 | ## 版本查询 |
| 61 | 61 | ||
| 62 | -执行以下命令可检查安装的Python、PyTorch框架和torch_npu插件版本。 | 62 | +执行以下命令可检查安装的Python、PyTorch框架和TorchNPU插件版本。 |
| 63 | 63 | ||
| 64 | - 查看已安装的Pyhton版本。 | 64 | - 查看已安装的Pyhton版本。 |
| 65 | 65 | ||
| @@ -73,13 +73,13 @@ | |||
| 73 | Python 3.13.0 | 73 | Python 3.13.0 |
| 74 | ``` | 74 | ``` |
| 75 | 75 | ||
| 76 | -- 查看已安装的PyTorch框架和torch_npu插件版本。 | 76 | +- 查看已安装的PyTorch框架和TorchNPU插件版本。 |
| 77 | 77 | ||
| 78 | ```bash | 78 | ```bash |
| 79 | pip list | grep torch | 79 | pip list | grep torch |
| 80 | ``` | 80 | ``` |
| 81 | 81 | ||
| 82 | - 输出如下PyTorch框架和torch_npu插件版本。 | 82 | + 输出如下PyTorch框架和TorchNPU插件版本。 |
| 83 | 83 | ||
| 84 | ```text | 84 | ```text |
| 85 | torch 2.10.0 | 85 | torch 2.10.0 |
| @@ -88,11 +88,11 @@ | |||
| 88 | 88 | ||
| 89 | > [!NOTE] | 89 | > [!NOTE] |
| 90 | > | 90 | > |
| 91 | - > 如果需要查询Ascend Extension for PyTorch安装包版本,请单击[相关产品版本配套说明](https://gitcode.com/Ascend/pytorch/blob/v2.7.1-26.0.0/docs/zh/release_notes/release_notes.md#%E7%9B%B8%E5%85%B3%E4%BA%A7%E5%93%81%E7%89%88%E6%9C%AC%E9%85%8D%E5%A5%97%E8%AF%B4%E6%98%8E)查看。 | 91 | + > 如果需要查询TorchNPU安装包版本,请单击[相关产品版本配套说明](https://gitcode.com/Ascend/pytorch/blob/v2.7.1-26.0.0/docs/zh/release_notes/release_notes.md#%E7%9B%B8%E5%85%B3%E4%BA%A7%E5%93%81%E7%89%88%E6%9C%AC%E9%85%8D%E5%A5%97%E8%AF%B4%E6%98%8E)查看。 |
| 92 | 92 | ||
| 93 | ## 安装后验证 | 93 | ## 安装后验证 |
| 94 | 94 | ||
| 95 | -执行以下命令可检查PyTorch框架和torch_npu插件是否已成功安装。 | 95 | +执行以下命令可检查PyTorch框架和TorchNPU插件是否已成功安装。 |
| 96 | 96 | ||
| 97 | - 方法一 | 97 | - 方法一 |
| 98 | 98 | ||
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | torchvision为PyTorch的扩展库,主要用于计算机视觉任务。它包括许多常用的模型、数据集,使得处理图像数据变得更加简单高效。 | 3 | torchvision为PyTorch的扩展库,主要用于计算机视觉任务。它包括许多常用的模型、数据集,使得处理图像数据变得更加简单高效。 |
| 4 | 4 | ||
| 5 | -安装PyTorch框架和torch\_npu插件后,需安装对应框架版本的torchvision,具体请参见下表。 | 5 | +安装PyTorch框架和TorchNPU插件后,需安装对应框架版本的torchvision,具体请参见下表。 |
| 6 | 6 | ||
| 7 | **表 1** torchvision版本配套<a id="torchvision_version"></a> | 7 | **表 1** torchvision版本配套<a id="torchvision_version"></a> |
| 8 | 8 | ||
| @@ -19,6 +19,6 @@ | |||
| 19 | 19 | ||
| 20 | 以上命令以root用户安装后的默认路径为例,请用户根据set\_env.sh的实际路径进行替换。 | 20 | 以上命令以root用户安装后的默认路径为例,请用户根据set\_env.sh的实际路径进行替换。 |
| 21 | 21 | ||
| 22 | -- 容器场景下源码安装torch\_npu插件,涉及从外部网络获取社区提供基础镜像、Python第三方库以及编译使用源码,代理配置等相关网络问题请参考[Docker官方文档](https://docs.docker.com/engine/cli/proxy/)。 | 22 | +- 容器场景下源码安装TorchNPU插件,涉及从外部网络获取社区提供基础镜像、Python第三方库以及编译使用源码,代理配置等相关网络问题请参考[Docker官方文档](https://docs.docker.com/engine/cli/proxy/)。 |
| 23 | - 在安装不同类型操作系统所需依赖前,请在安装用户下检查源是否可用。以配置华为镜像源为例,可参考[华为开源镜像站](https://mirrors.huaweicloud.com/)中镜像源对应的配置方法操作。 | 23 | - 在安装不同类型操作系统所需依赖前,请在安装用户下检查源是否可用。以配置华为镜像源为例,可参考[华为开源镜像站](https://mirrors.huaweicloud.com/)中镜像源对应的配置方法操作。 |
| 24 | - Python3.11的调度(即下发)性能优于Python3.10,建议用Python3.11及以上。 | 24 | - Python3.11的调度(即下发)性能优于Python3.10,建议用Python3.11及以上。 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # 卸载 | 1 | # 卸载 |
| 2 | 2 | ||
| 3 | -## 卸载Ascend Extension for PyTorch | 3 | +## 卸载TorchNPU |
| 4 | 4 | ||
| 5 | - 卸载PyTorch框架需执行如下命令: | 5 | - 卸载PyTorch框架需执行如下命令: |
| 6 | 6 | ||
| @@ -8,7 +8,7 @@ | |||
| 8 | pip3 uninstall torch | 8 | pip3 uninstall torch |
| 9 | ``` | 9 | ``` |
| 10 | 10 | ||
| 11 | -- 卸载torch\_npu插件需执行如下命令: | 11 | +- 卸载TorchNPU插件需执行如下命令: |
| 12 | 12 | ||
| 13 | ```bash | 13 | ```bash |
| 14 | pip3 uninstall torch_npu | 14 | pip3 uninstall torch_npu |
| @@ -5,5 +5,5 @@ | |||
| 5 | 5 | ||
| 6 | > [!NOTE] | 6 | > [!NOTE] |
| 7 | > | 7 | > |
| 8 | -> - 在驱动、固件和CANN软件配套场景下,可单独升级PyTorch框架与torch\_npu插件。 | 8 | +> - 在驱动、固件和CANN软件配套场景下,可单独升级PyTorch框架与TorchNPU插件。 |
| 9 | -> - 如果也要升级固件、驱动和CANN软件,请按照“固件-\>驱动-\>CANN软件”的顺序先进行升级,再升级PyTorch框架与torch\_npu插件。 | 9 | +> - 如果也要升级固件、驱动和CANN软件,请按照“固件-\>驱动-\>CANN软件”的顺序先进行升级,再升级PyTorch框架与TorchNPU插件。 |
| @@ -1,10 +1,10 @@ | |||
| 1 | # inf/nan值处理差异说明 | 1 | # inf/nan值处理差异说明 |
| 2 | 2 | ||
| 3 | -在torch_npu中,部分API对`inf`/`nan`特殊值的处理行为与PyTorch原生实现存在差异,可能导致计算结果不一致。本文档主要列出两类差异场景:异常输入(输入包含`inf`/`nan`)时的行为差异,以及数值溢出时输出`inf`/`nan`的差异。 | 3 | +在TorchNPU中,部分API对`inf`/`nan`特殊值的处理行为与PyTorch原生实现存在差异,可能导致计算结果不一致。本文档主要列出两类差异场景:异常输入(输入包含`inf`/`nan`)时的行为差异,以及数值溢出时输出`inf`/`nan`的差异。 |
| 4 | 4 | ||
| 5 | **异常输入处理有差异的API清单** | 5 | **异常输入处理有差异的API清单** |
| 6 | 6 | ||
| 7 | -当输入Tensor中包含`inf`/`nan`值时,torch_npu与PyTorch原生的输出结果存在差异,具体API列表请参见[表1](#输入包含inf-nan时处理与原生不一致的API列表)。 | 7 | +当输入Tensor中包含`inf`/`nan`值时,TorchNPU与PyTorch原生的输出结果存在差异,具体API列表请参见[表1](#输入包含inf-nan时处理与原生不一致的API列表)。 |
| 8 | 8 | ||
| 9 | **表1** 输入包含inf/nan时处理与原生不一致的API列表<a id="输入包含inf-nan时处理与原生不一致的API列表"></a> | 9 | **表1** 输入包含inf/nan时处理与原生不一致的API列表<a id="输入包含inf-nan时处理与原生不一致的API列表"></a> |
| 10 | 10 | ||
| @@ -79,8 +79,8 @@ | |||
| 79 | |[torch.cuda.memory.caching_allocator_alloc](https://pytorch.org/docs/2.10/generated/torch.cuda.memory.caching_allocator_alloc.html)|torch_npu.npu.caching_allocator_alloc|是|-| | 79 | |[torch.cuda.memory.caching_allocator_alloc](https://pytorch.org/docs/2.10/generated/torch.cuda.memory.caching_allocator_alloc.html)|torch_npu.npu.caching_allocator_alloc|是|-| |
| 80 | |[torch.cuda.memory.caching_allocator_delete](https://pytorch.org/docs/2.10/generated/torch.cuda.memory.caching_allocator_delete.html)|torch_npu.npu.caching_allocator_delete|是|-| | 80 | |[torch.cuda.memory.caching_allocator_delete](https://pytorch.org/docs/2.10/generated/torch.cuda.memory.caching_allocator_delete.html)|torch_npu.npu.caching_allocator_delete|是|-| |
| 81 | |[torch.cuda.memory.get_allocator_backend](https://pytorch.org/docs/2.10/generated/torch.cuda.memory.get_allocator_backend.html)|torch_npu.npu.get_allocator_backend|是|-| | 81 | |[torch.cuda.memory.get_allocator_backend](https://pytorch.org/docs/2.10/generated/torch.cuda.memory.get_allocator_backend.html)|torch_npu.npu.get_allocator_backend|是|-| |
| 82 | -|[torch.cuda.memory.CUDAPluggableAllocator](https://pytorch.org/docs/2.10/generated/torch.cuda.memory.CUDAPluggableAllocator.html)|torch_npu.npu.NPUPluggableAllocator|是|该接口涉及高危操作,使用请参考《Ascend Extension for PyTorch 自定义 API参考》中的“[torch_npu.npu.NPUPluggableAllocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-NPUPluggableAllocator.md)”章节。| | 82 | +|[torch.cuda.memory.CUDAPluggableAllocator](https://pytorch.org/docs/2.10/generated/torch.cuda.memory.CUDAPluggableAllocator.html)|torch_npu.npu.NPUPluggableAllocator|是|该接口涉及高危操作,使用请参考《自定义API》中的“[torch_npu.npu.NPUPluggableAllocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-NPUPluggableAllocator.md)”章节。| |
| 83 | -|[torch.cuda.memory.change_current_allocator](https://pytorch.org/docs/2.10/generated/torch.cuda.memory.change_current_allocator.html)|torch_npu.npu.change_current_allocator|是|该接口涉及高危操作,使用请参考《Ascend Extension for PyTorch 自定义 API参考》中的“[torch_npu.npu.change_current_allocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-change_current_allocator.md)”章节。| | 83 | +|[torch.cuda.memory.change_current_allocator](https://pytorch.org/docs/2.10/generated/torch.cuda.memory.change_current_allocator.html)|torch_npu.npu.change_current_allocator|是|该接口涉及高危操作,使用请参考《自定义API》中的“[torch_npu.npu.change_current_allocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-change_current_allocator.md)”章节。| |
| 84 | |[torch.cuda._sanitizer.enable_cuda_sanitizer](https://pytorch.org/docs/2.10/cuda._sanitizer.html#torch.cuda._sanitizer.enable_cuda_sanitizer)|torch_npu.npu._sanitizer.enable_npu_sanitizer|是|-| | 84 | |[torch.cuda._sanitizer.enable_cuda_sanitizer](https://pytorch.org/docs/2.10/cuda._sanitizer.html#torch.cuda._sanitizer.enable_cuda_sanitizer)|torch_npu.npu._sanitizer.enable_npu_sanitizer|是|-| |
| 85 | |[torch.cuda.memory.reset_accumulated_host_memory_stats](https://pytorch.org/docs/2.10/generated/torch.cuda.memory.reset_accumulated_host_memory_stats.html)| torch_npu.npu.reset_accumulated_host_memory_stats|是|-| | 85 | |[torch.cuda.memory.reset_accumulated_host_memory_stats](https://pytorch.org/docs/2.10/generated/torch.cuda.memory.reset_accumulated_host_memory_stats.html)| torch_npu.npu.reset_accumulated_host_memory_stats|是|-| |
| 86 | |[torch.cuda.memory.reset_peak_host_memory_stats](https://pytorch.org/docs/2.10/generated/torch.cuda.memory.reset_peak_host_memory_stats.html)|torch_npu.npu.reset_peak_host_memory_stats|是|-| | 86 | |[torch.cuda.memory.reset_peak_host_memory_stats](https://pytorch.org/docs/2.10/generated/torch.cuda.memory.reset_peak_host_memory_stats.html)|torch_npu.npu.reset_peak_host_memory_stats|是|-| |
| @@ -79,8 +79,8 @@ | |||
| 79 | |[torch.cuda.caching_allocator_alloc](https://pytorch.org/docs/2.11/generated/torch.cuda.memory.caching_allocator_alloc.html)|torch_npu.npu.caching_allocator_alloc|是|-| | 79 | |[torch.cuda.caching_allocator_alloc](https://pytorch.org/docs/2.11/generated/torch.cuda.memory.caching_allocator_alloc.html)|torch_npu.npu.caching_allocator_alloc|是|-| |
| 80 | |[torch.cuda.caching_allocator_delete](https://pytorch.org/docs/2.11/generated/torch.cuda.memory.caching_allocator_delete.html)|torch_npu.npu.caching_allocator_delete|是|-| | 80 | |[torch.cuda.caching_allocator_delete](https://pytorch.org/docs/2.11/generated/torch.cuda.memory.caching_allocator_delete.html)|torch_npu.npu.caching_allocator_delete|是|-| |
| 81 | |[torch.cuda.get_allocator_backend](https://pytorch.org/docs/2.11/generated/torch.cuda.memory.get_allocator_backend.html)|torch_npu.npu.get_allocator_backend|是|-| | 81 | |[torch.cuda.get_allocator_backend](https://pytorch.org/docs/2.11/generated/torch.cuda.memory.get_allocator_backend.html)|torch_npu.npu.get_allocator_backend|是|-| |
| 82 | -|[torch.cuda.CUDAPluggableAllocator](https://pytorch.org/docs/2.11/generated/torch.cuda.memory.CUDAPluggableAllocator.html)|torch_npu.npu.NPUPluggableAllocator|是|该接口涉及高危操作,使用请参考《Ascend Extension for PyTorch 自定义 API参考》中的“[torch_npu.npu.NPUPluggableAllocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-NPUPluggableAllocator.md)”章节。| | 82 | +|[torch.cuda.CUDAPluggableAllocator](https://pytorch.org/docs/2.11/generated/torch.cuda.memory.CUDAPluggableAllocator.html)|torch_npu.npu.NPUPluggableAllocator|是|该接口涉及高危操作,使用请参考《自定义API》中的“[torch_npu.npu.NPUPluggableAllocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-NPUPluggableAllocator.md)”章节。| |
| 83 | -|[torch.cuda.change_current_allocator](https://pytorch.org/docs/2.11/generated/torch.cuda.memory.change_current_allocator.html)|torch_npu.npu.change_current_allocator|是|该接口涉及高危操作,使用请参考《Ascend Extension for PyTorch 自定义 API参考》中的“[torch_npu.npu.change_current_allocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-change_current_allocator.md)”章节。| | 83 | +|[torch.cuda.change_current_allocator](https://pytorch.org/docs/2.11/generated/torch.cuda.memory.change_current_allocator.html)|torch_npu.npu.change_current_allocator|是|该接口涉及高危操作,使用请参考《自定义API》中的“[torch_npu.npu.change_current_allocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-change_current_allocator.md)”章节。| |
| 84 | |[torch.cuda._sanitizer.enable_cuda_sanitizer](https://pytorch.org/docs/2.11/cuda._sanitizer.html#torch.cuda._sanitizer.enable_cuda_sanitizer)|torch_npu.npu._sanitizer.enable_npu_sanitizer|是|-| | 84 | |[torch.cuda._sanitizer.enable_cuda_sanitizer](https://pytorch.org/docs/2.11/cuda._sanitizer.html#torch.cuda._sanitizer.enable_cuda_sanitizer)|torch_npu.npu._sanitizer.enable_npu_sanitizer|是|-| |
| 85 | |[torch.cuda.reset_accumulated_host_memory_stats](https://pytorch.org/docs/2.11/generated/torch.cuda.memory.reset_accumulated_host_memory_stats.html)|torch_npu.npu.reset_accumulated_host_memory_stats|是|-| | 85 | |[torch.cuda.reset_accumulated_host_memory_stats](https://pytorch.org/docs/2.11/generated/torch.cuda.memory.reset_accumulated_host_memory_stats.html)|torch_npu.npu.reset_accumulated_host_memory_stats|是|-| |
| 86 | |[torch.cuda.reset_peak_host_memory_stats](https://pytorch.org/docs/2.11/generated/torch.cuda.memory.reset_peak_host_memory_stats.html)| torch_npu.npu.reset_peak_host_memory_stats|是|-| | 86 | |[torch.cuda.reset_peak_host_memory_stats](https://pytorch.org/docs/2.11/generated/torch.cuda.memory.reset_peak_host_memory_stats.html)| torch_npu.npu.reset_peak_host_memory_stats|是|-| |
| @@ -79,8 +79,8 @@ | |||
| 79 | |[torch.cuda.caching_allocator_alloc](https://pytorch.org/docs/2.12/generated/torch.cuda.memory.caching_allocator_alloc.html)|torch_npu.npu.caching_allocator_alloc|是|-| | 79 | |[torch.cuda.caching_allocator_alloc](https://pytorch.org/docs/2.12/generated/torch.cuda.memory.caching_allocator_alloc.html)|torch_npu.npu.caching_allocator_alloc|是|-| |
| 80 | |[torch.cuda.caching_allocator_delete](https://pytorch.org/docs/2.12/generated/torch.cuda.memory.caching_allocator_delete.html)|torch_npu.npu.caching_allocator_delete|是|-| | 80 | |[torch.cuda.caching_allocator_delete](https://pytorch.org/docs/2.12/generated/torch.cuda.memory.caching_allocator_delete.html)|torch_npu.npu.caching_allocator_delete|是|-| |
| 81 | |[torch.cuda.get_allocator_backend](https://pytorch.org/docs/2.12/generated/torch.cuda.memory.get_allocator_backend.html)|torch_npu.npu.get_allocator_backend|是|-| | 81 | |[torch.cuda.get_allocator_backend](https://pytorch.org/docs/2.12/generated/torch.cuda.memory.get_allocator_backend.html)|torch_npu.npu.get_allocator_backend|是|-| |
| 82 | -|[torch.cuda.CUDAPluggableAllocator](https://pytorch.org/docs/2.12/generated/torch.cuda.memory.CUDAPluggableAllocator.html)|torch_npu.npu.NPUPluggableAllocator|是|该接口涉及高危操作,使用请参考《Ascend Extension for PyTorch 自定义 API参考》中的“[torch_npu.npu.NPUPluggableAllocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-NPUPluggableAllocator.md)”章节。| | 82 | +|[torch.cuda.CUDAPluggableAllocator](https://pytorch.org/docs/2.12/generated/torch.cuda.memory.CUDAPluggableAllocator.html)|torch_npu.npu.NPUPluggableAllocator|是|该接口涉及高危操作,使用请参考《自定义API》中的“[torch_npu.npu.NPUPluggableAllocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-NPUPluggableAllocator.md)”章节。| |
| 83 | -|[torch.cuda.change_current_allocator](https://pytorch.org/docs/2.12/generated/torch.cuda.memory.change_current_allocator.html)|torch_npu.npu.change_current_allocator|是|该接口涉及高危操作,使用请参考《Ascend Extension for PyTorch 自定义 API参考》中的“[torch_npu.npu.change_current_allocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-change_current_allocator.md)”章节。| | 83 | +|[torch.cuda.change_current_allocator](https://pytorch.org/docs/2.12/generated/torch.cuda.memory.change_current_allocator.html)|torch_npu.npu.change_current_allocator|是|该接口涉及高危操作,使用请参考《自定义API》中的“[torch_npu.npu.change_current_allocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-change_current_allocator.md)”章节。| |
| 84 | |[torch.cuda._sanitizer.enable_cuda_sanitizer](https://pytorch.org/docs/2.12/cuda._sanitizer.html#torch.cuda._sanitizer.enable_cuda_sanitizer)|torch_npu.npu._sanitizer.enable_npu_sanitizer|是|-| | 84 | |[torch.cuda._sanitizer.enable_cuda_sanitizer](https://pytorch.org/docs/2.12/cuda._sanitizer.html#torch.cuda._sanitizer.enable_cuda_sanitizer)|torch_npu.npu._sanitizer.enable_npu_sanitizer|是|-| |
| 85 | |[torch.cuda.reset_accumulated_host_memory_stats](https://pytorch.org/docs/2.12/generated/torch.cuda.memory.reset_accumulated_host_memory_stats.html)|torch_npu.npu.reset_accumulated_host_memory_stats|是|-| | 85 | |[torch.cuda.reset_accumulated_host_memory_stats](https://pytorch.org/docs/2.12/generated/torch.cuda.memory.reset_accumulated_host_memory_stats.html)|torch_npu.npu.reset_accumulated_host_memory_stats|是|-| |
| 86 | |[torch.cuda.reset_peak_host_memory_stats](https://pytorch.org/docs/2.12/generated/torch.cuda.memory.reset_peak_host_memory_stats.html)| torch_npu.npu.reset_peak_host_memory_stats|是|-| | 86 | |[torch.cuda.reset_peak_host_memory_stats](https://pytorch.org/docs/2.12/generated/torch.cuda.memory.reset_peak_host_memory_stats.html)| torch_npu.npu.reset_peak_host_memory_stats|是|-| |
| @@ -79,8 +79,8 @@ | |||
| 79 | |[torch.cuda.caching_allocator_alloc](https://pytorch.org/docs/2.7/cuda.html#torch.cuda.caching_allocator_alloc)|torch_npu.npu.caching_allocator_alloc|是|-| | 79 | |[torch.cuda.caching_allocator_alloc](https://pytorch.org/docs/2.7/cuda.html#torch.cuda.caching_allocator_alloc)|torch_npu.npu.caching_allocator_alloc|是|-| |
| 80 | |[torch.cuda.caching_allocator_delete](https://pytorch.org/docs/2.7/cuda.html#torch.cuda.caching_allocator_delete)|torch_npu.npu.caching_allocator_delete|是|-| | 80 | |[torch.cuda.caching_allocator_delete](https://pytorch.org/docs/2.7/cuda.html#torch.cuda.caching_allocator_delete)|torch_npu.npu.caching_allocator_delete|是|-| |
| 81 | |[torch.cuda.get_allocator_backend](https://pytorch.org/docs/2.7/cuda.html#torch.cuda.get_allocator_backend)|torch_npu.npu.get_allocator_backend|是|-| | 81 | |[torch.cuda.get_allocator_backend](https://pytorch.org/docs/2.7/cuda.html#torch.cuda.get_allocator_backend)|torch_npu.npu.get_allocator_backend|是|-| |
| 82 | -|[torch.cuda.CUDAPluggableAllocator](https://pytorch.org/docs/2.7/cuda.html#torch.cuda.CUDAPluggableAllocator)|torch_npu.npu.NPUPluggableAllocator|是|该接口涉及高危操作,使用请参考《Ascend Extension for PyTorch 自定义API参考》中的“[torch_npu.npu.NPUPluggableAllocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-NPUPluggableAllocator.md)”章节。| | 82 | +|[torch.cuda.CUDAPluggableAllocator](https://pytorch.org/docs/2.7/cuda.html#torch.cuda.CUDAPluggableAllocator)|torch_npu.npu.NPUPluggableAllocator|是|该接口涉及高危操作,使用请参考《自定义API》中的“[torch_npu.npu.NPUPluggableAllocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-NPUPluggableAllocator.md)”章节。| |
| 83 | -|[torch.cuda.change_current_allocator](https://pytorch.org/docs/2.7/cuda.html#torch.cuda.change_current_allocator)|torch_npu.npu.change_current_allocator|是|该接口涉及高危操作,使用请参考《Ascend Extension for PyTorch 自定义API参考》中的“[torch_npu.npu.change_current_allocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-change_current_allocator.md)”章节。| | 83 | +|[torch.cuda.change_current_allocator](https://pytorch.org/docs/2.7/cuda.html#torch.cuda.change_current_allocator)|torch_npu.npu.change_current_allocator|是|该接口涉及高危操作,使用请参考《自定义API》中的“[torch_npu.npu.change_current_allocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-change_current_allocator.md)”章节。| |
| 84 | |[torch.cuda._sanitizer.enable_cuda_sanitizer](https://pytorch.org/docs/2.7/cuda._sanitizer.html#torch.cuda._sanitizer.enable_cuda_sanitizer)|torch_npu.npu._sanitizer.enable_npu_sanitizer|是|-| | 84 | |[torch.cuda._sanitizer.enable_cuda_sanitizer](https://pytorch.org/docs/2.7/cuda._sanitizer.html#torch.cuda._sanitizer.enable_cuda_sanitizer)|torch_npu.npu._sanitizer.enable_npu_sanitizer|是|-| |
| 85 | |[torch.cuda.reset_peak_host_memory_stats](https://pytorch.org/docs/2.7/cuda.html#torch.cuda.reset_peak_host_memory_stats)|torch_npu.npu.reset_peak_host_memory_stats|是|-| | 85 | |[torch.cuda.reset_peak_host_memory_stats](https://pytorch.org/docs/2.7/cuda.html#torch.cuda.reset_peak_host_memory_stats)|torch_npu.npu.reset_peak_host_memory_stats|是|-| |
| 86 | |[torch.cuda.host_memory_stats](https://pytorch.org/docs/2.7/cuda.html#torch.cuda.host_memory_stats)|torch_npu.npu.host_memory_stats|是|-| | 86 | |[torch.cuda.host_memory_stats](https://pytorch.org/docs/2.7/cuda.html#torch.cuda.host_memory_stats)|torch_npu.npu.host_memory_stats|是|-| |
| @@ -79,8 +79,8 @@ | |||
| 79 | |[torch.cuda.caching_allocator_alloc](https://pytorch.org/docs/2.9/generated/torch.cuda.memory.caching_allocator_alloc.html)|torch_npu.npu.caching_allocator_alloc|是|-| | 79 | |[torch.cuda.caching_allocator_alloc](https://pytorch.org/docs/2.9/generated/torch.cuda.memory.caching_allocator_alloc.html)|torch_npu.npu.caching_allocator_alloc|是|-| |
| 80 | |[torch.cuda.caching_allocator_delete](https://pytorch.org/docs/2.9/generated/torch.cuda.memory.caching_allocator_delete.html)|torch_npu.npu.caching_allocator_delete|是|-| | 80 | |[torch.cuda.caching_allocator_delete](https://pytorch.org/docs/2.9/generated/torch.cuda.memory.caching_allocator_delete.html)|torch_npu.npu.caching_allocator_delete|是|-| |
| 81 | |[torch.cuda.get_allocator_backend](https://pytorch.org/docs/2.9/generated/torch.cuda.memory.get_allocator_backend.html)|torch_npu.npu.get_allocator_backend|是|-| | 81 | |[torch.cuda.get_allocator_backend](https://pytorch.org/docs/2.9/generated/torch.cuda.memory.get_allocator_backend.html)|torch_npu.npu.get_allocator_backend|是|-| |
| 82 | -|[torch.cuda.CUDAPluggableAllocator](https://pytorch.org/docs/2.9/generated/torch.cuda.memory.CUDAPluggableAllocator.html)|torch_npu.npu.NPUPluggableAllocator|是|该接口涉及高危操作,使用请参考《Ascend Extension for PyTorch 自定义 API参考》中的“[torch_npu.npu.NPUPluggableAllocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-NPUPluggableAllocator.md)”章节。| | 82 | +|[torch.cuda.CUDAPluggableAllocator](https://pytorch.org/docs/2.9/generated/torch.cuda.memory.CUDAPluggableAllocator.html)|torch_npu.npu.NPUPluggableAllocator|是|该接口涉及高危操作,使用请参考《自定义API》中的“[torch_npu.npu.NPUPluggableAllocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-NPUPluggableAllocator.md)”章节。| |
| 83 | -|[torch.cuda.change_current_allocator](https://pytorch.org/docs/2.9/generated/torch.cuda.memory.change_current_allocator.html)|torch_npu.npu.change_current_allocator|是|该接口涉及高危操作,使用请参考《Ascend Extension for PyTorch 自定义 API参考》中的“[torch_npu.npu.change_current_allocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-change_current_allocator.md)”章节。| | 83 | +|[torch.cuda.change_current_allocator](https://pytorch.org/docs/2.9/generated/torch.cuda.memory.change_current_allocator.html)|torch_npu.npu.change_current_allocator|是|该接口涉及高危操作,使用请参考《自定义API》中的“[torch_npu.npu.change_current_allocator](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/torch_npu-npu/torch-npu-npu-change_current_allocator.md)”章节。| |
| 84 | |[torch.cuda._sanitizer.enable_cuda_sanitizer](https://pytorch.org/docs/2.9/cuda._sanitizer.html#torch.cuda._sanitizer.enable_cuda_sanitizer)|torch_npu.npu._sanitizer.enable_npu_sanitizer|是|-| | 84 | |[torch.cuda._sanitizer.enable_cuda_sanitizer](https://pytorch.org/docs/2.9/cuda._sanitizer.html#torch.cuda._sanitizer.enable_cuda_sanitizer)|torch_npu.npu._sanitizer.enable_npu_sanitizer|是|-| |
| 85 | |[torch.cuda.reset_accumulated_host_memory_stats](https://pytorch.org/docs/2.9/generated/torch.cuda.memory.reset_accumulated_host_memory_stats.html)|torch_npu.npu.reset_accumulated_host_memory_stats|是|-| | 85 | |[torch.cuda.reset_accumulated_host_memory_stats](https://pytorch.org/docs/2.9/generated/torch.cuda.memory.reset_accumulated_host_memory_stats.html)|torch_npu.npu.reset_accumulated_host_memory_stats|是|-| |
| 86 | |[torch.cuda.reset_peak_host_memory_stats](https://pytorch.org/docs/2.9/generated/torch.cuda.memory.reset_peak_host_memory_stats.html)| torch_npu.npu.reset_peak_host_memory_stats|是|-| | 86 | |[torch.cuda.reset_peak_host_memory_stats](https://pytorch.org/docs/2.9/generated/torch.cuda.memory.reset_peak_host_memory_stats.html)| torch_npu.npu.reset_peak_host_memory_stats|是|-| |
| @@ -1,10 +1,10 @@ | |||
| 1 | -# Ascend Extension for PyTorch概述 | 1 | +# TorchNPU概述 |
| 2 | 2 | ||
| 3 | -Ascend Extension for PyTorch(即torch_npu插件)是基于昇腾的深度学习适配框架,使昇腾NPU可以支持PyTorch框架,为PyTorch框架的使用者提供昇腾AI处理器的超强算力。torch_npu插件采用**设备适配**的实现方案,将昇腾NPU作为新的后端设备注册到PyTorch的Device抽象层中,使其与CPU、CUDA等设备类型并列。开发者只需在代码中将设备指定为NPU,PyTorch原生的算子分发机制即可自动将计算任务路由到NPU侧执行,无需修改模型结构和训练逻辑。 | 3 | +TorchNPU插件是基于昇腾的深度学习适配框架,使昇腾NPU可以支持PyTorch框架,为PyTorch框架的使用者提供昇腾AI处理器的超强算力。TorchNPU插件采用**设备适配**的实现方案,将昇腾NPU作为新的后端设备注册到PyTorch的Device抽象层中,使其与CPU、CUDA等设备类型并列。开发者只需在代码中将设备指定为NPU,PyTorch原生的算子分发机制即可自动将计算任务路由到NPU侧执行,无需修改模型结构和训练逻辑。 |
| 4 | 4 | ||
| 5 | -torch_npu插件位于PyTorch上层API与底层昇腾CANN(异构计算架构)软件栈之间,向上承载PyTorch框架的全部特性(动态图、自动微分、Profiling等),向下对接CANN的ACL(Ascend Compute Language)运行时、算子库及HCCL集合通信库,完成从PyTorch算子到NPU可执行内核的完整映射。 | 5 | +TorchNPU插件位于PyTorch上层API与底层昇腾CANN(异构计算架构)软件栈之间,向上承载PyTorch框架的全部特性(动态图、自动微分、Profiling等),向下对接CANN的ACL(Ascend Compute Language)运行时、算子库及HCCL集合通信库,完成从PyTorch算子到NPU可执行内核的完整映射。 |
| 6 | 6 | ||
| 7 | -torch_npu插件在设计上最大限度继承了PyTorch框架的原生特性,开发者几乎无需改变原有的开发习惯和代码风格: | 7 | +TorchNPU插件在设计上最大限度继承了PyTorch框架的原生特性,开发者几乎无需改变原有的开发习惯和代码风格: |
| 8 | 8 | ||
| 9 | - **接口一致**:使用与原生PyTorch完全相同的Python API,仅需将张量和模型从`.cuda()`替换为`.npu()`,即可完成设备迁移。 | 9 | - **接口一致**:使用与原生PyTorch完全相同的Python API,仅需将张量和模型从`.cuda()`替换为`.npu()`,即可完成设备迁移。 |
| 10 | - **执行模式一致**:同时支持Eager Mode(动态图单算子执行,默认模式)和Graph Mode(`torch.compile`编译执行),与原生PyTorch的使用方式保持一致。 | 10 | - **执行模式一致**:同时支持Eager Mode(动态图单算子执行,默认模式)和Graph Mode(`torch.compile`编译执行),与原生PyTorch的使用方式保持一致。 |
| @@ -15,20 +15,20 @@ torch_npu插件在设计上最大限度继承了PyTorch框架的原生特性, | |||
| 15 | 15 | ||
| 16 | ## 软件架构 | 16 | ## 软件架构 |
| 17 | 17 | ||
| 18 | -torch_npu插件采用**C++/Python双层架构**,C++层以`torch_npu._C`扩展模块的形式提供底层能力,Python层在其上构建面向用户的完整API和功能集。整体自上而下分为以下层次: | 18 | +TorchNPU插件采用**C++/Python双层架构**,C++层以`torch_npu._C`扩展模块的形式提供底层能力,Python层在其上构建面向用户的完整API和功能集。整体自上而下分为以下层次: |
| 19 | 19 | ||
| 20 | | 层次 | 构成 | 说明 | | 20 | | 层次 | 构成 | 说明 | |
| 21 | |------|------|------| | 21 | |------|------|------| |
| 22 | | **应用层** | 用户模型代码 | 开发者使用标准PyTorch API编写的模型训练/推理代码 | | 22 | | **应用层** | 用户模型代码 | 开发者使用标准PyTorch API编写的模型训练/推理代码 | |
| 23 | | **PyTorch框架层** | PyTorch Core | 开源PyTorch核心框架,提供autograd自动微分、nn.Module、优化器、DataLoader、Dispatcher算子分发等基础设施 | | 23 | | **PyTorch框架层** | PyTorch Core | 开源PyTorch核心框架,提供autograd自动微分、nn.Module、优化器、DataLoader、Dispatcher算子分发等基础设施 | |
| 24 | -| **torch_npu适配层(Python)** | torch_npu Python包 | 面向用户的Python API层,包含初始化框架、NPU设备接口、图编译后端、分布式训练、Profiling等模块 | | 24 | +| **TorchNPU适配层(Python)** | TorchNPU Python包 | 面向用户的Python API层,包含初始化框架、NPU设备接口、图编译后端、分布式训练、Profiling等模块 | |
| 25 | -| **torch_npu适配层(C++)** | `torch_npu._C`扩展模块 | 通过PyBind11绑定的C++核心,包含张量基础设施、内存分配器、算子执行框架、HCCL通信、Inductor后端等底层实现 | | 25 | +| **TorchNPU适配层(C++)** | `torch_npu._C`扩展模块 | 通过PyBind11绑定的C++核心,包含张量基础设施、内存分配器、算子执行框架、HCCL通信、Inductor后端等底层实现 | |
| 26 | | **计算库层** | CANN软件栈 | 昇腾异构计算架构,提供ACL运行时、GE图引擎、AICPU/TBE/AI Core算子库、HCCL集合通信库等 | | 26 | | **计算库层** | CANN软件栈 | 昇腾异构计算架构,提供ACL运行时、GE图引擎、AICPU/TBE/AI Core算子库、HCCL集合通信库等 | |
| 27 | | **硬件层** | 昇腾NPU处理器 | 昇腾AI处理器硬件,集成AI Core、AI CPU、Vector Core等异构计算单元及HCCS高速互联 | | 27 | | **硬件层** | 昇腾NPU处理器 | 昇腾AI处理器硬件,集成AI Core、AI CPU、Vector Core等异构计算单元及HCCS高速互联 | |
| 28 | 28 | ||
| 29 | ## 初始化流程 | 29 | ## 初始化流程 |
| 30 | 30 | ||
| 31 | -torch_npu插件的启动遵循严格的6阶段初始化顺序,确保各模块按依赖关系正确加载和初始化,实现PyTorch和昇腾NPU的无缝集成: | 31 | +TorchNPU插件的启动遵循严格的6阶段初始化顺序,确保各模块按依赖关系正确加载和初始化,实现PyTorch和昇腾NPU的无缝集成: |
| 32 | 32 | ||
| 33 |  | 33 |  |
| 34 | 34 | ||
| @@ -63,4 +63,4 @@ Graph Mode通过`torch.compile()`一键开启,Dynamo前端将Eager代码即时 | |||
| 63 | 63 | ||
| 64 | ## 更多介绍 | 64 | ## 更多介绍 |
| 65 | 65 | ||
| 66 | -关于Ascend Extension for PyTorch的更多介绍,可参见在线课程:[Ascend Extension for PyTorch](https://www.hiascend.com/edu/courses?activeTab=Ascend+Extension+for+PyTorch)。 | 66 | +关于TorchNPU的更多介绍,可参见在线课程:[TorchNPU](https://www.hiascend.com/edu/courses?activeTab=Ascend+Extension+for+PyTorch)。 |
| @@ -7,7 +7,7 @@ | |||
| 7 | - 安装配套版本的NPU驱动固件、CANN软件(Toolkit、ops和NNAL),具体请参考《[CANN 软件安装](https://www.hiascend.com/document/detail/zh/canncommercial/900/softwareinst/instg/instg_0000.html?OS=openEuler&InstallType=netyum)》(商用版)或《[CANN 软件安装](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/900/softwareinst/instg/instg_0000.html?OS=openEuler&InstallType=netyum)》(社区版): | 7 | - 安装配套版本的NPU驱动固件、CANN软件(Toolkit、ops和NNAL),具体请参考《[CANN 软件安装](https://www.hiascend.com/document/detail/zh/canncommercial/900/softwareinst/instg/instg_0000.html?OS=openEuler&InstallType=netyum)》(商用版)或《[CANN 软件安装](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/900/softwareinst/instg/instg_0000.html?OS=openEuler&InstallType=netyum)》(社区版): |
| 8 | - 操作系统:选择可用的操作系统(兼容性请参考[兼容性查询助手](https://www.hiascend.com/hardware/compatibility)) | 8 | - 操作系统:选择可用的操作系统(兼容性请参考[兼容性查询助手](https://www.hiascend.com/hardware/compatibility)) |
| 9 | - 安装类型:选择“离线安装” | 9 | - 安装类型:选择“离线安装” |
| 10 | -- 安装PyTorch框架及torch\_npu插件,具体请参考《[Ascend Extension for PyTorch 软件安装指南](../installation_guide/installation_description.md)》。 | 10 | +- 安装PyTorch框架及TorchNPU插件,具体请参考《[软件安装](../installation_guide/installation_description.md)》。 |
| 11 | 11 | ||
| 12 | ## 模型迁移训练 | 12 | ## 模型迁移训练 |
| 13 | 13 | ||
| @@ -34,9 +34,9 @@ | |||
| 34 | 34 | ||
| 35 | ### 相关产品版本配套说明 | 35 | ### 相关产品版本配套说明 |
| 36 | 36 | ||
| 37 | -Ascend Extension for PyTorch代码分支名称采用 **\{PyTorch版本\}-\{昇腾版本\}** 的命名规则,前者为Ascend Extension for PyTorch匹配的PyTorch版本,后者为Ascend Extension for PyTorch版本,详细匹配如下表: | 37 | +TorchNPU代码分支名称采用 **\{PyTorch版本\}-\{昇腾版本\}** 的命名规则,前者为TorchNPU匹配的PyTorch版本,后者为TorchNPU版本,详细匹配如下表: |
| 38 | 38 | ||
| 39 | -|CANN版本|PyTorch版本|Ascend Extension for PyTorch版本|Ascend Extension for PyTorch代码分支名称|Ascend Extension for PyTorch安装包版本|Python版本| | 39 | +|CANN版本|PyTorch版本|TorchNPU版本|TorchNPU代码分支名称|TorchNPU安装包版本|Python版本| |
| 40 | |--|--|--|--|--|--| | 40 | |--|--|--|--|--|--| |
| 41 | |商用版:9.0.0<br>社区版:9.0.0|2.7.1|26.0.0|v2.7.1-26.0.0|2.7.1.post4|Python3.9.*x*、Python3.10.*x*、Python3.11.*x*、Python3.12.*x*、Python3.13.*x*| | 41 | |商用版:9.0.0<br>社区版:9.0.0|2.7.1|26.0.0|v2.7.1-26.0.0|2.7.1.post4|Python3.9.*x*、Python3.10.*x*、Python3.11.*x*、Python3.12.*x*、Python3.13.*x*| |
| 42 | |商用版:9.0.0<br>社区版:9.0.0|2.8.0|26.0.0|v2.8.0-26.0.0|2.8.0.post4|Python3.9.*x*、Python3.10.*x*、Python3.11.*x*、Python3.12.*x*、Python3.13.*x*| | 42 | |商用版:9.0.0<br>社区版:9.0.0|2.8.0|26.0.0|v2.8.0-26.0.0|2.8.0.post4|Python3.9.*x*、Python3.10.*x*、Python3.11.*x*、Python3.12.*x*、Python3.13.*x*| |
| @@ -45,7 +45,7 @@ Ascend Extension for PyTorch代码分支名称采用 **\{PyTorch版本\}-\{昇 | |||
| 45 | 45 | ||
| 46 | ## 版本兼容性说明 | 46 | ## 版本兼容性说明 |
| 47 | 47 | ||
| 48 | -|Ascend Extension for PyTorch版本|CANN版本|网上相关产品版本兼容性| | 48 | +|TorchNPU版本|CANN版本|网上相关产品版本兼容性| |
| 49 | |--|--|--| | 49 | |--|--|--| |
| 50 | |26.0.0|CANN 9.0.0<br>CANN 8.5.0<br>CANN 8.3.RC1<br>CANN 8.2.RC1<br>CANN 8.1.RC1|-| | 50 | |26.0.0|CANN 9.0.0<br>CANN 8.5.0<br>CANN 8.3.RC1<br>CANN 8.2.RC1<br>CANN 8.1.RC1|-| |
| 51 | |7.3.0|CANN 8.5.0<br>CANN 8.3.RC1<br>CANN 8.2.RC1<br>CANN 8.1.RC1<br>CANN 8.0.0|Driving SDK 7.3.0兼容CANN 8.1.RC1、CANN 8.2.RC1、CANN 8.3.RC1、CANN 8.5.0| | 51 | |7.3.0|CANN 8.5.0<br>CANN 8.3.RC1<br>CANN 8.2.RC1<br>CANN 8.1.RC1<br>CANN 8.0.0|Driving SDK 7.3.0兼容CANN 8.1.RC1、CANN 8.2.RC1、CANN 8.3.RC1、CANN 8.5.0| |
| @@ -106,7 +106,7 @@ Ascend Extension for PyTorch代码分支名称采用 **\{PyTorch版本\}-\{昇 | |||
| 106 | - 废弃:表示该接口自作出废弃声明的版本起停止演进,且在声明一年后可能被移除。 | 106 | - 废弃:表示该接口自作出废弃声明的版本起停止演进,且在声明一年后可能被移除。 |
| 107 | - 删除:表示该接口在此次版本被移除。 | 107 | - 删除:表示该接口在此次版本被移除。 |
| 108 | 108 | ||
| 109 | -**表 1** Ascend Extension for PyTorch接口变更汇总 | 109 | +**表 1** TorchNPU接口变更汇总 |
| 110 | 110 | ||
| 111 | <table> | 111 | <table> |
| 112 | <thead align="left"> | 112 | <thead align="left"> |
| @@ -244,7 +244,7 @@ Ascend Extension for PyTorch代码分支名称采用 **\{PyTorch版本\}-\{昇 | |||
| 244 | </table> | 244 | </table> |
| 245 | 245 | ||
| 246 | > [!NOTE] | 246 | > [!NOTE] |
| 247 | -> Ascend Extension for PyTorch新增部分API支持及特性支持,具体可参考《[Ascend Extension for PyTorch 自定义API参考](https://gitcode.com/Ascend/op-plugin/blob/master/docs/zh/custom_APIs/overview.md)》或《[PyTorch 原生API支持度](../native_apis/pytorch_2-10-0/overview.md)》。 | 247 | +> TorchNPU新增部分API支持及特性支持,具体可参考《[自定义API](https://gitcode.com/Ascend/op-plugin/blob/master/docs/zh/custom_APIs/overview.md)》或《[原生API](../native_apis/pytorch_2-10-0/overview.md)》。 |
| 248 | 248 | ||
| 249 | ### 已解决问题 | 249 | ### 已解决问题 |
| 250 | 250 | ||
| @@ -6,11 +6,11 @@ | |||
| 6 | 6 | ||
| 7 | |组件|地址| | 7 | |组件|地址| |
| 8 | |:---|:---| | 8 | |:---|:---| |
| 9 | -|Ascend Extension for PyTorch|v2.7.1分支请参考《[安全声明](https://gitcode.com/Ascend/pytorch/blob/v2.7.1-26.1.0/docs/zh/SECURITYNOTE.md)》。| | 9 | +|TorchNPU|v2.7.1分支请参考《[安全声明](https://gitcode.com/Ascend/pytorch/blob/v2.7.1-26.1.0/docs/zh/SECURITYNOTE.md)》。| |
| 10 | -|Ascend Extension for PyTorch|v2.9.0分支请参考《[安全声明](https://gitcode.com/Ascend/pytorch/blob/v2.9.0-26.1.0/SECURITYNOTE.md)》。| | 10 | +|TorchNPU|v2.9.0分支请参考《[安全声明](https://gitcode.com/Ascend/pytorch/blob/v2.9.0-26.1.0/SECURITYNOTE.md)》。| |
| 11 | -|Ascend Extension for PyTorch|v2.10.0分支请参考《[安全声明](https://gitcode.com/Ascend/pytorch/blob/v2.10.0-26.1.0/SECURITYNOTE.md)》。| | 11 | +|TorchNPU|v2.10.0分支请参考《[安全声明](https://gitcode.com/Ascend/pytorch/blob/v2.10.0-26.1.0/SECURITYNOTE.md)》。| |
| 12 | -|Ascend Extension for PyTorch|v2.11.0分支请参考《[安全声明](https://gitcode.com/Ascend/pytorch/blob/v2.11.0-26.1.0/SECURITYNOTE.md)》。| | 12 | +|TorchNPU|v2.11.0分支请参考《[安全声明](https://gitcode.com/Ascend/pytorch/blob/v2.11.0-26.1.0/SECURITYNOTE.md)》。| |
| 13 | -|Ascend Extension for PyTorch|v2.12.0分支请参考《[安全声明](https://gitcode.com/Ascend/pytorch/blob/v2.12.0-26.1.0/SECURITYNOTE.md)》。| | 13 | +|TorchNPU|v2.12.0分支请参考《[安全声明](https://gitcode.com/Ascend/pytorch/blob/v2.12.0-26.1.0/SECURITYNOTE.md)》。| |
| 14 | |OpPlugin|请参考《[安全声明](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/SECURITYNOTE.md)》。| | 14 | |OpPlugin|请参考《[安全声明](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/SECURITYNOTE.md)》。| |
| 15 | |TorchAir|请参考《[安全声明](https://gitcode.com/Ascend/torchair/blob/26.1.0/SECURITY_README.md)》。| | 15 | |TorchAir|请参考《[安全声明](https://gitcode.com/Ascend/torchair/blob/26.1.0/SECURITY_README.md)》。| |
| 16 | |Ascend Extension for TensorPipe|请参考《[安全声明](https://gitcode.com/Ascend/Tensorpipe/blob/master/docs/zh/SECURITYNOTE.md)》。| | 16 | |Ascend Extension for TensorPipe|请参考《[安全声明](https://gitcode.com/Ascend/Tensorpipe/blob/master/docs/zh/SECURITYNOTE.md)》。| |
| @@ -1 +1 @@ | |||
| 1 | -# 后端 | 1 | +# 编译后端 |
| @@ -1 +1 @@ | |||
| 1 | -# 前端(Dynamo) | 1 | +# Dynamo前端 |
| @@ -1,6 +1,6 @@ | |||
| 1 | # 概述 | 1 | # 概述 |
| 2 | 2 | ||
| 3 | -`torch.compile()`是PyTorch 2.0推出的核心编译接口,通过“动态图捕获+静态图优化+高效代码生成”的方式显著加速模型训练和推理任务。Ascend Extension for PyTorch 7.3.0版本开始支持`torch.compile()`功能,仅需一行代码即可自动实现前端图捕获和后端优化,适用于全自动编译的场景。 | 3 | +`torch.compile()`是PyTorch 2.0推出的核心编译接口,通过“动态图捕获+静态图优化+高效代码生成”的方式显著加速模型训练和推理任务。TorchNPU 7.3.0版本开始支持`torch.compile()`功能,仅需一行代码即可自动实现前端图捕获和后端优化,适用于全自动编译的场景。 |
| 4 | 4 | ||
| 5 | torch.compile包含如下核心组件: | 5 | torch.compile包含如下核心组件: |
| 6 | 6 | ||
| @@ -251,4 +251,4 @@ compiled = torch.compile( | |||
| 251 | ## 约束说明 | 251 | ## 约束说明 |
| 252 | 252 | ||
| 253 | - PyTorch版本:必须为2.9.0及以上版本。 | 253 | - PyTorch版本:必须为2.9.0及以上版本。 |
| 254 | -- torch_npu版本:必须安装与PyTorch版本配套的版本,具体请参考[版本说明](https://gitcode.com/Ascend/pytorch/blob/v2.7.1-26.1.0/docs/zh/release_notes/release_notes.md#%E7%9B%B8%E5%85%B3%E4%BA%A7%E5%93%81%E7%89%88%E6%9C%AC%E9%85%8D%E5%A5%97%E8%AF%B4%E6%98%8E)。 | 254 | +- TorchNPU版本:必须安装与PyTorch版本配套的版本,具体请参考[版本说明](https://gitcode.com/Ascend/pytorch/blob/v2.7.1-26.1.0/docs/zh/release_notes/release_notes.md#%E7%9B%B8%E5%85%B3%E4%BA%A7%E5%93%81%E7%89%88%E6%9C%AC%E9%85%8D%E5%A5%97%E8%AF%B4%E6%98%8E)。 |
| @@ -21,7 +21,7 @@ NPUGraph_EX后端适用于大模型推理场景,通过图优化和缓存复用 | |||
| 21 | compiled_model = torch.compile(model, backend="npugraph_ex") | 21 | compiled_model = torch.compile(model, backend="npugraph_ex") |
| 22 | ``` | 22 | ``` |
| 23 | 23 | ||
| 24 | -NPUGraph_EX支持的编译选项(`options`参数)和详细使用指导请参考《PyTorch图模式使用(TorchAir)》中的 [npugraph_ex后端](https://gitcode.com/Ascend/torchair/blob/26.1.0/docs/zh/npugraph_ex/npugraph_ex.md)。 | 24 | +NPUGraph_EX支持的编译选项(`options`参数)和详细使用指导请参考《TorchAir》中的 [npugraph_ex后端](https://gitcode.com/Ascend/torchair/blob/26.1.0/docs/zh/npugraph_ex/npugraph_ex.md)。 |
| 25 | 25 | ||
| 26 | ## 调用样例 | 26 | ## 调用样例 |
| 27 | 27 | ||
| @@ -3,7 +3,7 @@ | |||
| 3 | 回显信息通常比较多,许多组件都会在屏幕上进行错误信息的输出,可以大致分为如下几类: | 3 | 回显信息通常比较多,许多组件都会在屏幕上进行错误信息的输出,可以大致分为如下几类: |
| 4 | 4 | ||
| 5 | - Python调用栈和异常信息 | 5 | - Python调用栈和异常信息 |
| 6 | -- torch\_npu错误码 | 6 | +- TorchNPU错误码 |
| 7 | - CANN软件错误码 | 7 | - CANN软件错误码 |
| 8 | - 原生框架报错信息 | 8 | - 原生框架报错信息 |
| 9 | 9 | ||
| @@ -14,13 +14,13 @@ Python报错时,会将当时的堆栈打印在屏幕上,用户可通过搜 | |||
| 14 | **图 1** 查看Python应用程序的堆栈信息<a id="查看Python应用程序的堆栈信息"></a> | 14 | **图 1** 查看Python应用程序的堆栈信息<a id="查看Python应用程序的堆栈信息"></a> |
| 15 |  | 15 |  |
| 16 | 16 | ||
| 17 | -如上回显信息示例中,用户可以看到最后的调用栈在torch\_npu的`set_autocast_enabled`接口上,一般情况下您可以到[昇腾社区](https://gitcode.com/Ascend/pytorch/issues)提交issue获取帮助。 | 17 | +如上回显信息示例中,用户可以看到最后的调用栈在TorchNPU的`set_autocast_enabled`接口上,一般情况下您可以到[昇腾社区](https://gitcode.com/Ascend/pytorch/issues)提交issue获取帮助。 |
| 18 | 18 | ||
| 19 | 若最后的调用栈在原生torch上,则可以顺着堆栈向上找与昇腾相关的堆栈,若整个堆栈没有昇腾相关的堆栈,则排查模型训练脚本本身是否有问题。 | 19 | 若最后的调用栈在原生torch上,则可以顺着堆栈向上找与昇腾相关的堆栈,若整个堆栈没有昇腾相关的堆栈,则排查模型训练脚本本身是否有问题。 |
| 20 | 20 | ||
| 21 | -## torch\_npu错误码 | 21 | +## TorchNPU错误码 |
| 22 | 22 | ||
| 23 | -在模型训练过程中,打印的错误码信息可能因场景、模式、故障原因的不同而有所区别。因此,需要结合具体的报错信息以及plog日志等共同定位,torch\_npu错误码相关详细介绍可参见[Error Code介绍](error_codes_introduction.md)。 | 23 | +在模型训练过程中,打印的错误码信息可能因场景、模式、故障原因的不同而有所区别。因此,需要结合具体的报错信息以及plog日志等共同定位,TorchNPU错误码相关详细介绍可参见[Error Code介绍](error_codes_introduction.md)。 |
| 24 | 24 | ||
| 25 | 错误码在回显中的表示形式为: | 25 | 错误码在回显中的表示形式为: |
| 26 | 26 | ||
| @@ -34,7 +34,7 @@ Python报错时,会将当时的堆栈打印在屏幕上,用户可通过搜 | |||
| 34 | 34 | ||
| 35 | E10035: \[PID: _xxxxxx_\] _时间戳_ The \[--dynamic\_batch\_size\], \[--dynamic\_image\_size\], or \[--dynamic\_dims\] argument has \[%s\] profiles, which is less than the minimum \[%s\]. | 35 | E10035: \[PID: _xxxxxx_\] _时间戳_ The \[--dynamic\_batch\_size\], \[--dynamic\_image\_size\], or \[--dynamic\_dims\] argument has \[%s\] profiles, which is less than the minimum \[%s\]. |
| 36 | 36 | ||
| 37 | -如[图2](#CANN软件错误码回显示例)所示,既有Python调用栈错误,又有torch\_npu错误码(ERR00100)以及CANN软件错误码(EZ3002)。用户可以从如下示例中看到CANN软件错误码在最前端,因此主要关注其报错信息。从报错信息中可以看到存在不支持的算子,一般情况下您可以获取日志后单击[Link](https://www.hiascend.com/support)联系技术支持。 | 37 | +如[图2](#CANN软件错误码回显示例)所示,既有Python调用栈错误,又有TorchNPU错误码(ERR00100)以及CANN软件错误码(EZ3002)。用户可以从如下示例中看到CANN软件错误码在最前端,因此主要关注其报错信息。从报错信息中可以看到存在不支持的算子,一般情况下您可以获取日志后单击[Link](https://www.hiascend.com/support)联系技术支持。 |
| 38 | 38 | ||
| 39 | **图 2** CANN软件错误码回显示例<a id="CANN软件错误码回显示例"></a> | 39 | **图 2** CANN软件错误码回显示例<a id="CANN软件错误码回显示例"></a> |
| 40 |  | 40 |  |
| @@ -32,15 +32,15 @@ | |||
| 32 | 32 | ||
| 33 | 屏幕中显示先调用`torch_npu.npu.synchronize()`,继而调用`torch_npu._C._npu_synchronize()`失败。异常信息显示报错时正在运行的算子是ReduceAny,可据此找到对应异常组件,如果没有明确错误指向,需继续查看后续调用。 | 33 | 屏幕中显示先调用`torch_npu.npu.synchronize()`,继而调用`torch_npu._C._npu_synchronize()`失败。异常信息显示报错时正在运行的算子是ReduceAny,可据此找到对应异常组件,如果没有明确错误指向,需继续查看后续调用。 |
| 34 | 34 | ||
| 35 | -3. 查看torch\_npu错误码。 | 35 | +3. 查看TorchNPU错误码。 |
| 36 | 36 | ||
| 37 | ```text | 37 | ```text |
| 38 | ERR00100 PTA call acl api failed | 38 | ERR00100 PTA call acl api failed |
| 39 | ``` | 39 | ``` |
| 40 | 40 | ||
| 41 | - “ERR00100”即为torch\_npu错误码,如果有明确错误指向,可根据具体故障原因排除故障。 | 41 | + “ERR00100”即为TorchNPU错误码,如果有明确错误指向,可根据具体故障原因排除故障。 |
| 42 | 42 | ||
| 43 | -4. 另外,此处表明torch\_npu调用底层接口报错,还可以查看plog日志,根据日志中的首报错分析故障原因。 | 43 | +4. 另外,此处表明TorchNPU调用底层接口报错,还可以查看plog日志,根据日志中的首报错分析故障原因。 |
| 44 | 44 | ||
| 45 | **图 4** plog日志中查找报错组件 | 45 | **图 4** plog日志中查找报错组件 |
| 46 |  | 46 |  |
| @@ -1,6 +1,6 @@ | |||
| 1 | # 报错信息分析说明 | 1 | # 报错信息分析说明 |
| 2 | 2 | ||
| 3 | -用户在模型训练异常时可能遇到较多的错误信息,包括Python调用栈和异常信息、原生框架报错信息、torch\_npu错误码、CANN软件错误码以及plog日志等,本节主要对定位错误来源进行分析指导。 | 3 | +用户在模型训练异常时可能遇到较多的错误信息,包括Python调用栈和异常信息、原生框架报错信息、TorchNPU错误码、CANN软件错误码以及plog日志等,本节主要对定位错误来源进行分析指导。 |
| 4 | 4 | ||
| 5 | > [!NOTE] | 5 | > [!NOTE] |
| 6 | > | 6 | > |
| @@ -8,9 +8,9 @@ | |||
| 8 | 8 | ||
| 9 | 昇腾NPU内部支持两种张量数据排布格式:ND(N-Dimensional)是标准的多维排布格式,与PyTorch原生格式一致,通用性好;NZ(Z-order)是一种分形排布格式,将数据按16×16的小块重新组织,能提升部分算子的访存效率,常用于网络调优场景。 | 9 | 昇腾NPU内部支持两种张量数据排布格式:ND(N-Dimensional)是标准的多维排布格式,与PyTorch原生格式一致,通用性好;NZ(Z-order)是一种分形排布格式,将数据按16×16的小块重新组织,能提升部分算子的访存效率,常用于网络调优场景。 |
| 10 | 10 | ||
| 11 | -用户代码中存在NZ格式的tensor输入。在未启用`torch.npu.config.allow_internal_format`开关(默认值`False`)时,torch_npu会隐式地将NZ格式转换为ND格式后再进行计算,用户使用上无感知。 | 11 | +用户代码中存在NZ格式的tensor输入。在未启用`torch.npu.config.allow_internal_format`开关(默认值`False`)时,TorchNPU会隐式地将NZ格式转换为ND格式后再进行计算,用户使用上无感知。 |
| 12 | 12 | ||
| 13 | -开启`torch.npu.config.allow_internal_format`开关后,torch_npu不再进行隐式格式转换,NZ格式的tensor直接参与算子计算。由于部分算子在NZ格式下的计算路径与ND格式存在数值差异,导致最终结果精度异常。 | 13 | +开启`torch.npu.config.allow_internal_format`开关后,TorchNPU不再进行隐式格式转换,NZ格式的tensor直接参与算子计算。由于部分算子在NZ格式下的计算路径与ND格式存在数值差异,导致最终结果精度异常。 |
| 14 | 14 | ||
| 15 | ## 解决措施 | 15 | ## 解决措施 |
| 16 | 16 | ||
| @@ -5,7 +5,7 @@ | |||
| 5 | **图 1** 应用类日志 | 5 | **图 1** 应用类日志 |
| 6 |  | 6 |  |
| 7 | 7 | ||
| 8 | -其中,plog日志可在“$HOME/ascend/log/debug/plog”下查看,如下图所示。该路径下存放了Host侧运行应用程序产生的调试日志,主要包括compiler中各组件(如GE、FE、AI CPU、TBE、HCCL等)、Runtime中各组件(如AscendCL、GE、Runtime等)、AI框架(如torch\_npu)和Driver用户态日志。 | 8 | +其中,plog日志可在“$HOME/ascend/log/debug/plog”下查看,如下图所示。该路径下存放了Host侧运行应用程序产生的调试日志,主要包括compiler中各组件(如GE、FE、AI CPU、TBE、HCCL等)、Runtime中各组件(如AscendCL、GE、Runtime等)、AI框架(如TorchNPU)和Driver用户态日志。 |
| 9 | 9 | ||
| 10 | **图 2** 获取plog日志 | 10 | **图 2** 获取plog日志 |
| 11 |  | 11 |  |
| @@ -1,6 +1,6 @@ | |||
| 1 | # 主要进程与线程说明 | 1 | # 主要进程与线程说明 |
| 2 | 2 | ||
| 3 | -本文档帮助用户在运行torch及torch_npu训练或推理任务时,快速识别和理解系统中出现的各类进程与线程。当用户需要排查性能瓶颈、诊断异常进程/线程、了解系统资源占用情况或评估程序行为是否符合预期时,可通过本文档查询各进程/线程的归属、触发条件与生命周期。 | 3 | +本文档帮助用户在运行torch及TorchNPU训练或推理任务时,快速识别和理解系统中出现的各类进程与线程。当用户需要排查性能瓶颈、诊断异常进程/线程、了解系统资源占用情况或评估程序行为是否符合预期时,可通过本文档查询各进程/线程的归属、触发条件与生命周期。 |
| 4 | 4 | ||
| 5 | 基于CANN构建AI应用过程中CANN自身启动的进程/线程请参考《[CANN 环境变量参考](https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0001.html)》。 | 5 | 基于CANN构建AI应用过程中CANN自身启动的进程/线程请参考《[CANN 环境变量参考](https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/envvar/envref_07_0001.html)》。 |
| 6 | 6 | ||
| @@ -8,16 +8,16 @@ | |||
| 8 | 8 | ||
| 9 | 进程与线程分为两类: | 9 | 进程与线程分为两类: |
| 10 | 10 | ||
| 11 | -- **必然启动的进程与线程**:只要运行torch及torch_npu程序即会出现,无需额外特性开关或调用特定API。 | 11 | +- **必然启动的进程与线程**:只要运行torch及TorchNPU程序即会出现,无需额外特性开关或调用特定API。 |
| 12 | - **条件触发的进程与线程**:仅在调用特定API或启用特定功能时才会出现。 | 12 | - **条件触发的进程与线程**:仅在调用特定API或启用特定功能时才会出现。 |
| 13 | 13 | ||
| 14 | **表 1** 必然启动的进程/线程 | 14 | **表 1** 必然启动的进程/线程 |
| 15 | 15 | ||
| 16 | | 进程/线程类型 | 进程/线程名称 | 归属 | 简介 | | 16 | | 进程/线程类型 | 进程/线程名称 | 归属 | 简介 | |
| 17 | |---|---|---|---| | 17 | |---|---|---|---| |
| 18 | -| Python主进程 | python3 | 用户/torch | 用户Python脚本的主进程,承载所有PyTorch/torch_npu运行时。程序启动时创建。 | | 18 | +| Python主进程 | python3 | 用户/torch | 用户Python脚本的主进程,承载所有PyTorch/TorchNPU运行时。程序启动时创建。 | |
| 19 | | intra-op线程池 | python3(与主线程同名) | torch | 算子内部并行计算线程池(矩阵乘法、卷积等CPU后端操作),可通过 `torch.set_num_threads(n)` 控制。import torch时创建,默认64线程。torchrun场景下自动设置 `OMP_NUM_THREADS=1`,线程池缩减为1。 | | 19 | | intra-op线程池 | python3(与主线程同名) | torch | 算子内部并行计算线程池(矩阵乘法、卷积等CPU后端操作),可通过 `torch.set_num_threads(n)` 控制。import torch时创建,默认64线程。torchrun场景下自动设置 `OMP_NUM_THREADS=1`,线程池缩减为1。 | |
| 20 | -| CANN初始化线程 | AtraceMonitor | CANN | Ascend Trace监控线程,管理ATrace数据采集生命周期。因torch_npu通过 `TORCH_DEVICE_BACKEND_AUTOLOAD` 自动加载,import torch即触发CANN初始化。 | | 20 | +| CANN初始化线程 | AtraceMonitor | CANN | Ascend Trace监控线程,管理ATrace数据采集生命周期。因TorchNPU通过 `TORCH_DEVICE_BACKEND_AUTOLOAD` 自动加载,import torch即触发CANN初始化。 | |
| 21 | | CANN初始化线程 | WatchdogMonitor | CANN | ACL Runtime看门狗线程,检测运行时异常(超时、hang)。import torch时创建。 | | 21 | | CANN初始化线程 | WatchdogMonitor | CANN | ACL Runtime看门狗线程,检测运行时异常(超时、hang)。import torch时创建。 | |
| 22 | | CANN初始化线程 | PlogFlush | CANN | Plog日志异步刷盘线程,import torch时创建。可通过 `ASCEND_GLOBAL_LOG_LEVEL` 控制日志级别。 | | 22 | | CANN初始化线程 | PlogFlush | CANN | Plog日志异步刷盘线程,import torch时创建。可通过 `ASCEND_GLOBAL_LOG_LEVEL` 控制日志级别。 | |
| 23 | | ACL Runtime线程 | adx_data_dump_t | CANN | 调试数据dump线程。set_device时创建,每个设备一个。 | | 23 | | ACL Runtime线程 | adx_data_dump_t | CANN | 调试数据dump线程。set_device时创建,每个设备一个。 | |
| @@ -26,8 +26,8 @@ | |||
| 26 | | ACL Runtime线程 | MONITOR_0 | CANN | 设备监控线程,监控设备健康状态、温度、功耗。线程名中数字对应设备编号,每个NPU一个。set_device时创建。 | | 26 | | ACL Runtime线程 | MONITOR_0 | CANN | 设备监控线程,监控设备健康状态、温度、功耗。线程名中数字对应设备编号,每个NPU一个。set_device时创建。 | |
| 27 | | ACL Runtime线程 | REPORT_RAS | CANN | RAS硬件可靠性事件上报线程。set_device时创建。 | | 27 | | ACL Runtime线程 | REPORT_RAS | CANN | RAS硬件可靠性事件上报线程。set_device时创建。 | |
| 28 | | ACL Runtime线程 | RT_RECYCLE | CANN | Runtime资源异步回收线程。set_device时创建。 | | 28 | | ACL Runtime线程 | RT_RECYCLE | CANN | Runtime资源异步回收线程。set_device时创建。 | |
| 29 | -| TaskQueue线程 | acl_thread | torch_npu | 二级流水TaskQueue的consumer线程,从host侧取task下发到NPU,每个设备一个。首次计算时创建。与环境变量 `TASK_QUEUE_ENABLE` 配合使用。 | | 29 | +| TaskQueue线程 | acl_thread | TorchNPU | 二级流水TaskQueue的consumer线程,从host侧取task下发到NPU,每个设备一个。首次计算时创建。与环境变量 `TASK_QUEUE_ENABLE` 配合使用。 | |
| 30 | -| TaskQueue线程 | release_thread | torch_npu | 与acl_thread配对,异步释放acl_thread中存放的event/tensor资源。首次计算时创建。 | | 30 | +| TaskQueue线程 | release_thread | TorchNPU | 与acl_thread配对,异步释放acl_thread中存放的event/tensor资源。首次计算时创建。 | |
| 31 | | 算子编译线程 | AOE_RTKB | CANN | AOE Runtime Knowledge Base线程池(8线程),算子tiling策略搜索与缓存。非标量算子(如fp16 addmm)经aclop路径首次编译时创建;简单标量算子(如标量加法)不触发。 | | 31 | | 算子编译线程 | AOE_RTKB | CANN | AOE Runtime Knowledge Base线程池(8线程),算子tiling策略搜索与缓存。非标量算子(如fp16 addmm)经aclop路径首次编译时创建;简单标量算子(如标量加法)不触发。 | |
| 32 | 32 | ||
| 33 | **表 2** 条件触发的进程/线程 | 33 | **表 2** 条件触发的进程/线程 |
| @@ -35,30 +35,30 @@ | |||
| 35 | | 功能场景 | 进程/线程名称 | 归属 | 简介 | | 35 | | 功能场景 | 进程/线程名称 | 归属 | 简介 | |
| 36 | |---|---|---|---| | 36 | |---|---|---|---| |
| 37 | | DataLoader | pt_data_worker(子进程) | torch | worker子进程,数据预加载与预处理。OS进程名 `pt_data_worker`,`DataLoader(num_workers>0)` 时创建。 | | 37 | | DataLoader | pt_data_worker(子进程) | torch | worker子进程,数据预加载与预处理。OS进程名 `pt_data_worker`,`DataLoader(num_workers>0)` 时创建。 | |
| 38 | -| DataLoader | pt_data_pin(线程) | torch (torch_npu适配) | pin_memory线程,锁定数据页到物理内存,加速CPU→NPU传输。OS线程名 `pt_data_pin`,Python线程名 `_pin_memory_loop`。`DataLoader(pin_memory=True)` 时创建。 | | 38 | +| DataLoader | pt_data_pin(线程) | torch (TorchNPU适配) | pin_memory线程,锁定数据页到物理内存,加速CPU→NPU传输。OS线程名 `pt_data_pin`,Python线程名 `_pin_memory_loop`。`DataLoader(pin_memory=True)` 时创建。 | |
| 39 | | 多卡训练 | torchrun子进程 | torch | 每个NPU一个独立训练子进程(OS名 `python3`)。torchrun自动设 `OMP_NUM_THREADS=1`,intra-op线程池缩减。 | | 39 | | 多卡训练 | torchrun子进程 | torch | 每个NPU一个独立训练子进程(OS名 `python3`)。torchrun自动设 `OMP_NUM_THREADS=1`,intra-op线程池缩减。 | |
| 40 | -| 多卡训练 | hccl_watchdog_t | torch_npu | HCCL通信看门狗,检测通信超时或进程挂起。`init_process_group(backend='hccl')` 时创建,每rank一个。 | | 40 | +| 多卡训练 | hccl_watchdog_t | TorchNPU | HCCL通信看门狗,检测通信超时或进程挂起。`init_process_group(backend='hccl')` 时创建,每rank一个。 | |
| 41 | | 多卡训练 | pt_tcpstore_uv | torch | TCPStore后台通信线程(libuv),TCP事件循环和进程间键值同步。分布式init时创建。 | | 41 | | 多卡训练 | pt_tcpstore_uv | torch | TCPStore后台通信线程(libuv),TCP事件循环和进程间键值同步。分布式init时创建。 | |
| 42 | -| 多卡训练 | Hccl_HeartBeat | torch_npu | HCCL心跳监控线程,独立于watchdog。首次集合通信时创建,每rank一个。 | | 42 | +| 多卡训练 | Hccl_HeartBeat | TorchNPU | HCCL心跳监控线程,独立于watchdog。首次集合通信时创建,每rank一个。 | |
| 43 | | 多卡训练 | HcclIntra_0 | CANN | HCCL节点内通信线程。首次集合通信时创建。 | | 43 | | 多卡训练 | HcclIntra_0 | CANN | HCCL节点内通信线程。首次集合通信时创建。 | |
| 44 | | 多卡训练 | hccp_epoll | CANN | HCCL通信epoll事件循环线程。首次集合通信时创建。 | | 44 | | 多卡训练 | hccp_epoll | CANN | HCCL通信epoll事件循环线程。首次集合通信时创建。 | |
| 45 | | 多卡训练 | hccp_connect | CANN | HCCL通信连接建立线程。首次集合通信时创建,连接建立后即刻销毁(短生命周期)。 | | 45 | | 多卡训练 | hccp_connect | CANN | HCCL通信连接建立线程。首次集合通信时创建,连接建立后即刻销毁(短生命周期)。 | |
| 46 | | 多卡训练 | Hccl_TopoDetect | CANN | HCCL拓扑检测线程。HCCL通信超时期间创建,用于检测集群拓扑连接状态。短生命周期。 | | 46 | | 多卡训练 | Hccl_TopoDetect | CANN | HCCL拓扑检测线程。HCCL通信超时期间创建,用于检测集群拓扑连接状态。短生命周期。 | |
| 47 | -| 多卡训练 | CaffeTaskThread(×5) | torch_npu | NPUEventManager线程池(5线程),NPU Event异步销毁和管理。大量Event操作或首次集合通信时触发。 | | 47 | +| 多卡训练 | CaffeTaskThread(×5) | TorchNPU | NPUEventManager线程池(5线程),NPU Event异步销毁和管理。大量Event操作或首次集合通信时触发。 | |
| 48 | | 反向传播 | pt_autograd_0~7(×8) | torch | Autograd反向传播引擎线程池(8线程)。首次 `loss.backward()` 或 `torch.compile()` 时懒初始化,创建后永久驻留。 | | 48 | | 反向传播 | pt_autograd_0~7(×8) | torch | Autograd反向传播引擎线程池(8线程)。首次 `loss.backward()` 或 `torch.compile()` 时懒初始化,创建后永久驻留。 | |
| 49 | | torch.compile | ThreadPoolExecutor(×128) | torch | Inductor异步编译线程池(Python `ThreadPoolExecutor`,128线程),并行处理kernel编译。首次编译时创建,不回收。线程名 `ThreadPoolExecutor-0_*`。 | | 49 | | torch.compile | ThreadPoolExecutor(×128) | torch | Inductor异步编译线程池(Python `ThreadPoolExecutor`,128线程),并行处理kernel编译。首次编译时创建,不回收。线程名 `ThreadPoolExecutor-0_*`。 | |
| 50 | | torch.compile | AsyncCompile子进程(×32) | torch | Inductor编译worker子进程池(32进程),OS进程名 `python3`,命令行 `torch._inductor.compile_worker`。fork自父进程,需 `ps aux` 查看命令行确认。 | | 50 | | torch.compile | AsyncCompile子进程(×32) | torch | Inductor编译worker子进程池(32进程),OS进程名 `python3`,命令行 `torch._inductor.compile_worker`。fork自父进程,需 `ps aux` 查看命令行确认。 | |
| 51 | | torch.compile | TuningProcess子进程 | torch | Kernel参数自动调优子进程。max-autotune模式下触发,编译完成后不回收。 | | 51 | | torch.compile | TuningProcess子进程 | torch | Kernel参数自动调优子进程。max-autotune模式下触发,编译完成后不回收。 | |
| 52 | | 算子编译 | AOE_RTKB(×8) | CANN | aclop路径TBE算子编译复用此线程池,不启动独立TBE编译子进程。 | | 52 | | 算子编译 | AOE_RTKB(×8) | CANN | aclop路径TBE算子编译复用此线程池,不启动独立TBE编译子进程。 | |
| 53 | | inter-op线程池 | python3(线程数增加) | torch | 算子间并行执行线程池(懒初始化)。ONNX导出、torch.compile等首次触发inter-op并行时创建,创建后不回收。默认256线程。 | | 53 | | inter-op线程池 | python3(线程数增加) | torch | 算子间并行执行线程池(懒初始化)。ONNX导出、torch.compile等首次触发inter-op并行时创建,创建后不回收。默认256线程。 | |
| 54 | -| Profiling | NPUProfiler | torch_npu | Profiler主控线程。profiling期间创建,结束后回收。 | | 54 | +| Profiling | NPUProfiler | TorchNPU | Profiler主控线程。profiling期间创建,结束后回收。 | |
| 55 | | Profiling | MSVP_ProfTask / MSVP_Dev_\* / MSVP_Upld_\* / MSVP_ChanPool_0~7 | CANN (msprof) | msprof数据采集线程组:设备数据采集、上传、通道管理。profiling期间创建,结束后全部回收。 | | 55 | | Profiling | MSVP_ProfTask / MSVP_Dev_\* / MSVP_Upld_\* / MSVP_ChanPool_0~7 | CANN (msprof) | msprof数据采集线程组:设备数据采集、上传、通道管理。profiling期间创建,结束后全部回收。 | |
| 56 | -| Profiling | Profiling解析子进程 | torch_npu | profiling结束后通过 `subprocess.run` 调用 `msprof --export` / `msprof --analyze` 解析数据。 | | 56 | +| Profiling | Profiling解析子进程 | TorchNPU | profiling结束后通过 `subprocess.run` 调用 `msprof --export` / `msprof --analyze` 解析数据。 | |
| 57 | -| Profiling | DynamicProfilerMonitor子进程 | torch_npu | 动态Profiler后台监控daemon子进程。设置 `DynamicProfilerUtils.CFG_CONFIG_PATH` 后启动。 | | 57 | +| Profiling | DynamicProfilerMonitor子进程 | TorchNPU | 动态Profiler后台监控daemon子进程。设置 `DynamicProfilerUtils.CFG_CONFIG_PATH` 后启动。 | |
| 58 | -| 静默故障检测 | _async_detect / _tcp_comm_checksum_state | torch_npu | ASD检测线程(daemon):`_async_detect`(梯度异常检测)、`_tcp_comm_checksum_state`(分布式checksum)。OS级显示为 `python3`,需Python `threading.enumerate()` 查看。 | | 58 | +| 静默故障检测 | _async_detect / _tcp_comm_checksum_state | TorchNPU | ASD检测线程(daemon):`_async_detect`(梯度异常检测)、`_tcp_comm_checksum_state`(分布式checksum)。OS级显示为 `python3`,需Python `threading.enumerate()` 查看。 | |
| 59 | | 多进程 | mp.spawn子进程 | torch | PyTorch多进程,每子进程为独立Python进程,拥有完整torch/CANN线程结构(77线程:`python3×66` + ACL Runtime×9 + `acl_thread` + `release_thread`)。`mp.spawn()` 时创建。 | | 59 | | 多进程 | mp.spawn子进程 | torch | PyTorch多进程,每子进程为独立Python进程,拥有完整torch/CANN线程结构(77线程:`python3×66` + ACL Runtime×9 + `acl_thread` + `release_thread`)。`mp.spawn()` 时创建。 | |
| 60 | -| 图模式 | NPUGraph | torch_npu / CANN | 图模式capture/replay。GE不创建独立命名线程,复用ACL Runtime线程。`make_graphed_callables` 会触发 `CaffeTaskThread`(×5)和 `pt_autograd_0~7`(×8),但非GE专属。 | | 60 | +| 图模式 | NPUGraph | TorchNPU / CANN | 图模式capture/replay。GE不创建独立命名线程,复用ACL Runtime线程。`make_graphed_callables` 会触发 `CaffeTaskThread`(×5)和 `pt_autograd_0~7`(×8),但非GE专属。 | |
| 61 | -| 多设备并行 | _worker(Python线程) | torch_npu | 多设备并行推理worker线程。Python `threading.enumerate()` 中名为 `_worker`,OS级为 `python3` 无区分。`_parallel_apply` 执行期间存在,执行完毕即join销毁。需 `threading.enumerate()` 高频采样捕获。 | | 61 | +| 多设备并行 | _worker(Python线程) | TorchNPU | 多设备并行推理worker线程。Python `threading.enumerate()` 中名为 `_worker`,OS级为 `python3` 无区分。`_parallel_apply` 执行期间存在,执行完毕即join销毁。需 `threading.enumerate()` 高频采样捕获。 | |
| 62 | 62 | ||
| 63 | ## 进程与线程查询方式汇总 | 63 | ## 进程与线程查询方式汇总 |
| 64 | 64 | ||
| @@ -149,19 +149,19 @@ torch.get_num_interop_threads() | |||
| 149 | | MONITOR_0 | CANN | set_device触发,永久驻留 | | 149 | | MONITOR_0 | CANN | set_device触发,永久驻留 | |
| 150 | | REPORT_RAS | CANN | set_device触发,永久驻留 | | 150 | | REPORT_RAS | CANN | set_device触发,永久驻留 | |
| 151 | | RT_RECYCLE | CANN | set_device触发,永久驻留 | | 151 | | RT_RECYCLE | CANN | set_device触发,永久驻留 | |
| 152 | -| acl_thread | torch_npu | 首次NPU计算触发,永久驻留 | | 152 | +| acl_thread | TorchNPU | 首次NPU计算触发,永久驻留 | |
| 153 | -| release_thread | torch_npu | 首次NPU计算触发,永久驻留 | | 153 | +| release_thread | TorchNPU | 首次NPU计算触发,永久驻留 | |
| 154 | | AOE_RTKB | CANN | 首次算子编译触发,永久驻留 | | 154 | | AOE_RTKB | CANN | 首次算子编译触发,永久驻留 | |
| 155 | | pt_data_worker | torch | DataLoader(num_workers>0)触发,随DataLoader生命周期 | | 155 | | pt_data_worker | torch | DataLoader(num_workers>0)触发,随DataLoader生命周期 | |
| 156 | | pt_data_pin | torch | DataLoader(pin_memory=True)触发,随DataLoader生命周期 | | 156 | | pt_data_pin | torch | DataLoader(pin_memory=True)触发,随DataLoader生命周期 | |
| 157 | -| hccl_watchdog_t | torch_npu | HCCL init触发,永久驻留 | | 157 | +| hccl_watchdog_t | TorchNPU | HCCL init触发,永久驻留 | |
| 158 | -| Hccl_HeartBeat | torch_npu | 首次集合通信触发,永久驻留 | | 158 | +| Hccl_HeartBeat | TorchNPU | 首次集合通信触发,永久驻留 | |
| 159 | | pt_tcpstore_uv | torch | 分布式init触发,永久驻留 | | 159 | | pt_tcpstore_uv | torch | 分布式init触发,永久驻留 | |
| 160 | | hccp_connect | CANN | HCCL通信建立时触发,连接建立后即刻销毁 | | 160 | | hccp_connect | CANN | HCCL通信建立时触发,连接建立后即刻销毁 | |
| 161 | | HcclIntra_0 | CANN | HCCL节点内通信触发,永久驻留 | | 161 | | HcclIntra_0 | CANN | HCCL节点内通信触发,永久驻留 | |
| 162 | | hccp_epoll | CANN | HCCL通信epoll触发,永久驻留 | | 162 | | hccp_epoll | CANN | HCCL通信epoll触发,永久驻留 | |
| 163 | | Hccl_TopoDetect | CANN | HCCL超时期间触发,检测结束后销毁 | | 163 | | Hccl_TopoDetect | CANN | HCCL超时期间触发,检测结束后销毁 | |
| 164 | -| CaffeTaskThread | torch_npu | Event大量操作或集合通信触发,永久驻留 | | 164 | +| CaffeTaskThread | TorchNPU | Event大量操作或集合通信触发,永久驻留 | |
| 165 | | pt_autograd_0~7 | torch | 反向传播或torch.compile触发,永久驻留 | | 165 | | pt_autograd_0~7 | torch | 反向传播或torch.compile触发,永久驻留 | |
| 166 | -| NPUProfiler | torch_npu | Profiling期间存在,结束后回收 | | 166 | +| NPUProfiler | TorchNPU | Profiling期间存在,结束后回收 | |
| 167 | | MSVP_\* | CANN (msprof) | Profiling期间存在,结束后回收 | | 167 | | MSVP_\* | CANN (msprof) | Profiling期间存在,结束后回收 | |
| @@ -11,7 +11,7 @@ | |||
| 11 | 11 | ||
| 12 | 关于CANN软件“错误码”的详细介绍,请参见《CANN 故障处理》的“[错误码参考](https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/troubleshooting/troubleshooting_0225.html)”章节。 | 12 | 关于CANN软件“错误码”的详细介绍,请参见《CANN 故障处理》的“[错误码参考](https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/troubleshooting/troubleshooting_0225.html)”章节。 |
| 13 | 13 | ||
| 14 | - 关于torch\_npu插件“错误码”的详细介绍,请参见[Error Code介绍](error_codes_introduction.md)。 | 14 | + 关于TorchNPU插件“错误码”的详细介绍,请参见[Error Code介绍](error_codes_introduction.md)。 |
| 15 | 15 | ||
| 16 | - 收集故障信息 | 16 | - 收集故障信息 |
| 17 | 17 | ||
| @@ -23,7 +23,7 @@ | |||
| 23 | 23 | ||
| 24 | 关于日志路径以及日志文件的详细介绍,请参见《CANN 日志参考》中的“[查看日志(Ascend EP)](https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/logreference/logreference_0002.html)”章节。 | 24 | 关于日志路径以及日志文件的详细介绍,请参见《CANN 日志参考》中的“[查看日志(Ascend EP)](https://www.hiascend.com/document/detail/zh/canncommercial/900/maintenref/logreference/logreference_0002.html)”章节。 |
| 25 | 25 | ||
| 26 | - 关于回显信息,Ascend Extension for PyTorch的告警信息默认正常打印,集群场景下告警信息会正常打印在首节点的屏幕上。 | 26 | + 关于回显信息,TorchNPU的告警信息默认正常打印,集群场景下告警信息会正常打印在首节点的屏幕上。 |
| 27 | 27 | ||
| 28 | 通过msnpureport工具将Device侧的系统日志传输到Host侧进行查看,具体请参见《[msnpureport工具使用](https://support.huawei.com/enterprise/zh/ascend-computing/atlas-800t-a2-pid-254184887?category=reference-guides)》。 | 28 | 通过msnpureport工具将Device侧的系统日志传输到Host侧进行查看,具体请参见《[msnpureport工具使用](https://support.huawei.com/enterprise/zh/ascend-computing/atlas-800t-a2-pid-254184887?category=reference-guides)》。 |
| 29 | 29 | ||
| @@ -21,4 +21,4 @@ RuntimeError: _copy_from_and_resize now only support copy with same size! | |||
| 21 | 21 | ||
| 22 | ## 解决措施 | 22 | ## 解决措施 |
| 23 | 23 | ||
| 24 | -如果只是触发告警无报错,在不考虑改善性能的情况下可不处理;其他情况,请改用torch其他可替换并支持的接口,具体可参考《[Ascend Extension for PyTorch 自定义API参考](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/overview.md)》或《[PyTorch 原生API支持度](../native_apis/pytorch_2-12-0/overview.md)》。 | 24 | +如果只是触发告警无报错,在不考虑改善性能的情况下可不处理;其他情况,请改用torch其他可替换并支持的接口,具体可参考《[自定义API](https://gitcode.com/Ascend/op-plugin/blob/26.1.0/docs/zh/custom_APIs/overview.md)》或《[原生API](../native_apis/pytorch_2-12-0/overview.md)》。 |


🟡 Medium Priority
diff 第 45 行将
all关键字的作用域说明从 "其余所有模块包含原生PyTorch和Ascend Extension for PyTorch新增模块" 改为 "其余所有模块包含原生TorchNPU新增模块"。证据链:
TORCH_NPU_LOGS.md第 45 行,原文 "原生PyTorch和Ascend Extension for PyTorch新增模块" → 新文 "原生TorchNPU新增模块"。-all仅影响 TorchNPU 模块的日志,无法理解为何原生 PyTorch 的日志也会被抑制。影响: 文档对
-all范围描述不准确,开发者可能误判日志过滤行为。建议:将 "原生TorchNPU新增模块" 改为 "原生PyTorch和TorchNPU新增模块",恢复丢失的 PyTorch 原生模块覆盖说明。