| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 11 个月前 | ||
fx_optimal UT Test Co-authored-by: xudezheng<xudezheng1@huawei.com> # message auto-generated for no-merge-commit merge: !35572 merge fx_opt into v2.7.1 fx_optimal UT Test Created-by: crazyDannyBoy Commit-by: xudezheng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35572 | 3 个月前 | |
ut: add inductor a5 simt ut Co-authored-by: shenyixuan1<sheny1xuan@163.com> # message auto-generated for no-merge-commit merge: !31641 merge ut into v2.7.1 ut: add inductor a5 simt ut Created-by: stonexxx Commit-by: shenyixuan1 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!31641 | 5 个月前 | |
【inductor】Temporarily close some inductor ci tests, accelarate ci access control Co-authored-by: kkjocker<hexuanyu1@huawei.com> # message auto-generated for no-merge-commit merge: !30302 merge v2.7.1_main into v2.7.1 【inductor】Temporarily close some inductor ci tests, accelarate ci access control Created-by: kkjocker Commit-by: kkjocker Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!30302 | 6 个月前 | |
fix: defer ACLGraph update until after checkpoint Co-authored-by: luochao60<luochao60@huawei.com> # message auto-generated for no-merge-commit merge: !39072 merge Pynative_fix_aclgraph_update_checkpoint_20260623_2.7.1 into v2.7.1 fix: defer ACLGraph update until after checkpoint Created-by: luochao60 Commit-by: luochao60 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 > 关联 issue: #2469(https://gitcode.com/Ascend/pytorch/issues/2469) - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列 > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 调整 torch_npu/npu/_graph_tree.py 中 ACLGraph update 的 record 流程:在 capture 前只解析 aclgraph_update_plan 得到 CPU update payload,不再通过 list(inputs) 持有 recording private-pool Tensor;capture 后完成输出记录和 checkpoint 相关流程,并在 ACLGraph update 前校验 graph dispatch records,避免 checkpoint 前引入 update_stream 相关 event。 2. 保持 run 路径的执行语义:先根据 new_inputs resolve update payload,再更新 ACLGraph records,随后执行输入 copy 与 graph replay;update payload 为 CPU 侧参数,不依赖 replay 输入数据 copy 后的内容。 3. 收敛 torch_npu/npu/_aclgraph_update_plan/resolver.py 内部接口:update_aclgraph_records_for_graph 只接收已解析的 cpu_update_input 和 graph,删除冗余的 prepare_aclgraph_update_input_for_graph / submit_aclgraph_update_input_for_graph 导出。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写"不涉及" 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写"不涉及" 不涉及客户面接口变更;仅调整 torch_npu.npu._aclgraph_update_plan 私有模块内部函数组织。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤 > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已在各版本 fix 分支执行基础静态验证: bash python -m py_compile torch_npu/npu/_aclgraph_update_plan/resolver.py torch_npu/npu/_aclgraph_update_plan/__init__.py torch_npu/npu/_graph_tree.py git diff --check HEAD^ HEAD -- torch_npu/npu/_aclgraph_update_plan/resolver.py torch_npu/npu/_aclgraph_update_plan/__init__.py torch_npu/npu/_graph_tree.py grep -R -n "prepare_aclgraph_update_input_for_graph\|submit_aclgraph_update_input_for_graph" torch_npu/npu/_aclgraph_update_plan torch_npu/npu/_graph_tree.py --exclude-dir=__pycache__ # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39072 | 1 个月前 | |
fix_registrations Co-authored-by: 1479518308<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !37965 merge v2.7.1 into v2.7.1 fix_registrations Created-by: cuiduo Commit-by: 1479518308 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 >原本patch功能在  >中已有实现,删除patch可正常跑通测试用例 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > ci验证通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37965 | 2 个月前 | |
add_npu_backend_init_log Co-authored-by: 1479518308<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !39399 merge v2.7.1 into v2.7.1 add_npu_backend_init_log Created-by: cuiduo Commit-by: 1479518308 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 修复dvm后端stream报错的问题,增加使用后端提示信息 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > UT已通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39399 | 1 个月前 | |
add_triton_warning Co-authored-by: 1479518308<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !39028 merge v2.7.1 into v2.7.1 add_triton_warning Created-by: cuiduo Commit-by: 1479518308 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 社区用例https://codehub-y.huawei.com/c00502729/PTA_56_testing/issues/656解决,删除相关patch >torch_npu_inductor处新增警告信息,triton缺失 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 本地验证通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39028 | 1 个月前 | |
[inductor] Add akg backend ut. Co-authored-by: huawuyi<liuxuehui4@huawei.com> # message auto-generated for no-merge-commit merge: !38256 merge v2.7.1 into v2.7.1 [inductor] Add akg backend ut. Created-by: huawuyi Commit-by: huawuyi Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/1962 - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 1、添加了akg后端的ci用例 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38256 | 1 个月前 | |
run_once_fix Co-authored-by: 1479518308<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !38394 merge v2.7.1 into v2.7.1 run_once_fix Created-by: cuiduo Commit-by: 1479518308 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > run_once在inductor目录下有多处不同的定义,但实现功能是一致的,进行整理 # 【资料变更】 >不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 已通过UT # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38394 | 1 个月前 | |
[Inductor] fix AOTI update_constant_buffer bug Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !41494 merge v2.7.1-tmp into v2.7.1 [Inductor] fix AOTI update_constant_buffer bug Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/2826?ref=&did=4160764#tid-4160764 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. fix bug of update constant buffer, use auto-detected for memcpy # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 CI PASS # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41494 | 1 个月前 | |
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
【inductor】fix thread pool when inductor is imported Co-authored-by: kkjocker<hexuanyu1@huawei.com> # message auto-generated for no-merge-commit merge: !30476 merge v2.7.1_main into v2.7.1 【inductor】fix thread pool when inductor is imported Created-by: kkjocker Commit-by: kkjocker Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 问题:导入 inductor 时会调用 warm_pool 并创建多个线程; 修复:在导入 torch_npu 时禁用多线程创建,仅在真正使用 inductor 时才预热线程池。 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > inductor ci用例通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!30476 | 6 个月前 | |
[fix][inductor]fix aten.any/prod codegen issue Co-authored-by: zhudada0120<zhuguanda@huawei.com> # message auto-generated for no-merge-commit merge: !31661 merge v2.7.1-any into v2.7.1 [fix][inductor]fix aten.any/prod codegen issue Created-by: zhudada Commit-by: zhudada0120 Merged-by: ascend-robot Description: ## 【合入来源】 - [x] 问题单 ## 背景 aten.any、aten.prod在 Inductor codegen阶段会生成错误的triton DSL tl.any、tl.prod,正确的DSL应该是triton_helpers.any、triton_helpers.prod,本PR目的是为了修复这两个算子的codegen bug  拿aten.any用例举例: python import torch from torch.testing._internal.common_utils import run_tests, parametrize, instantiate_parametrized_tests from testutils import TestUtils class TestAnyProdCodegen(TestUtils): @parametrize('shape', [(16, 32, 64)]) @parametrize('dtype', ['int32']) def test_aten_any(self, shape, dtype): def op_calc(first_element): x = first_element + 1 return torch.ops.aten.any(x) input_element = self._generate_tensor(shape, dtype) std_ret = op_calc(input_element) compiled_op_calc = torch.compile(op_calc, backend="inductor", dynamic=False) inductor_ret = compiled_op_calc(input_element) self.assertEqual(std_ret, inductor_ret) @parametrize('shape', [(16, 32, 64)]) @parametrize('dim', [0, 1, -1]) @parametrize('dtype', ['int32']) def test_aten_any_dim(self, shape, dtype, dim): def op_calc(first_element): x = first_element + 1 return torch.ops.aten.any(x, dim=dim) input_element = self._generate_tensor(shape, dtype) std_ret = op_calc(input_element) compiled_op_calc = torch.compile(op_calc, backend="inductor", dynamic=False) inductor_ret = compiled_op_calc(input_element) self.assertEqual(std_ret, inductor_ret) instantiate_parametrized_tests(TestAnyProdCodegen) if __name__ == "__main__": run_tests() 错误日志片段如下: bash AttributeError: module 'triton.language' has no attribute 'any' aten.prod也有同样的问题: bash AttributeError: module 'triton.language' has no attribute 'prod' ## 目标 - aten.any、aten.prod可以生成正确的triton DSL代码 ## 修复方案 文件:torch_npu/_inductor/codegen/triton.py - 改动点:NPUIndexTritonKernel.reduction.final_reduction() - 逻辑:若reduction_type是any、prod,则将module设置为triton_helpers,而不应该是tl ## 测试 测试了aten.any算子在三维张量场景下指定/不指定dim维度的codegen正确性,aten.prod当前codegen可以生成正确的output_code,不过底层编译器还有bug,所以用例暂未包含在当前PR当中,aten.any的用例可以全部通过:  ## 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!31661 | 5 个月前 | |
frexp算子编译报错,算子不支持的问题 Co-authored-by: q00887602<qinhanmin@huawei.com> # message auto-generated for no-merge-commit merge: !29502 merge v2.7.1 into v2.7.1 frexp算子编译报错,算子不支持的问题 Created-by: qindong0 Commit-by: q00887602 Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: 编译报错 有triton kernel 生成,但是执行时有告警:[W1211 10:41:25.619186482 compiler_depend.ts:250] Warning: CAUTION: The operator 'aten::frexp.Tensor' is not currently supported on the NPU backend and will fall back to run on the CPU. This may have performance implications. (function npu_cpu_fallback) 最终执行失败 File "/usr/local/python3.11.13/lib/python3.11/site-packages/triton/compiler/compiler.py", line 303, in compile module = src.make_ir(options, codegen_fns, module_map, context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/python3.11.13/lib/python3.11/site-packages/triton/compiler/compiler.py", line 124, in make_ir return ast_to_ttir(self.fn, self, context=context, options=options, codegen_fns=codegen_fns, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ triton.compiler.errors.CompilationError: at 9:21: def triton_unk_fused_frexp_0(in_ptr0, out_ptr0, out_ptr1, x0_numel, X0BLOCK : tl.constexpr, X0BLOCK_SUB : tl.constexpr): x0_offset = tl.program_id(0) * X0BLOCK base_x0= tl.arange(0, X0BLOCK_SUB) loops_x0 = (X0BLOCK + X0BLOCK_SUB - 1) // X0BLOCK_SUB for loop_x0 in range(loops_x0): x0 = x0_offset + (loop_x0 * X0BLOCK_SUB) + base_x0 x0_mask = x0 < min(X0BLOCK+x0_offset, x0_numel) tmp0 = tl.load(in_ptr0 + (x0), x0_mask) tmp1, tmp2 = triton_helpers.frexp(tmp0) ^ CompilationError('def frexp(x):\n # TODO(isuruf): use inline_asm_elementwise here\n y = libdevice.ilogb(x) + 1\n exponent = tl.where(x == 0, 0, y)\n mantissa = tl.where(x == 0, 0, libdevice.ldexp(x, -y))\n return mantissa, exponent\n', <ast.BinOp object at 0x7fa9444a0880>, 'AttributeError("\'NoneType\' object has no attribute \'__add__\'")') See merge request: Ascend/pytorch!29502 | 4 个月前 | |
| 11 个月前 | ||
test: add MLIR non-fallback kernel regression test Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !38520 merge fusionTest into v2.7.1 test: add MLIR non-fallback kernel regression test Created-by: yvjc Commit-by: yvjc Merged-by: ascend-robot Description: https://gitcode.com/Ascend/pytorch/issues/2392 <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 解决MLIR多进程编译问题。将导致出现问题的语句改为延迟加载形式。 新增 MLIR 后端 kernel 编译回归 UT: 1. 构造基础 pointwise 融合计算,并通过 torch.compile 使用 MLIR 后端编译执行。 2. Hook NpuMlirCompiler.run,记录实际执行 kernel 的 is_fallback_kernel 状态。 3. 断言执行过程中不存在 fallback kernel,防止 MLIR kernel 编译失败后静默回退。 4. 将编译后的 NPU 结果与 CPU eager 结果进行精度对比。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ut验证通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38520 | 1 个月前 | |
fx_optimal UT Test Co-authored-by: xudezheng<xudezheng1@huawei.com> # message auto-generated for no-merge-commit merge: !35572 merge fx_opt into v2.7.1 fx_optimal UT Test Created-by: crazyDannyBoy Commit-by: xudezheng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35572 | 3 个月前 | |
index_select support dims Co-authored-by: 魏展<weizhan4@huawei.com> Co-authored-by: shenyixuan1<sheny1xuan@163.com> # message auto-generated for no-merge-commit merge: !29552 merge index_rebase into v2.7.1 index_select support dims Created-by: shenyixuan1 Commit-by: shenyixuan1;魏展 Merged-by: ascend-robot Description: index_select support dims See merge request: Ascend/pytorch!29552 | 6 个月前 | |
fx_optimal UT Test Co-authored-by: xudezheng<xudezheng1@huawei.com> # message auto-generated for no-merge-commit merge: !35572 merge fx_opt into v2.7.1 fx_optimal UT Test Created-by: crazyDannyBoy Commit-by: xudezheng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35572 | 3 个月前 | |
| 11 个月前 | ||
fx_optimal UT Test Co-authored-by: xudezheng<xudezheng1@huawei.com> # message auto-generated for no-merge-commit merge: !35572 merge fx_opt into v2.7.1 fx_optimal UT Test Created-by: crazyDannyBoy Commit-by: xudezheng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35572 | 3 个月前 | |
api_trace_rule_changes Co-authored-by: sunhaolun<sunhaolun3@huawei.com> # message auto-generated for no-merge-commit merge: !30533 merge v2.7.1 into v2.7.1 api_trace_rule_changes Created-by: sunhaolun Commit-by: sunhaolun Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修改trace_rule.py文件,确保NPU部分API在图模式下,入图行为与标杆一致。修改set-rng_state函数处理多余算子以及torch.npu.current_device白名单处理以确保算子生成fx图与标杆一致。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 新增测试文件test/_inductor/test_npu_current_device.py,参与ut看护 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!30533 | 6 个月前 | |
[fix]modify ut and hf_Bert model bug Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !37829 merge v2719 into v2.7.1 [fix]modify ut and hf_Bert model bug Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37829 | 2 个月前 | |
[Inductor] revert patch_expr_fits_within_32bit and add support for cat constant Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !32995 merge v2.7.1-aoti into v2.7.1 [Inductor] revert patch_expr_fits_within_32bit and add support for cat constant Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: # 【合入来源】 onerec模型性能下降 & ZJ现场case - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. remove patch_expr_fits_within_32bit 2. no change for cat cpp kernel logic and add support when cat constant # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ci passes # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!32995 | 4 个月前 | |
[A5] [inductor] codegen error fix; bf16 fp16 layernorm lowering Co-authored-by: shuhaozhen1<shuhaozhen@gmail.com> Co-authored-by: weizhan4<weizhan4@huawei.com> # message auto-generated for no-merge-commit merge: !26570 merge w00609825_lingqu_dev_2 into v2.7.1 [A5] [inductor] codegen error fix; bf16 fp16 layernorm lowering Created-by: weizhan4 Commit-by: weizhan4;shuhaozhen1 Merged-by: ascend-robot Description: A5分支回合 1.修改codeGenBug; 2.A5 fallback layernomalization以获得更优性能; 3.非线性化访存去除永远为0项; See merge request: Ascend/pytorch!26570 | 7 个月前 | |
[fix]modify ut and hf_Bert model bug Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !37829 merge v2719 into v2.7.1 [fix]modify ut and hf_Bert model bug Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37829 | 2 个月前 | |
fx_optimal UT Test Co-authored-by: xudezheng<xudezheng1@huawei.com> # message auto-generated for no-merge-commit merge: !35572 merge fx_opt into v2.7.1 fx_optimal UT Test Created-by: crazyDannyBoy Commit-by: xudezheng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35572 | 3 个月前 | |
| 11 个月前 | ||
refactor: decouple the check accuracy feature from triton, mlir, dvm. Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !35311 merge decouple_accuracy_v271 into v2.7.1 refactor: decouple the check accuracy feature from triton, mlir, dvm. Created-by: yvjc Commit-by: yvjc Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/1839 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 将triton,mlir,dvm后端中存在的精度对比逻辑共同部分抽出来, 存放在torch_npu.\_inductor.compare.py当中. # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 通过环境变量INDUCTOR_ASCEND_CHECK_ACCURACY=1, 开启精度比对功能, 对模型开启图模式, 分别选择这三种后端, 而后观察是否正常输出, 若正常输出, 则无问题. # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35311 | 2 个月前 | |
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
[Feat]support update fia&pa in torch.compile with aclgraph Co-authored-by: WithHades<244036962@qq.com> # message auto-generated for no-merge-commit merge: !26579 merge v2.7.1-compile into v2.7.1 [Feat]support update fia&pa in torch.compile with aclgraph Created-by: ysybh Commit-by: WithHades Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** 在torch compile中使用aclgraph时,增加对算子自动更新的支持 **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!26579 | 6 个月前 | |
fix_device_dynamo_trace Co-authored-by: sunhaolun<sunhaolun3@huawei.com> # message auto-generated for no-merge-commit merge: !31557 merge v2.7.1 into v2.7.1 fix_device_dynamo_trace Created-by: sunhaolun Commit-by: sunhaolun Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 现场问题 torch.device在原生中为skipVariable 而pta把他归为TorchInGraphFunctionVariable,在dynamo阶段会出现trcae失败的问题。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 社区issue测试,以及现场问题反馈的用例 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!31557 | 5 个月前 | |
[feat]Inductor Autotuning Optimization for Triton Ascend Compilation Co-authored-by: Stephane Hercot<stephane.hercot@huawei.com> Co-authored-by: Asaf Goldberg 00819109<asaf.goldberg@huawei.com> Co-authored-by: Hodaya Zadok<hodaya.zadok@huawei.com> Co-authored-by: Yan Fridland<yan.fridland@huawei.com> # message auto-generated for no-merge-commit merge: !37655 merge front_autotuning_perf into v2.7.1 [feat]Inductor Autotuning Optimization for Triton Ascend Compilation Created-by: yanf81 Commit-by: Hodaya Zadok;hz1283523;Yan Fridland;Stephane Hercot 00890349;Asaf Goldberg;Hodaya Zadok WX1283523;Asaf Goldberg 00819109;Stephane Hercot Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> The following PR includes optimizations and enhancements for Inductor's autotuning mechanism. The goal is to reduce the autotuning time by 50%, without degrading kernels latency. The enhancements in this project are delivered for the FASTAUTOTUNE=1 / ‘Expert’ mode, where the baseline version is v2.7.1. Final performance verifications were done on Ascend910_957 (90.90.93.32 station) with triton_ascend=3.2.2; torch_npu=2.7.1.post4.dev20260509; cann-9.1.0. # Main features added: 1. Configs Static Pruning: Prune a significant part of the original configs based on technics of UB-aware Filter, MFU Cache, NPU-Aware Config Generation and Diversity Filter 2. Dynamic Filter: Adaptive tiling config selection driven by predictive models. 3. Profiling Enhancement: Use the most optimal profiling method to speed up stats collection time without compromising quality 4. Logging and Stats collection for performance analisys and benchmarking. # Environment params to be set by a user to enable the feature: 1. FASTA_CONFIG_OPTIMIZER=1 (enables static pruning mechanism - default=0) 2. FASTA_DYNAMIC_FILTER=1 (activate the dynamic filter algo - default=0) 3. FASTA_MSPTI_EN=1 (defines mspti as an optimal profiling method - default=0) ## Additional feature params ### Statistics gathering 1. FASTA_AUTOTUNE_STATS=1 (activate autotune stats gathering - default=0) ### Dynamic Filter algo 2. FASTA_R1_PCT (activate autotune stats gathering - default=0.3) 3. FASTA_BASE_BUDGET (Base measurement budget as a fraction of total configs (N) - default=0.35) 4. FASTA_HIGH_BUDGET (Controls the total R2 exploration budget - default=0.4) 5. FASTA_LOW_BUDGET (Trade-off between exploration and measurement cost - default=0.25) 6. FASTA_MAX_ROUNDS (Maximum number of optimization rounds - default=2) # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37655 | 1 个月前 | |
move_npu_patch_meta_to_module_level Co-authored-by: 1479518308<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !39679 merge v2.7.1 into v2.7.1 move_npu_patch_meta_to_module_level Created-by: cuiduo Commit-by: 1479518308 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > meta_register做lazy_init,将meta注册逻辑修改为公共逻辑 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39679 | 1 个月前 | |
【ut覆盖率】cpp_builder 测试用例补充 Co-authored-by: qiaoyaodan<qiaoyaodan@huawei.com> # message auto-generated for no-merge-commit merge: !31545 merge cpp_builder_ut into v2.7.1 【ut覆盖率】cpp_builder 测试用例补充 Created-by: qiaoyaodan888 Commit-by: qiaoyaodan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!31545 | 5 个月前 | |
cpu_complie Co-authored-by: sunhaolun<sunhaolun3@huawei.com> # message auto-generated for no-merge-commit merge: !28480 merge v2.7.1 into v2.7.1 cpu_complie Created-by: sunhaolun Commit-by: sunhaolun Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes #解决了在cpu上运行torch.compile时会遇到device_op_overrides_dict中不存在"cpu"key的问题 **Special notes for your reviewers**: See merge request: Ascend/pytorch!28480 | 7 个月前 | |
perf: defer dynamo/inductor import for v2.7.1 (#2788) Co-authored-by: stevenaw0<huangguijun@huawei.com> # message auto-generated for no-merge-commit merge: !43391 merge v2.7.1_import into v2.7.1 perf: defer dynamo/inductor import for v2.7.1 (#2788) Created-by: stevenaw0 Commit-by: stevenaw0 Merged-by: ascend-robot Description: # 【合入来源】 > 关联社区 issue:https://gitcode.com/Ascend/pytorch/issues/2788 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 ## 1. 背景与目标 原有 import torch_npu 会间接加载 torch._dynamo、torch._inductor 及大量子模块,增加导入耗时、内存占用和编译器初始化副作用。 本 PR 将图模式初始化从普通 import 阶段移出,同时保持公开接口的原有调用方式: - import torch_npu 不加载 torch._dynamo、torch._inductor、torch_npu._inductor。 - Dynamo、Inductor、TorchAir、NPUGraph 等能力在实际使用时初始化。 - torch.compile 的非 Inductor backend 不加载完整 NPU Inductor。 - Export、ONNX、FSDP、NPUGraph 等公开入口仍在使用前完成所需初始化。 ## 2. 拆分 Dynamo 与 Inductor 初始化 - _lazy_dynamo_setup() 负责 NPU DeviceInterface、Dynamo Variable/Stream/Event/autocast 补丁、trace rules 和 backend 注册。 - _lazy_inductor_setup() 仅在 inductor、npugraphs backend 使用时加载 torch_npu._inductor、NPU Inductor config 和 NPUGraph tree。 - 初始化使用带并发保护的 run_once,成功步骤单独记录;后续步骤失败时,已成功步骤不重复执行,失败初始化允许重试。 - torch.compile(options={"npu_backend": ...}) 在加载 NPU Inductor 前解析本次 options、全局 config 和环境变量,避免先按 default 初始化再切换 backend。 ## 3. 使用统一 Dynamo post-import 触发器 不再包装 torch.compile、torch.export.export、export_for_training、torch.onnx.export 等公开函数,避免改变公开函数对象、签名、装饰器语义,以及提前绑定接口绕过 wrapper。 import torch_npu 只安装 torch._dynamo post-import finder: - 首次导入 torch._dynamo 完成后,统一执行 _lazy_dynamo_setup()。 - 如果用户在 torch_npu 前已经导入 Dynamo,则在 import torch_npu 时补充 NPU 初始化。 - finder 委托其余 sys.meta_path finder 查找真实模块,不绕过其他自定义导入器。 - Export、ONNX Dynamo Export、compile 和提前绑定的公开入口都通过同一个 Dynamo 导入时机完成初始化。 torch.compiler.list_backends() 本身会导入 torch._dynamo,因此也会完成 NPU Dynamo 集成;该路径不会加载 NPU Inductor 或初始化 NPU 设备。三个 NPU backend 同时通过 torch_dynamo_backends entry point 暴露,首次 compile 前即可枚举: - npu - npugraph_ex - npugraphs ## 4. 公开接口和场景兼容处理 | 公开接口或场景 | 原始风险 | 当前处理 | |---|---|---| | torch.compiler.list_backends() | 首次 compile 前看不到 NPU backend | 通过 entry point 保持三个 backend 可见;调用时初始化 Dynamo,但不加载 NPU Inductor | | torch.compiler.npugraph_mark_step_begin() | 首次 compile 前接口不存在,或调用时过度加载编译器 | import 阶段暴露轻量无参接口;共享独立 step 状态,调用时不加载 Dynamo/Inductor | | torch_npu.distributed.tensor | import 阶段加载 DTensor experimental,继而传递导入 Dynamo/Inductor | tensor 子模块改为首次显式访问时导入;显式使用时继续执行原有 strategy 注册实现,不复制或修改 PyTorch register_sharding | | torch.export.export / export_for_training / export_for_inference | NPU Stream、Event、autocast 等捕获支持未初始化;提前绑定可能绕过 wrapper | 不包装公开函数,由统一 Dynamo post-import 触发;四种入口和绑定顺序均使用真实 NPU Export 验证 | | torch.onnx.export(..., dynamo=True) / torch.onnx.dynamo_export | ONNX 路径可能绕过 Export wrapper | 依赖统一 Dynamo post-import 触发;模块调用和两种提前绑定入口覆盖初始化链路 | | torch.compile(..., backend="eager"/custom/"npu") | 无条件加载完整 NPU Inductor | 只初始化 Dynamo,不加载 torch_npu._inductor | | torch.compile(..., backend="inductor"/"npugraphs") | NPU Inductor 尚未注册 | backend lookup 前完成 Dynamo 初始化,确定为 Inductor 类 backend 后再加载 NPU Inductor | | NPU DeviceInterface | 延迟导入后可能报 No interface for device npu | Dynamo 初始化时注册 npu 和 npu:0~31,Stream 接口回归通过 | | FSDP patch | import 阶段导入 FSDP 会间接加载 Dynamo | 使用 FSDP post-import patch,覆盖 torch_npu 前后两种导入顺序 | | torch_npu.npu.npugraph_ex | import torch_npu.npu 时提前加载图模式模块 | 使用模块 __getattr__ 按需导入,公开属性访问方式不变 | ## 5. DTensor 延迟导入与 NPUGraph step 状态拆分 - 不在 torch_npu 中复制 PyTorch 的 register_sharding 实现,也不改动 NPU DTensor 算子文件。普通 import torch_npu 不再主动导入 torch_npu.distributed.tensor;用户显式访问该子模块时,沿用 v2.7.1 原有初始化和 strategy 注册路径。 - MarkStepBox 和 mark_step_begin() 拆到轻量状态模块,公共 mark-step API 与完整 Graph Tree 共享计数状态,但不需要为一次标记加载完整编译器实现。 ## 6. 保留非编译器 import-time 行为 - 将不依赖 Inductor 的 RNG prim 和 decomposition patch 拆到 torch_npu/utils/_rng_prims_patch.py,普通 registry 继续执行这些基础 patch。 - torch_npu.utils._inductor 保留兼容重导出,不再承担完整 NPU Inductor 初始化。 - transfer_to_npu 在自身初始化入口显式导入实际需要修改的模块,不依赖 import torch_npu 的编译器隐式导入。 ## 7. 测试看护 新增或扩展的测试覆盖: - 普通 import torch_npu 不加载 Dynamo/Inductor,并保持公开函数对象不变。 - Dynamo 在 torch_npu 前后两种导入顺序。 - backend lookup 前完成初始化,list_backends() 可见三个 NPU backend。 - eager、自定义、npu、inductor、npugraphs backend 初始化边界。 - Export 四种公开入口/提前绑定顺序及六类 NPU 捕获语义:record_stream、Stream/Event、autocast、current device、device properties、is_available。 - ONNX 三种入口:模块 export、提前绑定 export、提前绑定旧 dynamo_export。 - FSDP 两种导入顺序。 - NPUGraph mark-step 接口签名、计数及无 compiler import。 - NPU DeviceInterface、初始化快照和既有 Stream/Event 捕获行为。 DTensor 的原有算子文件和 register_sharding 实现未修改,本 PR 不新增其实现副本或专项矩阵用例。 # 【资料变更】 不涉及。 # 【接口变更】 不涉及客户可见接口签名变更。torch.compile、Export/ONNX 公开函数不再被 torch_npu 包装;torch_npu.distributed.tensor 的公开访问方式不变,仅从 import 阶段加载调整为首次显式访问时加载。 # 【功能验证】 在 torch-npu-build-2.7.1-py311 环境使用真实 NPU 验证: - test/dynamo/test_compile_trigger.py 覆盖 import、Dynamo 触发、compile backend、Export、ONNX、FSDP、NPUGraph 和 DeviceInterface 路径。 - test/test_torch_npu_init.py:13/13 通过。 - test/npu/test_stream.py:10/10 通过。 - test/dynamo/test_trace_stream_event.py:1/1 通过。 - 显式访问 torch_npu.distributed.tensor 后,原有 NPU strategy 注册正常。 - py_compile、git diff --check 通过。 - 验证所需临时依赖和 Conda 文件均已恢复。 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43391 | 6 天前 | |
[Inductor]pointwise cat solution Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !38341 merge v2.7.1-cat into v2.7.1 [Inductor]pointwise cat solution Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/2364?ref=&did=4090862#tid-4090862 - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 1. fallback cat for inputs len >8 2. use pointwise cat for inputs len <=8, fix bug of masked_load mask 3. decrease time of test_debug_msg.py # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38341 | 2 个月前 | |
| 11 个月前 | ||
[A5] [inductor] codegen error fix; bf16 fp16 layernorm lowering Co-authored-by: shuhaozhen1<shuhaozhen@gmail.com> Co-authored-by: weizhan4<weizhan4@huawei.com> # message auto-generated for no-merge-commit merge: !26570 merge w00609825_lingqu_dev_2 into v2.7.1 [A5] [inductor] codegen error fix; bf16 fp16 layernorm lowering Created-by: weizhan4 Commit-by: weizhan4;shuhaozhen1 Merged-by: ascend-robot Description: A5分支回合 1.修改codeGenBug; 2.A5 fallback layernomalization以获得更优性能; 3.非线性化访存去除永远为0项; See merge request: Ascend/pytorch!26570 | 7 个月前 | |
| 11 个月前 | ||
rewrite_dropout_meta_and_decompose Co-authored-by: sunhaolun<sunhaolun3@huawei.com> # message auto-generated for no-merge-commit merge: !33281 merge v2.7.1 into v2.7.1 rewrite_dropout_meta_and_decompose Created-by: sunhaolun Commit-by: sunhaolun Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 把mlir和triton侧对dropout以及dropout_backward的meta和decompose注册整合到了新的文件torch_npu/utils/_npu_meta_registration.py中,避免框架中的多余注册,并添加了UT对dropout进行看护。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 补充UT,并且触发了框架的UT,运行通过。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!33281 | 4 个月前 | |
[inductor][fix]delete the ops from fallback_lsit and remove "config.fallback_random = True"(2) Co-authored-by: q00887602<qinhanmin@huawei.com> # message auto-generated for no-merge-commit merge: !37867 merge v2.7.1_2 into v2.7.1 [inductor][fix]delete the ops from fallback_lsit and remove "config.fallback_random = True"(2) Created-by: qindong0 Commit-by: q00887602 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/2159 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、从fallback_list中移除这两个算子 1、从fallback_list中移除这两个算子 aten._local_scalar_dense, aten._local_scalar_dense.default, 2、config.fallback_random = True删除 3、aten.randint算子从TORCH_NATIVE_FALLBACK_LIST移除 4、从NPU_EXTRA_FALLBACK_LIST移除 prims.inductor_lookup_seed.default, prims.inductor_randint.default, prims.inductor_random.default, prims.inductor_seed.default, 5、修复pattern重复注册问题 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37867 | 2 个月前 | |
dtype optimal pass upload Co-authored-by: crazyDannyBoy<xudezheng1@huawei.com> # message auto-generated for no-merge-commit merge: !29585 merge v2.7.1 into v2.7.1 dtype optimal pass upload Created-by: crazyDannyBoy Commit-by: crazyDannyBoy Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!29585 | 6 个月前 | |
feat: reuse the triton environment variable INDUCTOR_ASCEND_CHECK_ACCURACY to support accuracy tools for Inductor MLIR, DVM backends Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !34095 merge accuracyV271 into v2.7.1 feat: reuse the triton environment variable INDUCTOR_ASCEND_CHECK_ACCURACY to support accuracy tools for Inductor MLIR, DVM backends Created-by: yvjc Commit-by: yvjc Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. mlir中已有相关功能, 将对应环境变量由原来的ANIR_ONLINE_ACC_COMP统一为INDUCTOR_ASCEND_CHECK_ACCURACY, 并将精度比对逻辑内的比对失败替换输出的操作删除, 保持和triton的功能一致. 对进入精度比对逻辑的条件进行变更, 去除了对fx_subgraph_dump_path的判断, 解耦比对和dump能力. 2. dvm中对fn添加_acc_meta属性, 用于在codegen的时候保存必要信息,包括traced_graph_hash, traced_graph_cache, device_index, num_outputs. 在runtime运行kernel的时候, 通过判断fn.\_acc_meta属性是否存在, 进入精度比对逻辑, 同样, 精度比对逻辑保持和triton, mlir一致. # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 通过网络进行验证, 使能环境变量INDUCTOR_ASCEND_CHECK_ACCURACY=1, 运行图模式, 观察日志中是否存在相关打印日志, 该功能在kernel精度正常时, 不会打印任何日志信息, 只有当kernel精度异常时, 才会打印如下类似信息: plain CHECK ACCURACY FAILED! Kernel: dvm_fused__native_batch_norm_legit_no_training_add_native_batch_norm_backward_threshold_backward_5_build, Output idx: 1, Mismatched: 417/512 (81.4%), Greatest Rel Diff: 1.7415642959902147e+18, Greatest Abs Diff: 0.017415642738342285 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!34095 | 3 个月前 | |
【feature】remove elu and elubackward in decomp Co-authored-by: hb_hubin<hubin79@huawei.com> # message auto-generated for no-merge-commit merge: !37502 merge fix-dvm-2.7.1 into v2.7.1 【feature】remove elu and elubackward in decomp Created-by: hbhu_bin Commit-by: hb_hubin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 https://gitcode.com/Ascend/pytorch/issues/1978 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) elu和elubackward不decomp,泛化测试,dvm融合性能比aclnn性能劣化30%~400% # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 新增UT验证通过  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37502 | 2 个月前 | |
fix(dvm): guard stride patch behind is_fx_dynamic in fallback kernel. Co-authored-by: Margaret_wangrui<wangrui178@huawei.com> # message auto-generated for no-merge-commit merge: !37882 merge v2.7.1_empty_strided into v2.7.1 fix(dvm): guard stride patch behind is_fx_dynamic in fallback kernel. Created-by: Margaret_wangrui Commit-by: Margaret_wangrui Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 https://gitcode.com/Ascend/pytorch/issues/2319 **说明**:修复 DVM 图融合在动态 shape 场景下 codegen 失败的问题。动态子图中 Inductor buffer stride 为符号表达式,仍调用 patch_gm_placeholder_strides_from_codegen_args 会在 torch.empty_strided 处触发 TypeError(stride 含 Mul 等非 int 元素)。 # 【修改方案】 1. **问题根因**:_dvm_generate_fallback_kernel 在生成 dvm::fused_graph_* fallback kernel 时,无条件调用 patch_gm_placeholder_strides_from_codegen_args,将 Inductor buffer 的真实 stride 写回 fused subgraph placeholder 的 meta["val"]。静态 shape 下该逻辑用于选择 k.view_load 路径;动态 shape 下 stride 为 SymInt/符号表达式,无法构造合法 fake tensor,导致 codegen 异常。 2. **修改内容**:在 torch_npu/_inductor/dvm/graph_fusion.py 的 _dvm_generate_fallback_kernel 中,引入 is_fx_dynamic(来自 graph_build.py),**仅当 fused subgraph 非动态 shape 时**才执行 stride patch: python if not is_fx_dynamic(meta.gm): patch_gm_placeholder_strides_from_codegen_args(meta.gm, args_list) 3. **行为说明**: - **静态 shape**:行为不变,继续 patch stride,支持 padding row stride 等非 contiguous 场景的 view_load 优化。 - **动态 shape**:跳过 patch,由 DvmCodegenInterpreter 走 dyn_shape=True 与 codegen_maybe_view_load 的 symbolic 分支,使用 k.load 并在必要时由 .contiguous() 保证输入合法。 4. **涉及组件**:Inductor PythonWrapperCodegen.generate_fallback_kernel(DVM patch 点)→ graph_fusion._dvm_generate_fallback_kernel → util.patch_gm_placeholder_strides_from_codegen_args / graph_build.DvmCodegenInterpreter。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 本次修改仅影响 DVM 图融合内部 codegen 逻辑,不涉及对外 Python/C++ API 及跨仓接口变更。 # 【功能验证】 **测试场景** | 场景 | 预期 | |------|------| | 静态 shape + 非 contiguous stride(padding row stride 等) | 仍 patch stride,生成 view_load,精度/行为与改前一致 | | 动态 shape(含 SymInt/SymFloat 的 fused subgraph) | codegen 不再因 empty_strided 报错,可正常生成 DVM kernel | | 动态 shape 非 contiguous 输入 | 走 k.load + .contiguous(),功能正确 | **验证方法** 1. 复现动态 shape DVM 融合模型(此前在 _dvm_generate_fallback_kernel / util.py 报 empty_strided stride 类型错误),确认 torch.compile(..., backend="inductor") 可完成 codegen 并正确执行。 2. 回归静态 shape 用例(如非 contiguous view_load 相关场景),确认融合结果与 golden 一致。 3. 可选:检查生成 wrapper 代码,动态场景下 placeholder 不再调用 stride patch,静态场景仍保留 patch 逻辑。 **UT 看护** - 本次为 codegen 路径条件分支调整,建议在 DVM 动态 shape 融合场景补充/适配 UT(若仓内已有 test_dvm_mlir_fusion 等用例,可扩展 dynamic shape case)。 - 测试自验证截图:(合入前请补充) # 【CheckList】 - [x] 代码注释完备,正确记录错误日志(逻辑清晰,无新增错误路径需额外日志) - [x] 代码实现进行了返回值、空指针等校验(通过 is_fx_dynamic 前置判断,避免非法 stride patch) - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等(建议标题:fix(dvm): guard stride patch behind is_fx_dynamic in fallback kernel) - [x] PR持续集成流水线(CI)执行通过,代码检查无异常(合入前确认) See merge request: Ascend/pytorch!37882 | 2 个月前 | |
[fix]test_dvm_kernel_fix Co-authored-by: 1479518308<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !36987 merge v2.7.1 into v2.7.1 [fix]test_dvm_kernel_fix Created-by: cuiduo Commit-by: 1479518308 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 修复测试用例test_dvm_kernel.py # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 已存在UT测试用例 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36987 | 2 个月前 | |
feat: support DVM MM template fusion Co-authored-by: huangchengnuo<huangchengnuo1@huawei.com> # message auto-generated for no-merge-commit merge: !42499 merge dvm-mm-template-fusion-v271-20260723 into v2.7.1 feat: support DVM MM template fusion Created-by: SorryNaCN Commit-by: huangchengnuo Merged-by: ascend-robot Description: # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [x] 重构优化 - [ ] 资料更新 关联图模式 Issue:https://gitcode.com/Ascend/pytorch/issues/1978 移植来源:https://gitcode.com/Ascend/pytorch/merge_requests/40027 # 【修改方案】 1. 在 torch_npu._inductor.dvm.config 中增加 enable_matmul_fusion。该开关默认关闭,仅在设置 INDUCTOR_DVM_ENABLE_MATMUL_FUSION=1 时注册 DVM matmul template lowering,未启用时保持原有 DVM/Inductor 路径不变。 2. 为 aten.mm、aten.bmm、aten.addmm 与 aten.baddbmm 注册 DVM template lowering,并新增 DvmTemplateBuffer 保存 matmul template FX 图及逻辑 placeholder 到实际 IR 输入的绑定关系。生成 wrapper 调用前恢复真实参数;不满足 DVM shape/type 规则的场景继续走原有 fallback。 3. 保留 addmm 的原始算子形态以进入 template lowering,补齐 baddbmm 的转置标注、图构建参数透传和 DVM codegen;保持 addmm/baddbmm 的 alpha、beta 语义。K=1 的 mm、bmm 下沉为逐元素 mul,K=1 的 addmm 下沉为 mul 与 add 组合。 4. 在 NpuDvmScheduling 的 template codegen 中复用 NpuMetaScheduling 的 traced-graph 构图与回退能力。DVM matmul template 仅支持合法 pointwise epilogue 的纵向融合;prologue、horizontal fusion、reduction、template-to-template、group/numel 不一致及不支持的 broadcast 场景均不融合。 5. 移除 _is_view_only_graph 对纯 view、reshape、_unsafe_view epilogue 的额外拒绝逻辑,统一由既有 pointwise、shape、依赖和广播合法性检查决定是否进入 DVM template 融合路径。 6. 补充 mm、bmm、addmm、baddbmm 的 template fusion 回归覆盖,并覆盖 K=1、multi-user 输出、view/view+pointwise epilogue、view 输入及同一 buffer 多 view 场景。 # 【资料变更】 不涉及。 # 【接口变更】 不涉及客户可见接口变更。 # 【功能验证】 - 对全部变更 Python 文件执行 python3 -m py_compile,通过。 - 执行 git diff --check,通过。 - 完整 NPU 定向用例由 CI 执行。 ## 性能收益 该优化将 matmul 与下游 pointwise/view 融合为单个 DVM mix kernel,减少中间张量读写和 kernel launch。以下为 v2.9.0 同功能实测(端到端统计已排除首次编译与 warm-up): | 网络 / 指标(每 step) | Template OFF | Template ON | 时延收益 | |---|---:|---:|---:| | GLM-4-9B Chat LoRA BF16(batch 1、seq 512,稳态端到端) | 279.752 ms | 255.837 ms | **8.55%** | | Qwen2-VL-2B-Instruct LoRA BF16(batch 1、max length 512,step 11-51) | 773.792 ms | 747.664 ms | **3.38%** | | BERT_pytorch BF16(稳态端到端) | 23.3781 ms | 21.8458 ms | **6.55%** | | GLM-4-9B LoRA BF16(batch 1、seq 128,稳态端到端) | 219.3782 ms | 204.9709 ms | **6.57%** | | Llama3-8B LoRA BF16(batch 1、seq 128,稳态端到端) | 409.4111 ms | 393.3233 ms | **3.93%** | GLM-4-9B Chat 对应吞吐约提升 **9.34%**。GPT-OSS-20B 的 device kernel duration 为 -0.62%,当前不作为性能收益结论。 详细测试配置与完整数据见:https://gitcode.com/Ascend/pytorch/merge_requests/40027 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42499 | 24 天前 | |
[fix]dvm-triton_wrap Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !35674 merge v2.7.1 into v2.7.1 [fix]dvm-triton_wrap Created-by: cuiduo Commit-by: cuiduo Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 支持dvm模式下自定义算子入图实现,在dvm分支下添加部分triton patch,以实现算子入图 # 【资料变更】 >不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 已补充UT用例 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35674 | 2 个月前 | |
[feat]Inductor Autotuning Optimization for Triton Ascend Compilation Co-authored-by: Stephane Hercot<stephane.hercot@huawei.com> Co-authored-by: Asaf Goldberg 00819109<asaf.goldberg@huawei.com> Co-authored-by: Hodaya Zadok<hodaya.zadok@huawei.com> Co-authored-by: Yan Fridland<yan.fridland@huawei.com> # message auto-generated for no-merge-commit merge: !37655 merge front_autotuning_perf into v2.7.1 [feat]Inductor Autotuning Optimization for Triton Ascend Compilation Created-by: yanf81 Commit-by: Hodaya Zadok;hz1283523;Yan Fridland;Stephane Hercot 00890349;Asaf Goldberg;Hodaya Zadok WX1283523;Asaf Goldberg 00819109;Stephane Hercot Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> The following PR includes optimizations and enhancements for Inductor's autotuning mechanism. The goal is to reduce the autotuning time by 50%, without degrading kernels latency. The enhancements in this project are delivered for the FASTAUTOTUNE=1 / ‘Expert’ mode, where the baseline version is v2.7.1. Final performance verifications were done on Ascend910_957 (90.90.93.32 station) with triton_ascend=3.2.2; torch_npu=2.7.1.post4.dev20260509; cann-9.1.0. # Main features added: 1. Configs Static Pruning: Prune a significant part of the original configs based on technics of UB-aware Filter, MFU Cache, NPU-Aware Config Generation and Diversity Filter 2. Dynamic Filter: Adaptive tiling config selection driven by predictive models. 3. Profiling Enhancement: Use the most optimal profiling method to speed up stats collection time without compromising quality 4. Logging and Stats collection for performance analisys and benchmarking. # Environment params to be set by a user to enable the feature: 1. FASTA_CONFIG_OPTIMIZER=1 (enables static pruning mechanism - default=0) 2. FASTA_DYNAMIC_FILTER=1 (activate the dynamic filter algo - default=0) 3. FASTA_MSPTI_EN=1 (defines mspti as an optimal profiling method - default=0) ## Additional feature params ### Statistics gathering 1. FASTA_AUTOTUNE_STATS=1 (activate autotune stats gathering - default=0) ### Dynamic Filter algo 2. FASTA_R1_PCT (activate autotune stats gathering - default=0.3) 3. FASTA_BASE_BUDGET (Base measurement budget as a fraction of total configs (N) - default=0.35) 4. FASTA_HIGH_BUDGET (Controls the total R2 exploration budget - default=0.4) 5. FASTA_LOW_BUDGET (Trade-off between exploration and measurement cost - default=0.25) 6. FASTA_MAX_ROUNDS (Maximum number of optimization rounds - default=2) # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37655 | 1 个月前 | |
[Inductor] refactor inductor Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !30965 merge v2.7.1-dev into v2.7.1 [Inductor] refactor inductor Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: # 【合入来源】 Inductor Refactor - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 1. remove some useless patch like inductor meta. 2. remove runtime.py and move patch func into runtime folder 3. move device_op_overrides into codegen/npu to fork community 4. remove AOTI debug config, remove useless patch 5. speed up triton kernel run() # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ci passes # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!30965 | 4 个月前 | |
| 11 个月前 | ||
[Inductor] refactor inductor Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !30965 merge v2.7.1-dev into v2.7.1 [Inductor] refactor inductor Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: # 【合入来源】 Inductor Refactor - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 1. remove some useless patch like inductor meta. 2. remove runtime.py and move patch func into runtime folder 3. move device_op_overrides into codegen/npu to fork community 4. remove AOTI debug config, remove useless patch 5. speed up triton kernel run() # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ci passes # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!30965 | 4 个月前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35871 merge v2.7.1_lintrunner into v2.7.1 fix: lintrunner --all-files --take NEWLINE -a Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35871 | 2 个月前 | |
| 11 个月前 | ||
[Inductor] add aoti support Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !32378 merge v2.7.1-aoti into v2.7.1 [Inductor] add aoti support Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: # 【合入来源】 add aoti support - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 1. add ffts check, device guard, dynamic shape support for AOTInductor, make CppWrapperNpu extends CppWrapperGpu, make fallback when cpp_wrapper meets mm/bmm/gmm, add utils_npu.h, shim_npu.h shim_npu.cpp into csrc\inductor, now AOTI works for v2.7.1 in A2\A3\A5 2. refactor triton heuristic logic, now get_heuristic will return heuristic type like community('pointwise', 'reduction' etc) # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ci passes # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!32378 | 4 个月前 | |
【inductor】bugfix for noinear codegen Co-authored-by: Stonexx<sheny1xuan@163.com> # message auto-generated for no-merge-commit merge: !39111 merge dev2 into v2.7.1 【inductor】bugfix for noinear codegen Created-by: stonexxx Commit-by: Stonexx Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 https://gitcode.com/Ascend/pytorch/issues/2471 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39111 | 1 个月前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35871 merge v2.7.1_lintrunner into v2.7.1 fix: lintrunner --all-files --take NEWLINE -a Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35871 | 2 个月前 | |
[Inductor] remove inductor static mode and interface.cpp in inductor Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !39987 merge v2.7.1-dev into v2.7.1 [Inductor] remove inductor static mode and interface.cpp in inductor Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/2526?ref=&did=4121203#tid-4121203 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. no more support inductor static mode 2. remove useless patch in cpp_wrapper.py 3. remove interface.cpp in inductor, use _adapt_community_interface_cpp to change str 4. recheck impl of CPP_TO_DTYPE in cpp_wrapper, use copied dict for codegen # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 CI PASS # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39987 | 1 个月前 | |
[inductor] fix: remove debug prints for x0 indexing_code Co-authored-by: 魏展<weizhan4@huawei.com> # message auto-generated for no-merge-commit merge: !32260 merge v2.7.1 into v2.7.1 [inductor] fix: remove debug prints for x0 indexing_code Created-by: weizhan4 Commit-by: weizhan4;魏展 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 ## 1. 现象与背景 (Background) 在模型的测试中,遇到一个涉及 NPU Triton Codegen 的编译错误。 用户测试用例(如 test_factory_reduction.py)中包含了一个“没有任何显式数据输入加载(Load)操作,只包含常量生成及归约(Reduction)计算”的网络结构。 核心计算模式类似于: python full_tensor = torch.ops.aten.full.default(shape, 1.0, dtype=dtype_val, layout=torch.strided, device='npu', pin_memory=False) result = torch.ops.aten.amax.default(full_tensor, [2]) 这种类型的归约计算在 Inductor 内部被称为 **Factory Reduction**。 在尝试编译运行此结构时,触发了多连串的报错。 ## 2. 错误一:assert gold must have same length as tiling_axis ### 2.1 报错现象 首先遇到的错误是 RuntimeError("assert gold must have same length as tiling_axis"),发生在 pytorch\torch_npu\_inductor\codegen\kernel_analysis.py#L191。 ### 2.2 根因分析 在 Triton 核心代码生成的 select_golden_varlist 函数中,用于推导输出形状对应的 golden_var_list(黄金变量列表)时,其底层逻辑强依赖于访存索引(load_store_indexing)。 由于这是一个 Factory Reduction,**没有 tl.load 操作**,唯一产生的 load_store_indexing 是最终输出结果的 tl.store 索引。 在这个用例中,因为执行了对最后一维(例如 r1 对应维度 [2])的归约,输出结果的维度只与保留的非归约轴(如 x0)有关,所以 store_index 中只包含 [x0],没有 r1。 导致解析出的 golden_var_list 仅为 [x0]。但是当前 Kernel 定义的 tiling_axis 包含了所有的循环轴(即 [x0, r1])。 当进入 kernel_analysis.py 进行后续分析时,校验 golden_var_list 长度和 tiling_axis 长度不一致,从而引发报错。 ### 2.3 修复方案 修改 pytorch\torch_npu\_inductor\codegen\triton.py 中的 select_golden_varlist 逻辑。 在通过原始机制获取到 golden_var_list 后,增加对齐逻辑:遍历 self.tiling_axis,若有未被包含的轴,则主动补齐到 golden_var_list 的末尾,确保二者长度一致。 python if self.golden_var_list is not None and self.tiling_axis: golden_list = list(self.golden_var_list) for x in self.tiling_axis: sym = x.symbol() if hasattr(x, 'symbol') else x if sym not in golden_list: golden_list.append(sym) self.golden_var_list = tuple(golden_list) --- ## 3. 错误二:生成的代码中 NameError('x0 is not defined') ### 3.1 报错现象 修复错误一后,生成了 Triton 源代码(output code),但在执行时报错:NameError('x0 is not defined')。 经过检查生成的代码,发现虽然存在 for loop_x0 in range(loops_x0): 的循环体,但是循环内部至关重要的 x0 = ... 和 x0_mask = ... 等变量定义丢失了。 ### 3.2 根因分析 通过大量的日志追踪生成的 indexing_code 的生命周期,我们发现导致 x0 丢失的有两个阶段的问题: #### 问题阶段 A:find_axis_in_load_store 判定过严 在判断某个循环轴(如 x0)是否被用到时,原有的 find_axis_in_load_store 函数只在代码行中搜索包含了 'tl.load' 或 'tl.store' 字符串的情况: python for line in self.compute._lines: if line.find('tl.load') >= 0 and self.is_isolated_symbol(line, range_val): return True 因为这是 Factory Reduction,计算块(compute buffer)中全是 tmp0 = 1.0,tl.broadcast_to 和 tl.max,没有 tl.load,导致即使 x0 在 post_loop_store 被用到,也被错误地判定为 False。 **修复**:删除了对 tl.load 和 tl.store 的硬性字符串匹配,只要相关缓冲池(loads, compute, stores, post_loop_store)的代码行中出现了该独立符号,即判定为 True。 #### 问题阶段 B:外层粗暴的空校验拦截 即使修复了上述阶段 A,日志显示 x0 还是未被定义。最终通过分析代码发现,在 codegen_body 内部嵌套的 codegen_range 函数的**最外层**,有一段致命的判断: python indexing_code = getattr(range_val, "indexing_code") # ... # do nothing except for writing porintwise if len(self.loads._lines) == 0 and len(self.stores._lines) == 0: do_indent = False indexing_code = None # <--- 这里是罪魁祸首! 由于没有 Load,且此用例的 Store 全部被放在了 post_loop_store 缓冲池中(导致 self.stores 也为空),这段逻辑强制触发,直接把 _codegen 生成的包含 x0 = ... 的 indexing_code 清空成了 None。 ### 3.3 修复方案 #### 方案 彻底移除了 codegen_range 最外层的那个基于 loads 和 stores 的粗暴空校验拦截逻辑。 让是否生成并输出 indexing_code 完全交由下方各分支内更严谨的 find_axis_in_load_store(range_val) 来决定。 # 【资料变更】 >“不涉及” # 【接口变更】 > “不涉及” # 【功能验证】 增加用例,验证通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!32260 | 4 个月前 | |
fasta autotune expert方法支持多进程 Co-authored-by: zhishang-qi<1610015759@qq.com> # message auto-generated for no-merge-commit merge: !30028 merge v2.7.1 into v2.7.1 fasta autotune expert方法支持多进程 Created-by: zhishang-qi Commit-by: zhishang-qi Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** /kind feature **What does this PR do / why do we need it**: fasta autotune支持多进程 **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!30028 | 6 个月前 | |
fasta autotune expert方法支持多进程 Co-authored-by: zhishang-qi<1610015759@qq.com> # message auto-generated for no-merge-commit merge: !30028 merge v2.7.1 into v2.7.1 fasta autotune expert方法支持多进程 Created-by: zhishang-qi Commit-by: zhishang-qi Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** /kind feature **What does this PR do / why do we need it**: fasta autotune支持多进程 **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!30028 | 6 个月前 | |
fasta autotune expert方法支持多进程 Co-authored-by: zhishang-qi<1610015759@qq.com> # message auto-generated for no-merge-commit merge: !30028 merge v2.7.1 into v2.7.1 fasta autotune expert方法支持多进程 Created-by: zhishang-qi Commit-by: zhishang-qi Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** /kind feature **What does this PR do / why do we need it**: fasta autotune支持多进程 **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!30028 | 6 个月前 | |
fasta autotune expert方法支持多进程 Co-authored-by: zhishang-qi<1610015759@qq.com> # message auto-generated for no-merge-commit merge: !30028 merge v2.7.1 into v2.7.1 fasta autotune expert方法支持多进程 Created-by: zhishang-qi Commit-by: zhishang-qi Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** /kind feature **What does this PR do / why do we need it**: fasta autotune支持多进程 **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!30028 | 6 个月前 | |
fasta autotune expert方法支持多进程 Co-authored-by: zhishang-qi<1610015759@qq.com> # message auto-generated for no-merge-commit merge: !30028 merge v2.7.1 into v2.7.1 fasta autotune expert方法支持多进程 Created-by: zhishang-qi Commit-by: zhishang-qi Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** /kind feature **What does this PR do / why do we need it**: fasta autotune支持多进程 **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!30028 | 6 个月前 | |
【inductor】Temporarily close some inductor ci tests, accelarate ci access control Co-authored-by: kkjocker<hexuanyu1@huawei.com> # message auto-generated for no-merge-commit merge: !30302 merge v2.7.1_main into v2.7.1 【inductor】Temporarily close some inductor ci tests, accelarate ci access control Created-by: kkjocker Commit-by: kkjocker Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!30302 | 6 个月前 | |
[fix]modify ut and hf_Bert model bug Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !37829 merge v2719 into v2.7.1 [fix]modify ut and hf_Bert model bug Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37829 | 2 个月前 | |
[fix]modify ut and hf_Bert model bug Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !37829 merge v2719 into v2.7.1 [fix]modify ut and hf_Bert model bug Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37829 | 2 个月前 | |
[fix]modify ut and hf_Bert model bug Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !37829 merge v2719 into v2.7.1 [fix]modify ut and hf_Bert model bug Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37829 | 2 个月前 | |
[fix]modify ut and hf_Bert model bug Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !37829 merge v2719 into v2.7.1 [fix]modify ut and hf_Bert model bug Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37829 | 2 个月前 | |
[fix]modify ut and hf_Bert model bug Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !37829 merge v2719 into v2.7.1 [fix]modify ut and hf_Bert model bug Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37829 | 2 个月前 | |
[fix]modify ut and hf_Bert model bug Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !37829 merge v2719 into v2.7.1 [fix]modify ut and hf_Bert model bug Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37829 | 2 个月前 | |
fix(inductor): skip CSE for full.default nodes used by mutation ops Co-authored-by: xudezheng<xudezheng1@huawei.com> # message auto-generated for no-merge-commit merge: !39489 merge fix/cse-skip-mutation-buffers-v2.7.1 into v2.7.1 fix(inductor): skip CSE for full.default nodes used by mutation ops Created-by: crazyDannyBoy Commit-by: xudezheng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39489 | 1 个月前 | |
[fix]modify ut and hf_Bert model bug Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !37829 merge v2719 into v2.7.1 [fix]modify ut and hf_Bert model bug Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37829 | 2 个月前 | |
[fix]modify ut and hf_Bert model bug Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !37829 merge v2719 into v2.7.1 [fix]modify ut and hf_Bert model bug Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37829 | 2 个月前 | |
修改图优化用例及说明文档 Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !39031 merge v2.7.1_8 into v2.7.1 修改图优化用例及说明文档 Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39031 | 1 个月前 | |
[fix]modify ut and hf_Bert model bug Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !37829 merge v2719 into v2.7.1 [fix]modify ut and hf_Bert model bug Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37829 | 2 个月前 | |
修改图优化用例及说明文档 Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !39031 merge v2.7.1_8 into v2.7.1 修改图优化用例及说明文档 Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39031 | 1 个月前 | |
修改图优化用例及说明文档 Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !39031 merge v2.7.1_8 into v2.7.1 修改图优化用例及说明文档 Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39031 | 1 个月前 | |
[fix]modify ut and hf_Bert model bug Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !37829 merge v2719 into v2.7.1 [fix]modify ut and hf_Bert model bug Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37829 | 2 个月前 | |
[fix]modify ut and hf_Bert model bug Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !37829 merge v2719 into v2.7.1 [fix]modify ut and hf_Bert model bug Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37829 | 2 个月前 | |
修改图优化用例及说明文档 Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !39031 merge v2.7.1_8 into v2.7.1 修改图优化用例及说明文档 Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39031 | 1 个月前 | |
[fix]modify ut and hf_Bert model bug Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !37829 merge v2719 into v2.7.1 [fix]modify ut and hf_Bert model bug Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37829 | 2 个月前 | |
Fix mfusion FX-to-torch-mlir conversion for torch.ops.higher_order.run_and_save_rng_state Co-authored-by: shuqian0<shuqian11@huawei.com> # message auto-generated for no-merge-commit merge: !38582 merge fx_import into v2.7.1 Fix mfusion FX-to-torch-mlir conversion for torch.ops.higher_order.run_and_save_rng_state Created-by: shuqian0 Commit-by: shuqian0 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 [[Feature]: 26.1.0版本图模式功能增强](https://gitcode.com/Ascend/pytorch/issues/1978) 修复 mfusion 中 torch.ops.higher_order.run_and_save_rng_state 算子从FX 到 torch-mlir 的转换报错。 失败的案例是: python run_and_save_rng_state = torch.ops.higher_order.run_and_save_rng_state(...) rng_state = run_and_save_rng_state[0] dropout_out = run_and_save_rng_state[1][0] torch-mlir 不直接实现这个 HOP(Higher Order Primitive),其导入器将多输出操作建模为扁平化的 MLIR 结果。本PR将不支持的目标通过 mfusion opaque 自定义操作路由,同时保留足够的结构以便在 MLIR 往返转换后重建原始 FX 图。 ## 变更内容 - 仅将 torch-mlir 支持的 HOP 视为可直接导入。不支持的 HOP 现在使用现有的 opaque 往返转换路径,而不是进入 torch-mlir 的 _import_hop。 - 将 opaque tuple 结果元数据扁平化为 MLIR 兼容的多结果,并在 opaque_registry.Payload 中记录每个叶子结果的路径。 - 在 torch-mlir 导入之前,将 opaque tuple 结果的 getitem 用户重写为从扁平化的 opaque 结果中读取。 - 在 MLIR 到 FX 导出期间重建原始 opaque/HOP 节点和嵌套的 getitem 路径,使用前缀节点复用以避免重复的嵌套 getitems。 - 为不支持的单叶子 tuple 输出(如 (Tensor,))添加明确的错误提示,这种输出无法在不改变语义的情况下由当前的扁平化方案表示。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38582 | 1 个月前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35871 merge v2.7.1_lintrunner into v2.7.1 fix: lintrunner --all-files --take NEWLINE -a Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35871 | 2 个月前 | |
[Inductor] refactor inductor Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !30965 merge v2.7.1-dev into v2.7.1 [Inductor] refactor inductor Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: # 【合入来源】 Inductor Refactor - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 1. remove some useless patch like inductor meta. 2. remove runtime.py and move patch func into runtime folder 3. move device_op_overrides into codegen/npu to fork community 4. remove AOTI debug config, remove useless patch 5. speed up triton kernel run() # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ci passes # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!30965 | 4 个月前 | |
【inductor】Temporarily close some inductor ci tests, accelarate ci access control Co-authored-by: kkjocker<hexuanyu1@huawei.com> # message auto-generated for no-merge-commit merge: !30302 merge v2.7.1_main into v2.7.1 【inductor】Temporarily close some inductor ci tests, accelarate ci access control Created-by: kkjocker Commit-by: kkjocker Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!30302 | 6 个月前 | |
| 11 个月前 | ||
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35871 merge v2.7.1_lintrunner into v2.7.1 fix: lintrunner --all-files --take NEWLINE -a Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35871 | 2 个月前 | |
| 11 个月前 | ||
[Inductor] refactor inductor Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !30965 merge v2.7.1-dev into v2.7.1 [Inductor] refactor inductor Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: # 【合入来源】 Inductor Refactor - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 1. remove some useless patch like inductor meta. 2. remove runtime.py and move patch func into runtime folder 3. move device_op_overrides into codegen/npu to fork community 4. remove AOTI debug config, remove useless patch 5. speed up triton kernel run() # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ci passes # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!30965 | 4 个月前 | |
[Inductor] refactor inductor Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !30965 merge v2.7.1-dev into v2.7.1 [Inductor] refactor inductor Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: # 【合入来源】 Inductor Refactor - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 1. remove some useless patch like inductor meta. 2. remove runtime.py and move patch func into runtime folder 3. move device_op_overrides into codegen/npu to fork community 4. remove AOTI debug config, remove useless patch 5. speed up triton kernel run() # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ci passes # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!30965 | 4 个月前 | |
[Inductor] refactor inductor Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !30965 merge v2.7.1-dev into v2.7.1 [Inductor] refactor inductor Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: # 【合入来源】 Inductor Refactor - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 1. remove some useless patch like inductor meta. 2. remove runtime.py and move patch func into runtime folder 3. move device_op_overrides into codegen/npu to fork community 4. remove AOTI debug config, remove useless patch 5. speed up triton kernel run() # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ci passes # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!30965 | 4 个月前 | |
Fix MLIR full lowering fallback mode Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !39298 merge bugfix-v2.7.1 into v2.7.1 Fix MLIR full lowering fallback mode Created-by: yvjc Commit-by: yvjc Merged-by: ascend-robot Description: https://gitcode.com/Ascend/pytorch/issues/2507 <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) - MLIR 配置增加 allfallback 识别: 在 ascend_npu_ir/ascend_npu_ir/config.py 中新增条件判断,当 enable_full_lowering_fallback 的值为 "allfallback" 时,自动将 fallback_to_aten_mode 设置为 "all",使后续 lowering 逻辑能进入全量回退分支。 - MLIR lowering 注册跳过 allfallback 的算子解析: 在 ascend_npu_ir/ascend_npu_ir/npu/npu_lowering.py 的 _register_npu_inductor_fallbacks() 中,将原先 if env_fallback_list: 的条件增强为 if env_fallback_list and config.fallback_to_aten_mode != 'all':,避免在 all-fallback 模式下将 "allfallback" 当作普通算子名进行无效解析。 - 新增 MLIR 全量回退测试用例: 新增 test/_inductor/test_inductor_all_fallback_mlir.py,包含 test_all_fallback_detection_mlir 测试方法,验证设置 NPU_INDUCTOR_FALLBACK_LIST=allfallback 后 MLIR 后端生成的代码中不包含 mlir_fused 等优化融合标记,确保全量回退模式正确生效。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 测试用例通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39298 | 1 个月前 | |
[inductor]add ut for dynamicshape Co-authored-by: rain-666<chenxiaoyu12@huawei.com> # message auto-generated for no-merge-commit merge: !38116 merge v2.7.1_ut into v2.7.1 [inductor]add ut for dynamicshape Created-by: rain-666 Commit-by: rain-666 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38116 | 1 个月前 | |
bugfix: remove the decomposition of expm1 from torchbench and add it to mlir. Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !36487 merge decomp7 into v2.7.1 bugfix: remove the decomposition of expm1 from torchbench and add it to mlir. Created-by: yvjc Commit-by: yvjc Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/1962 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 bug: torchbench 在aot_eager模式下运行tts_angular网络, 出现 RuntimeError: duplicate registrations for aten.expm1.default, 重复注册decomposition实现的行为, 分析发现, 在torchbench的npu_support.py对该网络的patch中import了_inductor, 由于是aot_eager后端, 走了triton初始化流程. triton初始化流程中具有对expm1的decomposition实现, 从而导致重复注册. 原本存在的test_inductor_fallback_list.py这个ut存在将triton和mlir后端在同一进程中运行的问题,在inductor初始化的时候首先初始化了triton后端的相关配置,然后在mlir测试例子时又初始化mlir后端的相关配置,导致在triton后端中已经对expm1进行注册,在mlir初始化时会注册失败。该问题属于ut问题,因此将test_inductor_fallback_list.py拆为test_inductor_fallback_list_triton.py和test_inductor_fallback_list_mlir.py两个ut。 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) inductor添加mlir后端expm1的decomposition实现,与其他版本对齐. 去除torchbench npu_support.py tts_angular网络patch中添加的expm1 decomposition实现. # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 运行torchbench网络tts_angular, aot_eager, mlir, dvm能够成功运行, 不报错 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36487 | 2 个月前 | |
bugfix: remove the decomposition of expm1 from torchbench and add it to mlir. Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !36487 merge decomp7 into v2.7.1 bugfix: remove the decomposition of expm1 from torchbench and add it to mlir. Created-by: yvjc Commit-by: yvjc Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/1962 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 bug: torchbench 在aot_eager模式下运行tts_angular网络, 出现 RuntimeError: duplicate registrations for aten.expm1.default, 重复注册decomposition实现的行为, 分析发现, 在torchbench的npu_support.py对该网络的patch中import了_inductor, 由于是aot_eager后端, 走了triton初始化流程. triton初始化流程中具有对expm1的decomposition实现, 从而导致重复注册. 原本存在的test_inductor_fallback_list.py这个ut存在将triton和mlir后端在同一进程中运行的问题,在inductor初始化的时候首先初始化了triton后端的相关配置,然后在mlir测试例子时又初始化mlir后端的相关配置,导致在triton后端中已经对expm1进行注册,在mlir初始化时会注册失败。该问题属于ut问题,因此将test_inductor_fallback_list.py拆为test_inductor_fallback_list_triton.py和test_inductor_fallback_list_mlir.py两个ut。 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) inductor添加mlir后端expm1的decomposition实现,与其他版本对齐. 去除torchbench npu_support.py tts_angular网络patch中添加的expm1 decomposition实现. # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 运行torchbench网络tts_angular, aot_eager, mlir, dvm能够成功运行, 不报错 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36487 | 2 个月前 | |
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
index_select support dims Co-authored-by: 魏展<weizhan4@huawei.com> Co-authored-by: shenyixuan1<sheny1xuan@163.com> # message auto-generated for no-merge-commit merge: !29552 merge index_rebase into v2.7.1 index_select support dims Created-by: shenyixuan1 Commit-by: shenyixuan1;魏展 Merged-by: ascend-robot Description: index_select support dims See merge request: Ascend/pytorch!29552 | 6 个月前 | |
test: add MLIR non-fallback kernel regression test Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !38520 merge fusionTest into v2.7.1 test: add MLIR non-fallback kernel regression test Created-by: yvjc Commit-by: yvjc Merged-by: ascend-robot Description: https://gitcode.com/Ascend/pytorch/issues/2392 <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 解决MLIR多进程编译问题。将导致出现问题的语句改为延迟加载形式。 新增 MLIR 后端 kernel 编译回归 UT: 1. 构造基础 pointwise 融合计算,并通过 torch.compile 使用 MLIR 后端编译执行。 2. Hook NpuMlirCompiler.run,记录实际执行 kernel 的 is_fallback_kernel 状态。 3. 断言执行过程中不存在 fallback kernel,防止 MLIR kernel 编译失败后静默回退。 4. 将编译后的 NPU 结果与 CPU eager 结果进行精度对比。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ut验证通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38520 | 1 个月前 | |
test: add MLIR non-fallback kernel regression test Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !38520 merge fusionTest into v2.7.1 test: add MLIR non-fallback kernel regression test Created-by: yvjc Commit-by: yvjc Merged-by: ascend-robot Description: https://gitcode.com/Ascend/pytorch/issues/2392 <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 解决MLIR多进程编译问题。将导致出现问题的语句改为延迟加载形式。 新增 MLIR 后端 kernel 编译回归 UT: 1. 构造基础 pointwise 融合计算,并通过 torch.compile 使用 MLIR 后端编译执行。 2. Hook NpuMlirCompiler.run,记录实际执行 kernel 的 is_fallback_kernel 状态。 3. 断言执行过程中不存在 fallback kernel,防止 MLIR kernel 编译失败后静默回退。 4. 将编译后的 NPU 结果与 CPU eager 结果进行精度对比。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ut验证通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38520 | 1 个月前 | |
[fix]import_all_patch Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !35428 merge v2.7.1 into v2.7.1 [fix]import_all_patch Created-by: cuiduo Commit-by: cuiduo Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 删除部分MLIR与triton,dvm等重复的patch > 将inductort的init阶段修改至_TorchCompileInductorWrapper的init阶段,避免部分patch无法加载的问题,并对3条分支下不通的patch做区分 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 已通过UT用例 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35428 | 3 个月前 | |
[A5] [inductor] codegen error fix; bf16 fp16 layernorm lowering Co-authored-by: shuhaozhen1<shuhaozhen@gmail.com> Co-authored-by: weizhan4<weizhan4@huawei.com> # message auto-generated for no-merge-commit merge: !26570 merge w00609825_lingqu_dev_2 into v2.7.1 [A5] [inductor] codegen error fix; bf16 fp16 layernorm lowering Created-by: weizhan4 Commit-by: weizhan4;shuhaozhen1 Merged-by: ascend-robot Description: A5分支回合 1.修改codeGenBug; 2.A5 fallback layernomalization以获得更优性能; 3.非线性化访存去除永远为0项; See merge request: Ascend/pytorch!26570 | 7 个月前 | |
[Inductor] multidimlinear analyse module Co-authored-by: weizhan4<weizhan4@huawei.com> # message auto-generated for no-merge-commit merge: !29714 merge w00609825_multidimlinear into v2.7.1 [Inductor] multidimlinear analyse module Created-by: weizhan4 Commit-by: weizhan4 Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > /kind feature **What does this PR do / why do we need it**: multi dim linear analysis module See merge request: Ascend/pytorch!29714 | 6 个月前 | |
fix(inductor): preserve scheduler store semantics in linear triton transpose-copy Co-authored-by: HinPeng<pengxuan9@huawei.com> # message auto-generated for no-merge-commit merge: !39348 merge dev into v2.7.1 fix(inductor): preserve scheduler store semantics in linear triton transpose-copy Created-by: stonexxx Commit-by: HinPeng Merged-by: ascend-robot Description: https://gitcode.com/Ascend/pytorch/issues/2500 <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39348 | 1 个月前 | |
| 10 个月前 | ||
fx_optimal UT Test Co-authored-by: xudezheng<xudezheng1@huawei.com> # message auto-generated for no-merge-commit merge: !35572 merge fx_opt into v2.7.1 fx_optimal UT Test Created-by: crazyDannyBoy Commit-by: xudezheng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35572 | 3 个月前 | |
【inductor】fix ci bug Co-authored-by: kkjocker<hexuanyu1@huawei.com> # message auto-generated for no-merge-commit merge: !31152 merge v2.7.1_fix into v2.7.1 【inductor】fix ci bug Created-by: kkjocker Commit-by: kkjocker Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!31152 | 5 个月前 | |
Enable deterministic computation for MaxUnpool1d, 2d, 3d in Inductor Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !29873 merge deter271 into v2.7.1 Enable deterministic computation for MaxUnpool1d, 2d, 3d in Inductor Created-by: yvjc Commit-by: yvjc Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: 在Inductor中为MaxUnpool1d、MaxUnpool2d、MaxUnpool3d操作启用确定性计算。通过重新实现torch._decomp.decompositions._max_unpoolnd分解函数,确保在NPU设备上使用torch.compile编译时,MaxUnpool操作能够产生确定性的输出结果,与PyTorch的确定性算法行为保持一致。 **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: 该PR包含了对MaxUnpool1d、2d、3d的单元测试,测试覆盖了float16和float32数据类型,以及不同的kernel_size和stride参数组合,验证了Inductor编译前后的结果一致性。 See merge request: Ascend/pytorch!29873 | 6 个月前 | |
fix(mfusion): preserve output container kind in contract restore Co-authored-by: shaoshengqi<shaoshengqi@huawei.com> # message auto-generated for no-merge-commit merge: !38662 merge fix-mfusion-ViewCopy-v2.7.1 into v2.7.1 fix(mfusion): preserve output container kind in contract restore Created-by: propathee Commit-by: shaoshengqi Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 https://gitcode.com/Ascend/pytorch/issues/1962 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. torch_npu/_inductor/mfusion/graph_fusion.py:修复 _restore_output_contract 在恢复 output contract 时始终将输出容器类型强制转换为 tuple 的问题。新增 _output_container_kind() 函数检测原始输出容器类型(tuple/list/single),_snapshot_output_contract 记录该信息,_restore_output_contract 按原始类型恢复。 2. test/_inductor/test_mfusion_graph_fusion.py:新增 test_restore_output_contract_preserves_single_output 和 test_restore_output_contract_preserves_list_output 两个单测用例,覆盖单输出和列表输出的容器类型保持场景。同时清理了 ImportError fallback 中无用的 # type: ignore[misc, assignment] 注释。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写"不涉及" 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写"不涉及" 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 运行 test/_inductor/test_mfusion_graph_fusion.py 中的 TestMfusionOutputContract 全部用例: bash cd test python test_mfusion_graph_fusion.py -v -k TestMfusionOutputContract 新增 2 个 UT 覆盖单输出和 list 输出的容器类型保持,已有用例覆盖 tuple 输出 + None 槽位 + stride 元数据保持。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38662 | 2 个月前 | |
perf: defer dynamo/inductor import for v2.7.1 (#2788) Co-authored-by: stevenaw0<huangguijun@huawei.com> # message auto-generated for no-merge-commit merge: !43391 merge v2.7.1_import into v2.7.1 perf: defer dynamo/inductor import for v2.7.1 (#2788) Created-by: stevenaw0 Commit-by: stevenaw0 Merged-by: ascend-robot Description: # 【合入来源】 > 关联社区 issue:https://gitcode.com/Ascend/pytorch/issues/2788 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 ## 1. 背景与目标 原有 import torch_npu 会间接加载 torch._dynamo、torch._inductor 及大量子模块,增加导入耗时、内存占用和编译器初始化副作用。 本 PR 将图模式初始化从普通 import 阶段移出,同时保持公开接口的原有调用方式: - import torch_npu 不加载 torch._dynamo、torch._inductor、torch_npu._inductor。 - Dynamo、Inductor、TorchAir、NPUGraph 等能力在实际使用时初始化。 - torch.compile 的非 Inductor backend 不加载完整 NPU Inductor。 - Export、ONNX、FSDP、NPUGraph 等公开入口仍在使用前完成所需初始化。 ## 2. 拆分 Dynamo 与 Inductor 初始化 - _lazy_dynamo_setup() 负责 NPU DeviceInterface、Dynamo Variable/Stream/Event/autocast 补丁、trace rules 和 backend 注册。 - _lazy_inductor_setup() 仅在 inductor、npugraphs backend 使用时加载 torch_npu._inductor、NPU Inductor config 和 NPUGraph tree。 - 初始化使用带并发保护的 run_once,成功步骤单独记录;后续步骤失败时,已成功步骤不重复执行,失败初始化允许重试。 - torch.compile(options={"npu_backend": ...}) 在加载 NPU Inductor 前解析本次 options、全局 config 和环境变量,避免先按 default 初始化再切换 backend。 ## 3. 使用统一 Dynamo post-import 触发器 不再包装 torch.compile、torch.export.export、export_for_training、torch.onnx.export 等公开函数,避免改变公开函数对象、签名、装饰器语义,以及提前绑定接口绕过 wrapper。 import torch_npu 只安装 torch._dynamo post-import finder: - 首次导入 torch._dynamo 完成后,统一执行 _lazy_dynamo_setup()。 - 如果用户在 torch_npu 前已经导入 Dynamo,则在 import torch_npu 时补充 NPU 初始化。 - finder 委托其余 sys.meta_path finder 查找真实模块,不绕过其他自定义导入器。 - Export、ONNX Dynamo Export、compile 和提前绑定的公开入口都通过同一个 Dynamo 导入时机完成初始化。 torch.compiler.list_backends() 本身会导入 torch._dynamo,因此也会完成 NPU Dynamo 集成;该路径不会加载 NPU Inductor 或初始化 NPU 设备。三个 NPU backend 同时通过 torch_dynamo_backends entry point 暴露,首次 compile 前即可枚举: - npu - npugraph_ex - npugraphs ## 4. 公开接口和场景兼容处理 | 公开接口或场景 | 原始风险 | 当前处理 | |---|---|---| | torch.compiler.list_backends() | 首次 compile 前看不到 NPU backend | 通过 entry point 保持三个 backend 可见;调用时初始化 Dynamo,但不加载 NPU Inductor | | torch.compiler.npugraph_mark_step_begin() | 首次 compile 前接口不存在,或调用时过度加载编译器 | import 阶段暴露轻量无参接口;共享独立 step 状态,调用时不加载 Dynamo/Inductor | | torch_npu.distributed.tensor | import 阶段加载 DTensor experimental,继而传递导入 Dynamo/Inductor | tensor 子模块改为首次显式访问时导入;显式使用时继续执行原有 strategy 注册实现,不复制或修改 PyTorch register_sharding | | torch.export.export / export_for_training / export_for_inference | NPU Stream、Event、autocast 等捕获支持未初始化;提前绑定可能绕过 wrapper | 不包装公开函数,由统一 Dynamo post-import 触发;四种入口和绑定顺序均使用真实 NPU Export 验证 | | torch.onnx.export(..., dynamo=True) / torch.onnx.dynamo_export | ONNX 路径可能绕过 Export wrapper | 依赖统一 Dynamo post-import 触发;模块调用和两种提前绑定入口覆盖初始化链路 | | torch.compile(..., backend="eager"/custom/"npu") | 无条件加载完整 NPU Inductor | 只初始化 Dynamo,不加载 torch_npu._inductor | | torch.compile(..., backend="inductor"/"npugraphs") | NPU Inductor 尚未注册 | backend lookup 前完成 Dynamo 初始化,确定为 Inductor 类 backend 后再加载 NPU Inductor | | NPU DeviceInterface | 延迟导入后可能报 No interface for device npu | Dynamo 初始化时注册 npu 和 npu:0~31,Stream 接口回归通过 | | FSDP patch | import 阶段导入 FSDP 会间接加载 Dynamo | 使用 FSDP post-import patch,覆盖 torch_npu 前后两种导入顺序 | | torch_npu.npu.npugraph_ex | import torch_npu.npu 时提前加载图模式模块 | 使用模块 __getattr__ 按需导入,公开属性访问方式不变 | ## 5. DTensor 延迟导入与 NPUGraph step 状态拆分 - 不在 torch_npu 中复制 PyTorch 的 register_sharding 实现,也不改动 NPU DTensor 算子文件。普通 import torch_npu 不再主动导入 torch_npu.distributed.tensor;用户显式访问该子模块时,沿用 v2.7.1 原有初始化和 strategy 注册路径。 - MarkStepBox 和 mark_step_begin() 拆到轻量状态模块,公共 mark-step API 与完整 Graph Tree 共享计数状态,但不需要为一次标记加载完整编译器实现。 ## 6. 保留非编译器 import-time 行为 - 将不依赖 Inductor 的 RNG prim 和 decomposition patch 拆到 torch_npu/utils/_rng_prims_patch.py,普通 registry 继续执行这些基础 patch。 - torch_npu.utils._inductor 保留兼容重导出,不再承担完整 NPU Inductor 初始化。 - transfer_to_npu 在自身初始化入口显式导入实际需要修改的模块,不依赖 import torch_npu 的编译器隐式导入。 ## 7. 测试看护 新增或扩展的测试覆盖: - 普通 import torch_npu 不加载 Dynamo/Inductor,并保持公开函数对象不变。 - Dynamo 在 torch_npu 前后两种导入顺序。 - backend lookup 前完成初始化,list_backends() 可见三个 NPU backend。 - eager、自定义、npu、inductor、npugraphs backend 初始化边界。 - Export 四种公开入口/提前绑定顺序及六类 NPU 捕获语义:record_stream、Stream/Event、autocast、current device、device properties、is_available。 - ONNX 三种入口:模块 export、提前绑定 export、提前绑定旧 dynamo_export。 - FSDP 两种导入顺序。 - NPUGraph mark-step 接口签名、计数及无 compiler import。 - NPU DeviceInterface、初始化快照和既有 Stream/Event 捕获行为。 DTensor 的原有算子文件和 register_sharding 实现未修改,本 PR 不新增其实现副本或专项矩阵用例。 # 【资料变更】 不涉及。 # 【接口变更】 不涉及客户可见接口签名变更。torch.compile、Export/ONNX 公开函数不再被 torch_npu 包装;torch_npu.distributed.tensor 的公开访问方式不变,仅从 import 阶段加载调整为首次显式访问时加载。 # 【功能验证】 在 torch-npu-build-2.7.1-py311 环境使用真实 NPU 验证: - test/dynamo/test_compile_trigger.py 覆盖 import、Dynamo 触发、compile backend、Export、ONNX、FSDP、NPUGraph 和 DeviceInterface 路径。 - test/test_torch_npu_init.py:13/13 通过。 - test/npu/test_stream.py:10/10 通过。 - test/dynamo/test_trace_stream_event.py:1/1 通过。 - 显式访问 torch_npu.distributed.tensor 后,原有 NPU strategy 注册正常。 - py_compile、git diff --check 通过。 - 验证所需临时依赖和 Conda 文件均已恢复。 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43391 | 6 天前 | |
fix_registrations Co-authored-by: 1479518308<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !37836 merge v2.7.1 into v2.7.1 fix_registrations Created-by: cuiduo Commit-by: 1479518308 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 删除triton的单线程运行,解决模型运行速度慢的问题 > 删除额外的环境变量定义,后端选择逻辑已经在其他地方进行了设置,由于dvm和mlir公用一套后端patch,这个环境变量反而会导致backedn切换报错 > 对算子注册次数增加限制,避免重复注册问题 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 已验证通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37836 | 2 个月前 | |
[Inductor] Inductor support multi process, add Device guard for AOTInductor Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !38634 merge v2.7.1-dev into v2.7.1 [Inductor] Inductor support multi process, add Device guard for AOTInductor Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/2406?ref=&did=4098529#tid-4098529 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. Inductor support multi process precompile 2. add device guard for AOTInductor # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38634 | 1 个月前 | |
support_list_for_register_meta_npu Co-authored-by: 1479518308<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !39246 merge v2.7.1 into v2.7.1 support_list_for_register_meta_npu Created-by: cuiduo Commit-by: 1479518308 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 删除patch,功能已实现 > 为sort函数注册新的meta,解决stride不一致的问题 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 已补充UT # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39246 | 1 个月前 | |
[Inductor] add aoti support Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !32378 merge v2.7.1-aoti into v2.7.1 [Inductor] add aoti support Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: # 【合入来源】 add aoti support - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 1. add ffts check, device guard, dynamic shape support for AOTInductor, make CppWrapperNpu extends CppWrapperGpu, make fallback when cpp_wrapper meets mm/bmm/gmm, add utils_npu.h, shim_npu.h shim_npu.cpp into csrc\inductor, now AOTI works for v2.7.1 in A2\A3\A5 2. refactor triton heuristic logic, now get_heuristic will return heuristic type like community('pointwise', 'reduction' etc) # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ci passes # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!32378 | 4 个月前 | |
inductor: use simt_template as kernel default compile_mode Co-authored-by: Stonexx<sheny1xuan@163.com> # message auto-generated for no-merge-commit merge: !37939 merge zj0607-yx into v2.7.1 inductor: use simt_template as kernel default compile_mode Created-by: stonexxx Commit-by: Stonexx Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37939 | 2 个月前 | |
[inductor][refactor] move npu_fusion_attention_graph to fx_passes/pattern_match Co-authored-by: jimmycao9929<caohaijun3@huawei.com> # message auto-generated for no-merge-commit merge: !33269 merge 0407-attn into v2.7.1 [inductor][refactor] move npu_fusion_attention_graph to fx_passes/pattern_match Created-by: jimmycao9929 Commit-by: jimmycao9929 Merged-by: ascend-robot Description: # 【合入来源】 - [x] 重构优化 # 【修改方案】 把npu_fusion_attention_graph.py属于图优化,因此,将其移到fx_passes/pattern_match下 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 单元测试 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!33269 | 4 个月前 | |
aot_autograd_pass_fo_FA Co-authored-by: LG<luguang6@huawei.com> # message auto-generated for no-merge-commit merge: !30156 merge aot_autograd_pass_for_FA into v2.7.1 aot_autograd_pass_fo_FA Created-by: Lu_G Commit-by: LG Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: 在pre grad阶段添加了pass将不支持图模式的FA和FAG接口调用转移到支持图模式的对应接口上。 **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!30156 | 5 个月前 | |
fix the circular dependency issue & add ut Co-authored-by: liangsongwei<liangsongwei@huawei.com> # message auto-generated for no-merge-commit merge: !26159 merge v2.7.1 into v2.7.1 fix the circular dependency issue & add ut Created-by: liangsongwei Commit-by: liangsongwei Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!26159 | 9 个月前 | |
fix: harden path validation in reselect_static_kernel_with_path Co-authored-by: rich<zhouruiqi5@huawei.com> # message auto-generated for no-merge-commit merge: !40494 merge v2.7.1 into v2.7.1 fix: harden path validation in reselect_static_kernel_with_path Created-by: rich9527 Commit-by: rich Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/2634 https://gitcode.com/Ascend/pytorch/pull/40386 - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1.路径规范化与解析增强: 在 Module.cpp 中,使用 realpath() 将用户输入的路径解析为绝对路径 abs_path,再基于 abs_path 进行 stat 存在性检查和 S_ISDIR 目录类型判断,并将解析后的路径传入后续的 lambda 和 API 调用,防止原始路径中的符号链接或相对路径绕过校验。 2.新增边界条件单元测试: 在 test_npu_static_kernel.py 中新增 4 个测试用例,分别覆盖路径非字符串、路径含空字节、路径不存在、路径为文件而非目录的场景,验证各类非法输入均抛出 RuntimeError。 3.函数指针判空逻辑调整: 在 OpInterface.cpp 的 ReselectStaticKernelWithPath 中,将 TORCH_CHECK 判空检查移入 if 分支内部,仅在函数指针未初始化时才执行校验,避免重复检查。 4.接口注释修正: 在 OpInterface.h 中移除了 ReselectStaticKernelWithPath 文档注释中“it need to be called once at process”的过时描述。 5.测试文件存量lint检查修正:去除未使用的import,修改一个重复定义bug。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 新增UT补充 cmd (zrq_310_29) root@xxx:xxx# python /xxx/torch_npu/test/_inductor/test_npu_static_kernel.py /xxx/lib/python3.10/site-packages/torch_npu/_inductor/__init__.py:97: UserWarning: triton-ascend is not installed, install it first. warnings.warn("triton-ascend is not installed, install it first.") .......... ---------------------------------------------------------------------- Ran 10 tests in 0.593s OK # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!40494 | 1 个月前 | |
skip npu sync func to v2.7.1 Co-authored-by: lihui<lihui488@huawei.com> # message auto-generated for no-merge-commit merge: !27580 merge v2.7.1 into v2.7.1 skip npu sync func to v2.7.1 Created-by: lihui488 Commit-by: lihui Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!27580 | 8 个月前 | |
fix inductor ci Co-authored-by: Zichun Ye<zichun.ye@huawei.com> # message auto-generated for no-merge-commit merge: !27305 merge ci_fix_v2.7.1 into v2.7.1 fix inductor ci Created-by: zichun_ye Commit-by: Zichun Ye Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!27305 | 8 个月前 | |
[fix]modify ut and hf_Bert model bug Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !37829 merge v2719 into v2.7.1 [fix]modify ut and hf_Bert model bug Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37829 | 2 个月前 | |
fix(inductor): preserve scheduler store semantics in linear triton transpose-copy Co-authored-by: HinPeng<pengxuan9@huawei.com> # message auto-generated for no-merge-commit merge: !39348 merge dev into v2.7.1 fix(inductor): preserve scheduler store semantics in linear triton transpose-copy Created-by: stonexxx Commit-by: HinPeng Merged-by: ascend-robot Description: https://gitcode.com/Ascend/pytorch/issues/2500 <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39348 | 1 个月前 | |
[fix]pow fp64 fallback Co-authored-by: qiaoyaodan<qiaoyaodan@huawei.com> # message auto-generated for no-merge-commit merge: !32031 merge fp64_pow_fallback into v2.7.1 [fix]pow fp64 fallback Created-by: qiaoyaodan888 Commit-by: qiaoyaodan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) torch_npu的pow不支持fp64类型,需要把fp64情况下的pow fallback # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 fallback之后没有融合  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!32031 | 4 个月前 | |
| 11 个月前 | ||
[inductor]fix simd codegen bug Co-authored-by: rain-666<chenxiaoyu12@huawei.com> # message auto-generated for no-merge-commit merge: !38117 merge v2.7.1_etasimd into v2.7.1 [inductor]fix simd codegen bug Created-by: rain-666 Commit-by: rain-666 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!38117 | 2 个月前 | |
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
fx_optimal UT Test Co-authored-by: xudezheng<xudezheng1@huawei.com> # message auto-generated for no-merge-commit merge: !35572 merge fx_opt into v2.7.1 fx_optimal UT Test Created-by: crazyDannyBoy Commit-by: xudezheng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35572 | 3 个月前 | |
【inductor】Temporarily close some inductor ci tests, accelarate ci access control Co-authored-by: kkjocker<hexuanyu1@huawei.com> # message auto-generated for no-merge-commit merge: !30302 merge v2.7.1_main into v2.7.1 【inductor】Temporarily close some inductor ci tests, accelarate ci access control Created-by: kkjocker Commit-by: kkjocker Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!30302 | 6 个月前 | |
[fix]tiling_key_error Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !32336 merge v2.7.1 into v2.7.1 [fix]tiling_key_error Created-by: cuiduo Commit-by: cuiduo Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 >1. 在codegen的tiling阶段,会调用get_axis_dtype来获取node的type,当axis为sympy.Expr类时会报错 > >File "/home/cuiduo/miniconda3/envs/py311/lib/python3.11/site-packages/torch_npu/_inductor/codegen/triton.py", line 790, in get_axis_dtype >dim = self.range_tree_nodes_removed[key] >torch ._ dynamo. exc. BackendCompilerFailed: backend='inductor' raised: >KeyError: x2 + 512*y1 + 2048*z0 > >因此需要增加校验,提取sympy.Expr中的Symbol以进行dtype的判断 2.在fold类fx_pass的入口处添加stable_topological_sort(gm)进行排序,避免乱序图带来的影响 # 【资料变更】 > 不涉及 # 【接口变更】 >不涉及 # 【功能验证】 > 自验完成 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!32336 | 4 个月前 | |
[fix]meta_check_on_rebuild-npu_tensor Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !32900 merge v2.7.1 into v2.7.1 [fix]meta_check_on_rebuild-npu_tensor Created-by: cuiduo Commit-by: cuiduo Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 >函数_rebuild_npu_tensor在输入为faketensor的情况下,无法在NPU上进行数据创建,需要增加faketensor检测,在设备为meta的情况下补充fake_device信息 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 本地验证通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!32900 | 4 个月前 | |
add_random_op Co-authored-by: sunhaolun<sunhaolun3@huawei.com> # message auto-generated for no-merge-commit merge: !30652 merge v2.7.1 into v2.7.1 add_random_op Created-by: sunhaolun Commit-by: sunhaolun Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 通过对原生rng实现代码打patch的方法注册npu设备的实现。主要主要针对\torch\_prims\rng_prims.py 中的philox_rand_offset,philox_rand_offset_meta,register_philox_rand,register_run_and_save_rng_state_op,register_run_with_rng_state_op这些代码。其中_philox_rand 此函数原生调用中不传入设备类型,修改为传入设备npu。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 编写UT进行测试,可以保证在固定随机种子的情况下eager,inductor可以得到相同的结果(如有需要可提供截图) # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!30652 | 6 个月前 | |
add_random_op Co-authored-by: sunhaolun<sunhaolun3@huawei.com> # message auto-generated for no-merge-commit merge: !30652 merge v2.7.1 into v2.7.1 add_random_op Created-by: sunhaolun Commit-by: sunhaolun Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 通过对原生rng实现代码打patch的方法注册npu设备的实现。主要主要针对\torch\_prims\rng_prims.py 中的philox_rand_offset,philox_rand_offset_meta,register_philox_rand,register_run_and_save_rng_state_op,register_run_with_rng_state_op这些代码。其中_philox_rand 此函数原生调用中不传入设备类型,修改为传入设备npu。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 编写UT进行测试,可以保证在固定随机种子的情况下eager,inductor可以得到相同的结果(如有需要可提供截图) # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!30652 | 6 个月前 | |
【inductor】Temporarily close some inductor ci tests, accelarate ci access control Co-authored-by: kkjocker<hexuanyu1@huawei.com> # message auto-generated for no-merge-commit merge: !30302 merge v2.7.1_main into v2.7.1 【inductor】Temporarily close some inductor ci tests, accelarate ci access control Created-by: kkjocker Commit-by: kkjocker Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!30302 | 6 个月前 | |
fix_config_copy Co-authored-by: sunhaolun<sunhaolun3@huawei.com> # message auto-generated for no-merge-commit merge: !35825 merge v2.7.1 into v2.7.1 fix_config_copy Created-by: sunhaolun Commit-by: sunhaolun Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> https://gitcode.com/Ascend/pytorch/issues/1962 # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 torch_npu/utils/_dynamo.py 的 patch_inductor_wrapper() 将 new_get_config_copy 通过 类级别 (ConfigModule.get_config_copy = ...) patch 到了所有 ConfigModule 实例上。当 torch._functorch.config.get_config_copy() 在第一次编译过程中被调用时(jit_compile_runtime_wrappers.py:194),4 个 NPU 特有的 config key 被永久注入到 functorch config 的 _config 字典中。第二次编译时 save_config() 序列化的内容多了这 4 个 key → 不同的 hash → AOT autograd cache miss。 修复:在 new_get_config_copy 中添加一行检查 if self is not torch._inductor.config: return ori_dict,确保 NPU config key 只注入到 inductor config,不影响 functorch config 等其他 ConfigModule 实例。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 全量UT验证 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35825 | 2 个月前 | |
fix_stash_obj_in_tls_bug Co-authored-by: sunhaolun<sunhaolun3@huawei.com> # message auto-generated for no-merge-commit merge: !35969 merge v2.7.1 into v2.7.1 fix_stash_obj_in_tls_bug Created-by: sunhaolun Commit-by: sunhaolun Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> https://gitcode.com/Ascend/pytorch/issues/1962 # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 给 local.tree_manager_containers,local.tree_manager_locks 增加npu前缀,避免被原生提前释放造成wkref问题 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 UT验证 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35969 | 2 个月前 | |
[Fix] [inductor] Fix the compilation failure issue of Scan IR under NPU + Inductor environment Co-authored-by: zhudada0120<zhuguanda@huawei.com> # message auto-generated for no-merge-commit merge: !31313 merge v2.7.1-scan into v2.7.1 [Fix] [inductor] Fix the compilation failure issue of Scan IR under NPU + Inductor environment Created-by: zhudada Commit-by: zhudada0120 Merged-by: ascend-robot Description: ## 【合入来源】 - [x] 问题单 ## 背景 aten.cumprod 在 Inductor lowering 后会走 ops.scan(scan IR)。在 torch_npu 的 NPU Triton codegen 中,scan kernel 可能会被标记为 inside_reduction=True,但它**不一定存在** torch._inductor.ir.Reduction 节点。 旧逻辑在以下两个地方会错误地触发 ReductionAnalysis,从而在 ReductionAnalysis.__init__() 内部抛出:RuntimeError: failed to get one reduction node。 - scheduling 阶段:对 inside_reduction 的 kernel 直接/间接做 reduction 分析 - triton codegen 阶段:dense_size_list()/dense_size_str() 在 inside_reduction 时无条件构建 ReductionAnalysis 拿aten.cumprod用例举例: python import os import torch os.environ.setdefault("TORCHDYNAMO_DEBUG", "1") os.environ.setdefault("TORCHDYNAMO_LOG_LEVEL", "debug") os.environ.setdefault("TORCHINDUCTOR_DEBUG", "1") os.environ.setdefault("TORCH_COMPILE_DEBUG", "1") os.environ.setdefault("TORCHINDUCTOR_FORCE_DISABLE_CACHES", "1") def aten_add_cumprod_chain(x): a = x + 1 b = torch.ops.aten.cumprod(a, dim=-1) c = b + 1 return c def main(): device = torch.device("npu") a = torch.ones(3, 4, 5, device=device) for name, fn in [ ("dim-1", aten_add_cumprod_chain), ]: compiled = torch.compile(fn, backend="inductor") b = compiled(a) c = fn(a) max_abs_diff = (b - c).abs().max().item() print(f"=== {name} ===") print(f"max_abs_diff: {max_abs_diff}") print(f"allclose: {torch.allclose(b, c, rtol=1e-4, atol=1e-4)}") print(f"inductor output: {b}") print(f"eager output: {c}") if __name__ == "__main__": main() 错误日志片段如下: bash File "/home/zhudada/miniconda3/envs/torch-npu/lib/python3.11/site-packages/torch_npu/_inductor/codegen/scheduling.py", line 387, in codegen_node return self.codegen_node_schedule( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/zhudada/miniconda3/envs/torch-npu/lib/python3.11/site-packages/torch_npu/_inductor/codegen/scheduling.py", line 112, in codegen_node_schedule self.decide_codegen_dims_in_kernel(node_schedule, kernel) File "/home/zhudada/miniconda3/envs/torch-npu/lib/python3.11/site-packages/torch_npu/_inductor/codegen/scheduling.py", line 570, in decide_codegen_dims_in_kernel kernel.reduce_analysis = ReductionAnalysis(kernel) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/zhudada/miniconda3/envs/torch-npu/lib/python3.11/site-packages/torch_npu/_inductor/codegen/kernel_analysis.py", line 206, in __init__ raise RuntimeError("failed to get one reduction node") torch._dynamo.exc.BackendCompilerFailed: backend='inductor' raised: RuntimeError: failed to get one reduction node Set TORCHDYNAMO_VERBOSE=1 for the internal stack trace (please do this especially if you're reporting a bug to PyTorch). For even more developer context, set TORCH_LOGS="+dynamo" [ERROR] 2026-02-28-09:13:40 (PID:3518743, Device:0, RankID:-1) ERR99999 UNKNOWN applicaiton exception ## 目标 - 让 scan kernel 在 NPU+Inductor 下可以通过编译并正常运行。 - 对齐上游 Inductor 行为:scan 场景禁用 cooperative reduction。 ## 修改前/修改后路径对比 修改前:  修改后:  ## 修复方案 ### 1)Scan 禁用 cooperative reduction(同社区) 文件:torch_npu/_inductor/codegen/scheduling.py - 改动点:NPUTritonScheduling.create_kernel_choices() - 逻辑:若 kernel_features.contains_op("scan"),则强制 override_cooperative_reduction=False - 目的:scan 需要跨块传递 prefix 状态,不能按 cooperative reduction 的方式做跨 program 的分工/合并;禁用该优化可避免语义错误,并对齐上游 Inductor 行为 ### 2)只在真实 reduction 时构建 ReductionAnalysis 文件:torch_npu/_inductor/codegen/scheduling.py - 改动点:decide_codegen_dims_in_kernel() - 逻辑:kernel.find_reduction_node() 会返回一个 torch._inductor.ir.Reduction 实例或 None(表示未找到)。仅当返回值非 None(且类型为 ir.Reduction)时才创建 ReductionAnalysis(kernel) - 目的:scan kernel 可能 inside_reduction=True 但并不存在 ir.Reduction 节点,避免错误进入 reduction 专用分析导致崩溃 ### 3)dense_size_list() / dense_size_str() 对 scan 做兜底 文件:torch_npu/_inductor/codegen/triton.py - 改动点:dense_size_list() / dense_size_str() - 逻辑: - inside_reduction=True 时先判断 find_reduction_node() 是否存在且为 ir.Reduction - 只有真实 reduction 才构建 ReductionAnalysis - 否则按普通 dense 逻辑生成 tile shape(scan fallback) - 目的:避免 scan 场景错误构建 ReductionAnalysis 触发 failed to get one reduction node ### 4)scan() codegen 适配:动态推断 scan axis,并统一 scan 相关维度(与社区有区别,因为社区假设 scan 轴永远在 dense tile 的最后一维(layout 固定 [X, R]),NPU 这边 dense tile 的 layout 可能是 [R, X...] 或 [X..., R],所以必须动态推断 scan axis,并把所有相关逻辑统一到同一个 dim。) 文件:torch_npu/_inductor/codegen/triton.py 动机:NPU 的 dense tile layout 可能为 [R, X...] 或 [X..., R] 等变化形态,scan axis 不能写死,需要与实际 layout 保持一致。 修复策略:在 NPUIndexTritonKernel.scan() 中实现 axis 统一化的 codegen 适配: - 动态推断 scan 轴 dim - 触发 dense_size_list() / dense_size_str() 生成 dense tile layout - 基于 golden_var_list 推断当前 dense tile 中 r*(scan 轴)对应的维度位置,得到 dim - 若推断失败,再 fallback 到上游启发式:dim = triton_tensor_ndim() - num_reduction_dims - 统一使用同一个 dim - tl.associative_scan(..., dim, ...) - accumulator 形状:reduced_size[dim] = 1(保持 keepdim 一致) - triton_helpers.select_one(..., dim=dim, keep_dims=True) 该策略保证 scan 的 axis 与 dense layout 一致,覆盖 dim=0 / dim=1 / dim=-1 等常见场景。 ## 测试 测试用例从如下几个角度对特性进行了验证,使用的scan算子是aten.cumsum,reduction算子是aten.sum: 1、张量维度:验证了二维、三维场景下的scan类算子的codegen正确性 2、算子融合正确性:验证了aten.cumsum算子和pointwise算子、reduction算子的融合后的codegen以及计算结果正确性 3、规约轴切分场景:验证了规约轴过长,需要切分规约轴进行计算的场景。 测试结果如下,所有测试用例全部通过:  ## 关键概念说明 ### Scan IR / ops.scan Inductor 在 lowering aten.cumprod / aten.cumsum / aten.logcumsumexp 等“前缀累计”算子时,通常会生成 ops.scan(IR 层可表现为 ir.Scan)。 scan 和 reduction 的关键区别: - reduction:沿某个轴把值“聚合成更少的元素”(例如 sum/max),输出维度消失或 keepdim。 - scan:沿某个轴输出“每个前缀”的结果(例如 cumprod),输出维度保留,语义对顺序更敏感。 实现上,scan 在 Triton 侧通常会生成 tl.associative_scan,要求 combine 函数满足结合律(associative)。 ### inside_reduction=True 在 NPU 的 Triton codegen/调度框架里,scan kernel 往往也会被标记为 inside_reduction=True(因为它同样存在一个 r* 轴,并且需要类似 reduction 的轴/分块处理)。 但这并不意味着它一定存在一个 torch._inductor.ir.Reduction 节点。 ### ReductionAnalysis ReductionAnalysis 是为 ir.Reduction 节点服务的分析器,用于推导 reduction 相关的 dense shape、reduced_dim 等信息。 scan kernel 可能没有 ir.Reduction 节点,如果在 scan 场景错误地实例化 ReductionAnalysis,就会在内部寻找 reduction node 时直接报错(failed to get one reduction node)。 补充:kernel.find_reduction_node() 返回值为 ir.Reduction 实例或 None,用于判断当前 kernel 是否真的包含 reduction 节点。 ### Cooperative reduction cooperative reduction 指“多个 program/block 协作完成同一个 reduction 输出”的优化策略(例如并行计算 partial reduce,然后再做跨 program 合并)。 对 scan 来说,不能直接复用 cooperative reduction 的“拆分 r 轴 + 末端合并”模式:scan 需要跨块传递前缀状态(prefix carry),否则会破坏前缀结果的正确性。因此上游 Inductor 以及本次 NPU 适配都选择:scan 场景禁用 cooperative reduction。 ### Dense layout / dense_size_list() / dense_size_str() 在 Triton codegen 中,scan 会先把输入值 broadcast 成一个“dense tile”,然后对该 tile 的某个维度调用 tl.associative_scan。 dense_size_list() / dense_size_str() 就是生成这个 dense tile 的形状(例如 [R, X] 或 [X, R])的工具函数。 ### golden_var_list golden_var_list 是 NPU index codegen 用于确定 tile 维度顺序(layout)的关键变量列表。dense tile 的轴顺序会随其推导结果而变化,这也是 scan 不能把 axis 写死的根本原因。 ## 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!31313 | 5 个月前 | |
[Inductor] refactor inductor Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !30965 merge v2.7.1-dev into v2.7.1 [Inductor] refactor inductor Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: # 【合入来源】 Inductor Refactor - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 1. remove some useless patch like inductor meta. 2. remove runtime.py and move patch func into runtime folder 3. move device_op_overrides into codegen/npu to fork community 4. remove AOTI debug config, remove useless patch 5. speed up triton kernel run() # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ci passes # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!30965 | 4 个月前 | |
[inductor][Feature] Adaptive Gear Update Co-authored-by: zhudada0120<zhuguanda@huawei.com> # message auto-generated for no-merge-commit merge: !35530 merge v2.7.1-gear into v2.7.1 [inductor][Feature] Adaptive Gear Update Created-by: zhudada Commit-by: zhudada0120 Merged-by: ascend-robot Description: ## 1. 背景 当前 torch_npu inductor 动态 shape 的 gear 分档主要在初始化阶段确定,后续运行过程中基本保持不变。这种静态分档策略在实际 workload 中可能暴露出两类问题: 1. 部分档位利用率低:初始化的档位分布可能与实际 shape 分布不匹配,导致某些档位长期闲置,浪费预留资源 2. padding 比例过高:档位设置不合理时,大量请求会被映射到偏大的档位,导致受控维度上持续的高比例 padding,降低计算效率 为解决上述问题,需要引入自适应档位更新机制,根据运行时统计动态调整档位分布,在保持稳定性的同时提升资源利用率。 系统在运行期间持续回答三个问题:当前哪些 gear 值得保留、哪些可以安全删除、哪些区域值得新增。 ## 2. 设计目标 1. 优先保留近期命中率高、padding/split 代价低的 gear 2. 在有限资源预算下,让 gear 集合朝更高收益方向演化 3. 支持单维 BATCHSIZE / SEQLEN 及双维组合场景 4. 更新不破坏请求一致性:通过锁保证原子性,通过快照保证请求线程不受影响 ## 3. 总体运行时流程 ### 3.1 端到端闭环 mermaid flowchart LR A[请求进入 shape handling] --> B[读取当前 gears 快照] B --> C[按 current gears 执行 transform] C --> D[记录 raw shape / mapped gear / pad / split] D --> E[执行 compiled graph] E --> F[执行 recover] F --> G[请求返回] H[Worker 线程定时醒来] --> I{检查触发条件} I -- 距上次更新 ≥ 300s --> J[执行更新] I -- 显存使用率 ≥ 阈值 --> J I -- 都不满足 --> H J --> K[加锁: 获取快照 + 构建统计 + 打分 + 淘汰 + 新增 + 预算判断] K --> L[更新 current gears 快照] L --> M[调用 pool.remove_by_keys 清理 graph] M --> H ### 3.2 职责划分 - **请求线程**:get_snapshot() 读快照 → transform → src_fn(compile+execute) → consume_recent_keys() → record_event → recover - **Worker daemon 线程**:每 60s 检查触发条件 → run_once(在 _commit_lock 下完成打分、淘汰、新增、提交)→ 锁外 pool.remove_by_keys mermaid sequenceDiagram participant Req as 请求线程 participant RT as AdaptiveGearRuntime participant Worker as Worker 线程 (daemon) participant WK as GearUpdateWorker Note over Worker: 每 60s 醒来一次 Req->>RT: get_snapshot() (无锁读) RT-->>Req: gears 快照副本 Req->>RT: record_event(...) RT-->>Req: 返回 Note over Req,RT: 请求线程只做快照读取和事件记录 Worker->>Worker: _should_trigger_update() alt 触发条件满足 Worker->>WK: run_once(now_ts) Note over WK: 在 _commit_lock 保护下 WK->>RT: get_snapshot() + build_stats_snapshot() WK->>WK: score / evict / add / budget WK->>RT: commit_update() Note over WK: 释放 _commit_lock WK->>WK: pool.remove_by_keys(keys) else 条件不满足 Worker->>Worker: 继续等待 end ### 3.3 并发控制 | 锁 | 保护对象 | 使用场景 | |---|---|---| | _sample_lock | _states 读写 | record_event、build_stats_snapshot、_collect_cleanup_keys | | _commit_lock | 更新计算串行化 | run_once 全程 | | GearSnapshotStore._lock | 快照写入 | publish_snapshot | get_snapshot() 无锁(clone-on-read),请求线程不阻塞。graph 清理在所有锁外执行。 ### 3.4 Graph 清理机制 图资源通过 GraphResourcePool(per-device 单例)管理,使用**不透明整数句柄**作为 key: python pool = GraphResourcePool.get_pool(device_index) key = pool.register(resource) # 下层 — graph capture 期间 → int keys = pool.consume_recent_keys() # 上层 — src_fn 返回后 → List[int] pool.remove_by_keys([42, 43]) # 后台 — gear 淘汰后 (幂等) 只有下层构造 key,上层通过 consume_recent_keys() 读回,从根本上消除 key 一致性问题。 **完整生命周期**: mermaid sequenceDiagram participant NF as new_fn (上层) participant SF as src_fn participant RF as record_function (下层) participant Pool as GraphResourcePool participant MGR as AdaptiveGearRuntime participant WK as GearUpdateWorker (后台) Note over NF: variant 0: BATCHSIZE→32, SEQLEN→128 NF->>SF: src_fn(call_args) activate SF loop 每个子图 (graph break) SF->>RF: record_function(sub_inputs, func_id) RF->>RF: node = NPUGraphNode(...) RF->>Pool: key = pool.register(node) Note over Pool: _entries[key] = node<br/>_pending_by_thread[tid].append(key) Pool-->>RF: key (int, e.g. 100) end SF-->>NF: result deactivate SF NF->>Pool: keys = pool.consume_recent_keys() Pool-->>NF: [100, 101, 102] Note over Pool: _pending_by_thread[tid] 已清空 loop 每个 key NF->>MGR: record_event(..., cleanup_key=key) MGR->>MGR: state["BATCHSIZE:32"].cleanup_keys.add(key) MGR->>MGR: state["SEQLEN:128"].cleanup_keys.add(key) end Note over WK: --- 后台:gear 淘汰 (每 60s) --- WK->>MGR: commit_update(removed_gears=["BATCHSIZE:32"]) MGR->>MGR: 收集 cleanup_keys = {100, 101, 102} MGR-->>WK: removed_keys = [100, 101, 102] WK->>Pool: remove_by_keys([100, 101, 102]) loop 每个 key Pool->>Pool: resource = _entries.pop(key, None) alt resource 存在 Pool->>Pool: torch.npu.synchronize() Pool->>Pool: resource.release() / reset() else resource 不存在 (已删) Note over Pool: pop 返回 None,跳过 end end **线程隔离**:register 和 consume_recent_keys 构成 per-thread 生产者-消费者对。register 在 _lock 下自增分配 key,追加到 _pending_by_thread[tid];consume 排空当前线程的 pending 列表。不同线程互不干扰,同一函数断图产生的 N 个 key 在同一线程上一次性全部消费。 **Key-Gear 关联**:一个 variant 内产生的所有子图 key 挂到该 variant 命中的全部 gear 上。任意 gear 淘汰后该 shape 组合不再生成,所有依赖子图都应清理。收集到的 key 传给 remove_by_keys,使用 _entries.pop(key, None) 保证幂等——同一 key 被多个 gear 共享时,首次淘汰 pop 拿到资源并释放,后续 pop 返回 None 跳过。 ## 4. 时间窗口与统计规则 - 窗口长度 300s(window_seconds),半衰期 150s,衰减系数 $\lambda = \frac{\ln 2}{150}$ - 事件权重:$w_t(e) = \exp(-\lambda \cdot \Delta t_e)$ 对 gear $g$: $$ hit\_rate_g = \frac{\sum_{e \in g} w_t(e)}{\sum_{e \in all} w_t(e)} \qquad avg\_pad_g = \frac{\sum_{e \in g} w_t(e) \cdot pad\_ratio(e)}{\sum_{e \in g} w_t(e)} \qquad avg\_split_g = \frac{\sum_{e \in g} w_t(e) \cdot split\_ratio(e)}{\sum_{e \in g} w_t(e)} $$ 双维场景按维度独立统计。 ## 5. 基础打分 单一公式:$Score_g = w_h H_g - w_p P_g - w_{sp} SP_g$ 默认权重:$w_h = 0.60$,$w_p = 0.20$,$w_{sp} = 0.20$。命中率越高分越高,padding/split 越高分越低。双维按两个独立一维问题处理。 ## 6. 淘汰机制 **触发**:定时(距上次 ≥ update_interval_seconds,默认 300s)或显存压力(≥ device_memory_usage_threshold_ratio)。 **多层过滤**(每维度至多淘汰 1 个): 1. 跳过最大 gear(max_gear_by_type) 2. 使用保护:now - max(created_ts, last_hit_ts) < recent_use_protect_seconds(默认 300s)→ 跳过 3. 数量下限:len(gears) ≤ min_gear_count_per_type → 跳过 4. 替代损失:计算删除后 raw_samples 重映射到最佳替代 gear 的平均损失,超过 replace_loss_threshold(0.60)→ 跳过并延长保护 mermaid flowchart TD A[按维度分组构建候选队列] --> B{候选为空?} B -- 是 --> Z[结束] B -- 否 --> C[按维度遍历] C --> D{该维度 gear 数 > 下限?} D -- 否 --> C D -- 是 --> E[过滤: 跳过最大 gear / 使用保护窗口过滤] E --> F{过滤后仍有候选?} F -- 否 --> C F -- 是 --> G[取最低分候选] G --> H{替代损失超过阈值?} H -- 是 --> I[延长保护窗口] I --> C H -- 否 --> J[标记 gear 为待淘汰] J --> K[继续下一个维度或结束] K --> Z 提交阶段:加锁更新 current_gears,收集 cleanup_keys,删除 GearRuntimeState。清理阶段:锁外 pool.remove_by_keys(keys)。 ## 7. 新增机制 两类独立触发(共用同一份窗口统计): - **padding 驱动**:pad_sample_count ≥ add_min_samples 且 avg_pad ≥ pad_add_threshold(默认 0.35) - **split 驱动**:split_sample_count ≥ add_min_samples 且 avg_split ≥ split_add_threshold(默认 0.20),仅对最大 gear 生效 候选值 = median(raw_samples),去重后按 pressure 排序。显存超阈值时 budget = len(removed_gears)(替换式新增),否则不限制。每个 shape_type 上限 max_gears_per_type(默认 64)。 mermaid flowchart TD A["遍历所有 gear 的窗口统计"] --> B{"当前 gear 是最大档位?"} B -- 是 --> C["检查 split:<br>avg_split >= theta 且样本数 >= N_min?"] B -- 是 --> D["检查 pad:<br>avg_pad >= theta 且样本数 >= N_min?"] B -- 否 --> D C -- 是 --> E["g_new = median(raw_samples)<br>候选类型: 新最大档位"] D -- 是 --> E C -- 否 --> F["不触发 split 新增"] D -- 否 --> G["不触发 pad 新增"] E --> H["加入候选集合"] H --> I["所有候选按 pressure 排序"] I --> J{"显存压力高?"} J -- 是 --> K["budget = 已淘汰 gear 数<br>(替换式新增)"] J -- 否 --> L["budget = 无限制<br>(直接新增)"] K --> M L --> M["按 pressure 顺序遍历候选"] M --> N{"budget 耗尽?"} N -- 是 --> O["结束"] N -- 否 --> P["加入 active_gears<br>budget -= 1"] P --> M ## 8. 资源预算 - device_memory_usage_ratio = 1 - free / total,通过 torch.npu.mem_get_info() 获取 - 达到 device_memory_usage_threshold_ratio(默认 0.90)时立即触发更新,新增转为替换式(addition_budget = len(removed_gears)) - 配置为 None 时不启用显存检查 ## 9. 测试覆盖 测试文件:test/_inductor/test_shape_handling.py(63 个用例)、test/npu/test_graph_tree.py(15 个用例)。 元数据采集 ─── transform metadata → raw/mapped shapes → pad/split ratios 统计采集 ─── snapshot 创建 → record_event → build_stats ├─ pad/split 分离统计 ├─ 双维独立统计 └─ cleanup_keys 追踪 (Set[int]) 淘汰决策 ─── 基础打分 → 保护过滤 → 替代损失 → 提交 ├─ 最近使用/新建保护 ├─ 零使用优先淘汰 └─ 最大 gear 跳过 新增决策 ─── pad 驱动 / split 驱动 → 候选生成 → 重复过滤 → 提交 资源守卫 ─── 显存压力 ─┬─ 触发更新 └─ 阻止直接新增 并发安全 ─── daemon 线程 ── _commit_lock 串行化 ── 快照隔离 ── 高并发稳定性 GraphResourcePool ─── register → consume_recent_keys → remove_by_keys ├─ per-thread 线程隔离 └─ 幂等删除 ## 10. 实现边界限制 1. 双维场景分维独立决策,不构造联合候选 2. 显存使用率基于当前观测值,不预测新增后的增量 3. 新增候选仅做精确重复检查,不做距离阈值过滤 4. 每轮每维度至多淘汰 1 个 gear,数量远超下限时需多轮收敛 ## 11. 总结 本方案引入运行时自适应齿轮调整机制:通过时间衰减窗口统计量化 gear 价值,经多层过滤实现可解释的淘汰决策,由 padding/split 信号驱动新增,在显存预算约束下控制 gear 数量。请求线程无锁读取快照,后台 daemon 线程自主触发更新,graph 清理在锁外幂等执行。 See merge request: Ascend/pytorch!35530 | 1 个月前 | |
fx_optimal UT Test Co-authored-by: xudezheng<xudezheng1@huawei.com> # message auto-generated for no-merge-commit merge: !35572 merge fx_opt into v2.7.1 fx_optimal UT Test Created-by: crazyDannyBoy Commit-by: xudezheng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35572 | 3 个月前 | |
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
meta_check Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !29835 merge v2.7.1 into v2.7.1 meta_check Created-by: cuiduo Commit-by: cuiduo Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug **What does this PR do / why do we need it**:Fix the "unknown format type" error for resize_as_ and squeeze_ operators in Triton mode, ensuring their proper integration into Inductor. See merge request: Ascend/pytorch!29835 | 6 个月前 | |
【inductor】Temporarily close some inductor ci tests, accelarate ci access control Co-authored-by: kkjocker<hexuanyu1@huawei.com> # message auto-generated for no-merge-commit merge: !30302 merge v2.7.1_main into v2.7.1 【inductor】Temporarily close some inductor ci tests, accelarate ci access control Created-by: kkjocker Commit-by: kkjocker Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!30302 | 6 个月前 | |
| 11 个月前 | ||
| 11 个月前 | ||
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35871 merge v2.7.1_lintrunner into v2.7.1 fix: lintrunner --all-files --take NEWLINE -a Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35871 | 2 个月前 | |
add torch mlir ut case Co-authored-by: bigprestigee1<zhangyican@huawei.com> # message auto-generated for no-merge-commit merge: !31636 merge v2.7.1 into v2.7.1 add torch mlir ut case Created-by: bigprestigee1 Commit-by: bigprestigee1 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!31636 | 5 个月前 | |
| 11 个月前 | ||
update costmodel usage Co-authored-by: ZhangZGC<8623924@qq.com> # message auto-generated for no-merge-commit merge: !37019 merge v2.7.1_costmodel into v2.7.1 update costmodel usage Created-by: ZhangZGC Commit-by: ZhangZGC Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 [#2088](https://gitcode.com/Ascend/pytorch/issues/2088) # 【修改方案】 1、修改ta costmodel接口调用的形式,将入参改为config + ttir + 必要的参数; 2、将topk环境变量改为ratio,用于适配config数量差距特别大的情况,按照比例来过滤config。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37019 | 2 个月前 | |
[Inductor] bugfix for simt kernel launch Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !39153 merge v2.7.1-cat-backup into v2.7.1 [Inductor] bugfix for simt kernel launch Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/2478?ref=&did=4113218#tid-4113218 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 不涉及 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39153 | 1 个月前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35871 merge v2.7.1_lintrunner into v2.7.1 fix: lintrunner --all-files --take NEWLINE -a Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35871 | 2 个月前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35871 merge v2.7.1_lintrunner into v2.7.1 fix: lintrunner --all-files --take NEWLINE -a Created-by: huangjingwei Commit-by: huangjingwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35871 | 2 个月前 | |
[fix]user_autotune_npu Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !31861 merge v2.7.1 into v2.7.1 [fix]user_autotune_npu Created-by: cuiduo Commit-by: cuiduo Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 为NPU增加自定义算子接口user_autotune_npu,以替代原本的user_autotune包装器,同时增加FixedGridNpu与PrecomputedGridNpu适配,确保自定义算子正常运行 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 以增加UT # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!31861 | 4 个月前 | |
| 11 个月前 | ||
[fix] cat refact of dsl change caused multi stream codegen fail Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !35144 merge v2.7.1_8 into v2.7.1 [fix] cat refact of dsl change caused multi stream codegen fail Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35144 | 3 个月前 | |
[Inductor] fix rms norm reduction Co-authored-by: luqichao<luqichao1@huawei.com> # message auto-generated for no-merge-commit merge: !39995 merge bugfix/rms_norm_codegen into v2.7.1 [Inductor] fix rms norm reduction Created-by: luqichao Commit-by: luqichao Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39995 | 29 天前 | |
【inductor】Temporarily close some inductor ci tests, accelarate ci access control Co-authored-by: kkjocker<hexuanyu1@huawei.com> # message auto-generated for no-merge-commit merge: !30302 merge v2.7.1_main into v2.7.1 【inductor】Temporarily close some inductor ci tests, accelarate ci access control Created-by: kkjocker Commit-by: kkjocker Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Which issue(s) this PR fixes**: <!-- *Automatically closes linked issue when PR is merged. Usage: Fixes #<issue number>, or Fixes (paste link of issue). --> Fixes # **Special notes for your reviewers**: See merge request: Ascend/pytorch!30302 | 6 个月前 | |
[Inductor] remove inductor static mode and interface.cpp in inductor Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !39987 merge v2.7.1-dev into v2.7.1 [Inductor] remove inductor static mode and interface.cpp in inductor Created-by: zhucehw Commit-by: zhuceHW Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/2526?ref=&did=4121203#tid-4121203 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. no more support inductor static mode 2. remove useless patch in cpp_wrapper.py 3. remove interface.cpp in inductor, use _adapt_community_interface_cpp to change str 4. recheck impl of CPP_TO_DTYPE in cpp_wrapper, use copied dict for codegen # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 CI PASS # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39987 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 11 个月前 | ||
| 3 个月前 | ||
| 5 个月前 | ||
| 6 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 6 个月前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 11 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 6 个月前 | ||
| 3 个月前 | ||
| 11 个月前 | ||
| 3 个月前 | ||
| 6 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 7 个月前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 11 个月前 | ||
| 2 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 6 个月前 | ||
| 5 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 5 个月前 | ||
| 7 个月前 | ||
| 6 天前 | ||
| 2 个月前 | ||
| 11 个月前 | ||
| 7 个月前 | ||
| 11 个月前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 6 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 24 天前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 11 个月前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 11 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 6 个月前 | ||
| 11 个月前 | ||
| 2 个月前 | ||
| 11 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 6 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 7 个月前 | ||
| 6 个月前 | ||
| 1 个月前 | ||
| 10 个月前 | ||
| 3 个月前 | ||
| 5 个月前 | ||
| 6 个月前 | ||
| 2 个月前 | ||
| 6 天前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 5 个月前 | ||
| 9 个月前 | ||
| 1 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 11 个月前 | ||
| 2 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 3 个月前 | ||
| 6 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 2 个月前 | ||
| 5 个月前 | ||
| 11 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 11 个月前 | ||
| 3 个月前 | ||
| 29 天前 | ||
| 6 个月前 | ||
| 1 个月前 |