| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[refactor]dynamo: 接入上游 _dynamo_backend_init,删除 optimize monkey-patch Co-authored-by: pianyl<pianyaolong@huawei.com> # message auto-generated for no-merge-commit merge: !44586 merge npu_add_backend_init into master [refactor]dynamo: 接入上游 _dynamo_backend_init,删除 optimize monkey-patch Created-by: pianyl Commit-by: pianyl Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [x] 重构优化 - [ ] 资料更新 关联issue:https://gitcode.com/Ascend/pytorch/issues/3634 # 【修改方案】 - 上游 torch PR #192345(落 main commit pytorch/pytorch@9286a168)为 dynamo 后端新增 _dynamo_backend_init 协议:get_compiler_fn() 解析后端后、首次图捕获前触发;每次 resolution 均生效(含 fullgraph=True、force_backend、compiled_autograd 重建),要求后端幂等。首个包含该协议的版本为 torch 2.15。 - torch_npu 双轨接入,两个触发器在同一 torch 版本上互斥,版本差异收敛到 compat 层(新文件 torch_npu/_compat/dynamo.py): - torch_npu/_compat/dynamo.py(新增):版本隔离层,承载 _npu_backend_init()(幂等,_get_global_npu_backend 自带缓存)与两个门控入口:compat_attach_dynamo_backend_init()(>= 2.15 挂载 hook)与 compat_patch_dynamo_optimize()(< 2.15 装 optimize 包装器,带防重复保护)。版本门为模块内联 (2, 15)(release/2.14 不含该协议,main 在合入前已 bump 2.15.0a0),按仓库规范带 COMPAT(>= 2.15) 标记。 - torch_npu/dynamo/__init__.py:_register_backends 调用 compat 挂载。hook 仅在 torch >= 2.15 且 torchair 可用时挂到 _lazy_exec 与 _npu_backend_entrypoint 两个解析形态;< 2.15 完全不挂(互斥语义),eager fallback 亦不挂。 - torch_npu/utils/_dynamo.py:删除原 patch_dynamo_optimize(移入 compat 层),_lazy_dynamo_setup() 改调 compat_patch_dynamo_optimize()。torch < 2.15 monkey-patch 兜底行为不变;>= 2.15 no-op,由 hook 接管。 - test/dynamo/test_compile_trigger.py:inventory 断言按版本分支;新增 test_npu_backend_init_fires_before_first_call(fake torchair,双版本运行,分别看护 patch(< 2.15)与 hook(>= 2.15)路径,断言一致保证语义等价)与 test_npu_backend_eager_init_with_real_torchair(真实 torchair 端到端看护编译期初始化与运行正确性)。 - torch >= 2.15 相比 monkey-patch 的增强:直接调用 optimize_assert 的路径(export 类场景)、force_backend、compiled_autograd 重建路径均获得编译期 eager 初始化。 - 升配套 torch 2.15 后可另行清理:删除 patch 兜底与版本分支(compat 层已标 CAN REMOVE when MIN_SUPPORTED >= (2, 15))。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 UT测试通过 + 对比效果等价测试通过  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44586 | 25 天前 | |
[feat] deterministic_level: add graph-mode guard and EX scope API Co-authored-by: ChengLyric<licheng236@huawei.com> # message auto-generated for no-merge-commit merge: !41762 merge feature/deterministic-level-graph-mode into master [feat] deterministic_level: add graph-mode guard and EX scope API Created-by: Guanam2020 Commit-by: ChengLyric Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、新增 torch_npu.dynamo._deterministic_guard.install_npu_deterministic_level_guard()。在 Dynamo 的 TracingContext.guards_context.dynamo_guards 中注册 Lambda Guard。 2、新增 torch_npu._inductor.deterministic_cache,在 AscendC 编译 scope 内 patch。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 自验证ok # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41762 | 2 个月前 | |
feat: support dynamic task queue enable mode switching Co-authored-by: nomiz<1606135114@qq.com> # message auto-generated for no-merge-commit merge: !45296 merge task_queue_master into master feat: support dynamic task queue enable mode switching Created-by: nomiz Commit-by: nomiz Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> https://gitcode.com/Ascend/pytorch/issues/3678 # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) Python侧灵活控制taskqueue设置的能力,具体为: (1) 新增Python接口用户设置和获取taskqueue状态值(一个原子变量,默认-1),设置时需要清queue; (2) 在get_task_enable的公共接口中,先读取该全局变量的值,如果为非-1,则以该值的结果为准,不再从环境变量读取; (3) 环境变量的读取仍然是一次性的返回常量,保证默认状态下的性能 python # 设置模式 torch.npu.set_task_queue_enable(0) # 关闭 task queue torch.npu.set_task_queue_enable(1) # Level 1 优化 (默认) torch.npu.set_task_queue_enable(2) # Level 2 优化 (纯推理) # 查询当前模式 mode = torch.npu.get_task_queue_enable() # 返回 0/1/2 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 是,新增接口set_task_queue_enable和get_task_queue_enable # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ut测试验证结果  RL模型修改前后性能验证无劣化  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!45296 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 25 天前 | ||
| 2 个月前 | ||
| 1 个月前 |