已开启
【API一致性任务】API 71:torch.autograd.grad_mode.set_multithreading_enabled.clone 支持情况验证 #463
shashasha123创建于  3 天前
shashasha123
3 天前 创建

关联任务

验证结果

目标 API 复制自动求导多线程上下文对象,并保留 mode。在 A2、A3 和 A5 环境中,聚焦断言均通过:False 和 True 模式返回同类 clone 对象,clone 保留 mode。脚本还检查原上下文对象 ctx 进入/退出后恢复原多线程状态;现有记录没有单独验证 with clone: 的状态恢复行为。

环境 Python PyTorch Torch-NPU NPU 结果
A2 3.11.15 2.10.0+cpu 2.10.0 1 张 910B3 聚焦断言通过,exit code 0
A3 3.11.15 2.10.0+cpu 2.10.0 2 张 Ascend910 聚焦断言通过,exit code 0
A5 3.11.15 2.7.1+cpu 2.7.1.post8 1 张 Ascend950PR 聚焦断言通过,exit code 0

官方用例与限制

参考 PyTorch v2.7.1 的 test/test_autograd.py::TestAutograd::test_set_multithreading_enabled_as_context_manager_and_function,该用例位于第 13293–13312 行,覆盖父接口的函数和上下文用法,没有直接断言 .clone()。

官方用例的现有运行记录如下:A3 因目标 test/test_autograd.py 文件缺失而未启动,exit code 2;A5 测试文件存在,但导入 autograd.test_complex 时因测试依赖缺失而失败,exit code 1;A2 证据包未收录官方用例的独立运行日志。以上不计为官方用例通过。三套环境通过的是本任务的独立聚焦断言。

复核命令为 python3.11 checks/api71.py,三套环境的关键输出均包含 PASS api71、两个 mode 的 clone 类型检查和 exit_code=0,对应截图见下方独立附件。

NPU 适配与文档

目标 API 管理自动求导的 Python 上下文状态和 clone 对象,不创建 NPU 张量,也不依赖设备特有算子;本次聚焦检查没有需要修改的 NPU 算子代码。

2026-10-10 复核 Ascend/pytorch master 的 native API 文档,在 2.7.1、2.9.0、2.10.0、2.11.0、2.12.0、2.13.0 和 2.14.0 的 torch-autograd.md 中找到父接口 torch.autograd.grad_mode.set_multithreading_enabled,未找到目标 .clone 的独立条目。例如:PyTorch 2.7.1 文档。父接口条目不能作为 .clone 已完成资料补齐的证据。该版本父接口文档对 Ascend 950DT 标为不支持,而本次 A5 实测设备为 Ascend950PR;本 Issue 仅记录此设备上的聚焦结果,不据此更改产品支持结论。

目标方法是否需要独立资料条目仍待确认;当前未提交文档 PR,也未确认资料补齐豁免。

验证截图

以下截图分别作为独立附件上传,记录各环境的版本、设备信息及聚焦检查输出。

A2 环境

A2 环境的 A2-api71.png 验证记录

下载 A2-api71.png 原始截图

A3 环境

A3 环境的 A3-api71.png 验证记录

下载 A3-api71.png 原始截图

A5 环境

A5 环境的 A5-api71.png 验证记录

下载 A5-api71.png 原始截图

验收说明

本 Issue 用于本任务验收材料审阅。审核结束并关闭后,将本 Issue 链接与 A2、A3、A5 截图打包,提交到对应的昇腾任务详情页。

likedislike
TorchNPU-BotTorchNPU-Bot
3 天前 添加了label:help-wantedevent: api-consistencybot-triaged
TorchNPU-Bot
TorchNPU-Bot
3 天前 评论:

检测到社区任务相关 issue,自动添加标签:event: api-consistency、help-wanted

likedislike