| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
change force_simt_only to is_pure_simtf for TA adaption Co-authored-by: TonyYA<pangjiayi@huawei.com> # message auto-generated for no-merge-commit merge: !45380 merge master_0827 into master change force_simt_only to is_pure_simtf for TA adaption Created-by: TonyYA Commit-by: TonyYA Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/4391 - [ ] 需求 - [ ] 问题单 - [ ] 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!45380 | 1 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
add white list for 2.13 Co-authored-by: TonyYA<pangjiayi@huawei.com> # message auto-generated for no-merge-commit merge: !45391 merge master_ci_0827 into master add white list for 2.13 Created-by: TonyYA Commit-by: TonyYA Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 issue #4455 - [ ] 需求 - [ ] 问题单 - [ ] 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!45391 | 1 个月前 | |
adapt pytorch2.13 for_inductor Co-authored-by: TonyYA<pangjiayi@huawei.com> Co-authored-by: zhoupeng<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !41858 merge pta_master0714 into master adapt pytorch2.13 for_inductor Created-by: TonyYA Commit-by: TonyYA;zhoupeng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/3056 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、本次修改将2.10的inductor代码(截至7.11最后一笔)同步到master(2.13)分支 2、针对社区接口变动及参数调整做适配修改 3、整体架构保持与2.10 inductor一致,未做架构级别重构调整 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 端到端模型验证表格 https://onebox.huawei.com/v/6d6647cf5de9b3f8a5118370ddb7a875?type=1&sheet=master%E5%88%86%E6%94%AF%E6%A8%A1%E5%9E%8B%E6%B5%8B%E8%AF%95 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41858 | 2 个月前 | |
add white list for 2.13 Co-authored-by: TonyYA<pangjiayi@huawei.com> # message auto-generated for no-merge-commit merge: !45391 merge master_ci_0827 into master add white list for 2.13 Created-by: TonyYA Commit-by: TonyYA Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 issue #4455 - [ ] 需求 - [ ] 问题单 - [ ] 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!45391 | 1 个月前 | |
add_npu_backend_init_log Co-authored-by: 1479518308<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !39404 merge master into master 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!39404 | 3 个月前 | |
add_triton_warning Co-authored-by: 1479518308<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !39040 merge master into master 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!39040 | 3 个月前 | |
[inductor] Add akg backend ut. Co-authored-by: huawuyi<liuxuehui4@huawei.com> # message auto-generated for no-merge-commit merge: !38584 merge master into master [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!38584 | 3 个月前 | |
refactor(inductor): isolate NPU integrations by device Co-authored-by: Xuan Peng<hin.meego@gmail.com> # message auto-generated for no-merge-commit merge: !42564 merge br/inductor-refactor-part1-0723 into master refactor(inductor): isolate NPU integrations by device Created-by: HinPeng Commit-by: Xuan Peng Merged-by: ascend-robot Description: Issue: https://gitcode.com/Ascend/pytorch/issues/3329 ## Summary PyTorch Inductor keeps lowerings in a global registry. Previously, importing torch_npu replaced community lowerings globally, so CPU nodes in a mixed CPU/NPU FX graph could enter NPU-specific lowering and autotuning paths. This change installs a device-aware lowering dispatcher: NPU nodes use the NPU lowering, while non-NPU nodes retain the original upstream lowering. ## Changes - Consolidate the NPU autotune runtime and simplify NPU scheduling setup needed by the device-specific lowering path. - Isolate FX patches by device to avoid applying NPU behavior to non-NPU graphs. - Add _make_device_lowering_dispatcher and install it around overridden Inductor lowerings. - Keep the original upstream lowering available for CPU and other non-NPU devices. - Update mm, bmm, flex_attention, and grouped MM call sites for the PyTorch 2.13 (node, choice) algorithm-selector ABI. - Make the NPU algorithm selector delegate non-NPU layouts to the upstream selector with the full PyTorch 2.13 call contract - Add coverage for device dispatch, selector compatibility, CPU GEMM fallback, and mixed-device graph partitioning. <!-- 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!42564 | 2 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[Inductor] master branch support AOTI and cpp_wrapper Co-authored-by: qiaoyaodan888<qiaoyaodan@huawei.com> Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !42521 merge main-0720 into master [Inductor] master branch support AOTI and cpp_wrapper Created-by: zhucehw Commit-by: zhuceHW;qiaoyaodan888;zhucehw Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/2526?ref=&did=4121203#tid-4121203 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. add cpp_wrapper and AOTI support for master branch 2. sync files from torch2.13 aoti_runtime and aoti_torch 3. format c++ file whitespace num 4. skip lazy compile for cpp_wrapper # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 CI PASS # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42521 | 2 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
lower _assert_scalar op Co-authored-by: lihui<lihui488@huawei.com> # message auto-generated for no-merge-commit merge: !28611 merge asmaster into master lower _assert_scalar op 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 **What does this PR do / why do we need it**: 客户现场问题,动态shape的_assert_scalar fallback后会报错;triton里面有三行死代码,特定情况下也会报错 **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!28611 | 9 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
refactor(inductor): isolate NPU integrations by device Co-authored-by: Xuan Peng<hin.meego@gmail.com> # message auto-generated for no-merge-commit merge: !42564 merge br/inductor-refactor-part1-0723 into master refactor(inductor): isolate NPU integrations by device Created-by: HinPeng Commit-by: Xuan Peng Merged-by: ascend-robot Description: Issue: https://gitcode.com/Ascend/pytorch/issues/3329 ## Summary PyTorch Inductor keeps lowerings in a global registry. Previously, importing torch_npu replaced community lowerings globally, so CPU nodes in a mixed CPU/NPU FX graph could enter NPU-specific lowering and autotuning paths. This change installs a device-aware lowering dispatcher: NPU nodes use the NPU lowering, while non-NPU nodes retain the original upstream lowering. ## Changes - Consolidate the NPU autotune runtime and simplify NPU scheduling setup needed by the device-specific lowering path. - Isolate FX patches by device to avoid applying NPU behavior to non-NPU graphs. - Add _make_device_lowering_dispatcher and install it around overridden Inductor lowerings. - Keep the original upstream lowering available for CPU and other non-NPU devices. - Update mm, bmm, flex_attention, and grouped MM call sites for the PyTorch 2.13 (node, choice) algorithm-selector ABI. - Make the NPU algorithm selector delegate non-NPU layouts to the upstream selector with the full PyTorch 2.13 call contract - Add coverage for device dispatch, selector compatibility, CPU GEMM fallback, and mixed-device graph partitioning. <!-- 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!42564 | 2 个月前 | |
fix(inductor): keep autotune from nesting a profiler session Co-authored-by: xudezheng<xudezheng1@huawei.com> # message auto-generated for no-merge-commit merge: !44898 merge sync-pr44117-to-master into master fix(inductor): keep autotune from nesting a profiler session 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!44898 | 1 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
api_trace_rule_changes Co-authored-by: sunhaolun<sunhaolun3@huawei.com> # message auto-generated for no-merge-commit merge: !30549 merge master into master 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!30549 | 8 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 4 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
adapt pytorch2.13 for_inductor Co-authored-by: TonyYA<pangjiayi@huawei.com> Co-authored-by: zhoupeng<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !41858 merge pta_master0714 into master adapt pytorch2.13 for_inductor Created-by: TonyYA Commit-by: TonyYA;zhoupeng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/3056 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、本次修改将2.10的inductor代码(截至7.11最后一笔)同步到master(2.13)分支 2、针对社区接口变动及参数调整做适配修改 3、整体架构保持与2.10 inductor一致,未做架构级别重构调整 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 端到端模型验证表格 https://onebox.huawei.com/v/6d6647cf5de9b3f8a5118370ddb7a875?type=1&sheet=master%E5%88%86%E6%94%AF%E6%A8%A1%E5%9E%8B%E6%B5%8B%E8%AF%95 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41858 | 2 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 4 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
fix: pass map_location to _legacy_load in torch_npu.utils.load for torch.compile cache Co-authored-by: LucciC<cuiliangcheng2@hisilicon.com> Co-authored-by: wuyouqi1<wuyouqi1@h-partners.com> # message auto-generated for no-merge-commit merge: !43270 merge master-restore-load into master fix: pass map_location to _legacy_load in torch_npu.utils.load for torch.compile cache Created-by: wuyouqi1 Commit-by: wuyouqi1;LucciC Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 关联 issue: https://gitcode.com/Ascend/pytorch/issues/3005 (Fixes #3005) 恢复 torch_npu.utils.load 在 legacy(非 zip)加载分支对 map_location 的透传,修复 torch.compile 缓存加载在 NPU 上的功能问题。此前该改动被 fix: Revert "modifty torch_npu.utils.load for torch.compile cache use" 回退,本次恢复原始修改。 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. torch_npu/utils/serialization.py 的 load 函数中,当走 legacy 加载分支且未命中 (torch.device, str) 类型分支时,将 _legacy_load(opened_file, "cpu", ...) 改为 _legacy_load(opened_file, map_location, ...),使加载结果按 map_location 正确映射到目标设备,保证 torch.compile 缓存场景下的加载行为正确。 2. test/npu/test_serialization.py 恢复 test_legacy_load_maplocation 用例,覆盖 legacy load 的 map_location 映射。 本修改等价于恢复 "modifty torch_npu.utils.load for torch.compile cache use" 的原始改动,仅涉及上述两个文件。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 - 场景:torch_npu.utils.load 在 legacy 分支下的 map_location 映射;torch.compile 缓存加载。 - 方法:运行单测 test/npu/test_serialization.py::TestSerialization::test_legacy_load_maplocation。 - 新增/变更内容已通过 test_legacy_load_maplocation UT 用例看护。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43270 | 2 个月前 | |
fix_device_dynamo_trace Co-authored-by: sunhaolun<sunhaolun3@huawei.com> # message auto-generated for no-merge-commit merge: !31555 merge master into master 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!31555 | 7 个月前 | |
move_npu_patch_meta_to_module_level Co-authored-by: 1479518308<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !39684 merge master into master 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!39684 | 3 个月前 | |
refactor: isolate NPU costmodel autotuner Co-authored-by: Car0tte<carottezhao@gmail.com> # message auto-generated for no-merge-commit merge: !45967 merge refactor/npu-costmodel-autotuner-master into master refactor: isolate NPU costmodel autotuner Created-by: Car0tte Commit-by: Car0tte Merged-by: ascend-robot Description: # 【合入来源】 > (如有)请关联需求文档/issue链接 - [ ] 需求 - [ ] 问题单 - [x] issue/工单:#4245 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 本 PR 为纯代码结构重构,将 CostModel 逻辑从 NPUCachingAutotuner 基类隔离至新增子类 NPUCostModelAutotuner,不改变原有 CostModel 算法、筛选比例、TTIR 构造、编译策略和 fallback 行为。 类关系调整如下: text NPUCachingAutotuner ├── NPUCostModelAutotuner │ └── NPUDebugAutotuner ├── NPUSymbolicGroupedAutotuner └── NPUFastAutotuner 具体实现: 1. 新增 NPUCostModelAutotuner(NPUCachingAutotuner),迁移原先位于基类中的 CostModel 状态和逻辑,包括: - CostModel 运行时参数保存与解析; - TTIR、参数绑定和 CostModel 输入构造; - CostModel 预测、排序、inf 过滤和候选配置剪枝; - 首选配置编译失败时,对被过滤配置进行 fallback 重试。 2. NPUCachingAutotuner 删除 CostModel 专属状态与实现,仅保留通用 autotune、预编译、编译和 launcher 构建流程;通过扩展点支持 CostModel 子类接入,保持原执行时序。 3. cached_autotune() 根据 enable_costmodel_prefilter 选择默认 autotuner: - 开启时创建 NPUCostModelAutotuner; - 关闭时创建 NPUCachingAutotuner。 4. NPUDebugAutotuner 继承 NPUCostModelAutotuner,保留 Debug 场景的 CostModel 支持;NPUSymbolicGroupedAutotuner、NPUFastAutotuner 保持直接继承 NPUCachingAutotuner,不引入 CostModel。 5. 将 CostModel 过滤结果命名为: - filtered_win_configs:预测后保留、优先编译的配置; - filtered_out_configs:未选中配置,仅在首选配置全部编译失败时作为 fallback。 fallback 结束后清理 _costmodel_fallback_configs,避免状态残留。 6. 保留原有 DFX 日志和异常处理行为,新增逻辑不改变对外接口。 # 【资料变更】 不涉及。 # 【接口变更】 不涉及跨仓接口或客户面可见接口变更。 # 【功能验证】 1. 聚焦回归测试: text test/_inductor/test_costmodel_autotuner.py test/_inductor/test_autotune_profiler_session.py 10 passed 覆盖 CostModel 配置排序、inf 过滤、按比例剪枝、编译失败 fallback、fallback 状态清理等逻辑。 2. 功能验收测试: text TritonAutomation-main/testcase/inductorfeaturecases/11_Compilation_Latency_Optimization/test_compile_time_optimization_213.py Ran 39 tests in 2371.382s OK 覆盖 float32、float16、bfloat16,以及静态 shape、动态 shape、cpp wrapper 等场景。 3. 在以下环境变量下进行 CostModel 实测: text INDUCTOR_ASCEND_ENABLE_COSTMODEL=1 INDUCTOR_ASCEND_COSTMODEL_RATIO=0.25 插桩结果: - CostModel 实际执行 42 次过滤; - 共完成 31,382 次预测,结果均为有限值; - 候选配置按 costmodel_ratio=0.25 实际剪枝,例如: 140 -> 35、4218 -> 1055、5598 -> 1400。 4. master 分支适配验证: - 基于最新 upstream/master 完成 rebase; - master 版本 CostModel 聚焦测试:2 passed; - autotuner profiler 回归测试:8 passed; - Python 语法检查与 git diff --check 通过; - 本机仅有 torch 2.10 环境,master 当前面向 torch 2.13~2.15, 因此未在本机完成 master 匹配 wheel 的完整构建,完整验证由 master CI 流水线完成。 v2.10 分支已完成 39 项 NPU 功能验收测试,可作为重构前后行为一致性的参考, 但不作为 master wheel 的本地测试结果。 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!45967 | 1 个月前 | |
refactor(inductor): isolate NPU integrations by device Co-authored-by: Xuan Peng<hin.meego@gmail.com> # message auto-generated for no-merge-commit merge: !42564 merge br/inductor-refactor-part1-0723 into master refactor(inductor): isolate NPU integrations by device Created-by: HinPeng Commit-by: Xuan Peng Merged-by: ascend-robot Description: Issue: https://gitcode.com/Ascend/pytorch/issues/3329 ## Summary PyTorch Inductor keeps lowerings in a global registry. Previously, importing torch_npu replaced community lowerings globally, so CPU nodes in a mixed CPU/NPU FX graph could enter NPU-specific lowering and autotuning paths. This change installs a device-aware lowering dispatcher: NPU nodes use the NPU lowering, while non-NPU nodes retain the original upstream lowering. ## Changes - Consolidate the NPU autotune runtime and simplify NPU scheduling setup needed by the device-specific lowering path. - Isolate FX patches by device to avoid applying NPU behavior to non-NPU graphs. - Add _make_device_lowering_dispatcher and install it around overridden Inductor lowerings. - Keep the original upstream lowering available for CPU and other non-NPU devices. - Update mm, bmm, flex_attention, and grouped MM call sites for the PyTorch 2.13 (node, choice) algorithm-selector ABI. - Make the NPU algorithm selector delegate non-NPU layouts to the upstream selector with the full PyTorch 2.13 call contract - Add coverage for device dispatch, selector compatibility, CPU GEMM fallback, and mixed-device graph partitioning. <!-- 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!42564 | 2 个月前 | |
perf: defer dynamo and inductor imports on master Co-authored-by: stevenaw0<huangguijun@huawei.com> # message auto-generated for no-merge-commit merge: !44294 merge master_import_sync into master perf: defer dynamo and inductor imports on master Created-by: stevenaw0 Commit-by: stevenaw0 Merged-by: ascend-robot Description: ## 同步 v2.9.0_import 的 import 优化到 master ### 核心改动 将 NPU 的 Dynamo/Inductor 初始化从 import torch_npu 时立即执行改为**懒加载**: - import torch_npu 时不导入 torch._dynamo、torch._inductor、torch_npu._inductor - 仅在用户实际调用 torch.compile() 或触发 graph capture 时才初始化 Dynamo 集成 - 通过 setuptools entry points 和 meta_path finder 实现按需触发 - 支持并发首次调用、fork 后恢复、失败重试 ### 适配说明(master PyTorch 2.13+) - 保留 master 的 stream/event variable patches - 保留 make_config_entry 兼容封装(MIN_SUPPORTED >= 2.10) - 保留 master 的 _patch_flex_attention_device 和 _dump_snapshot - 合并懒加载基础设施与 master 的 new_init(name=None) 签名 ### 详见 master_syn.md 中的逐文件分类和冲突解决记录 See merge request: Ascend/pytorch!44294 | 2 个月前 | |
[Inductor] master branch support AOTI and cpp_wrapper Co-authored-by: qiaoyaodan888<qiaoyaodan@huawei.com> Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !42521 merge main-0720 into master [Inductor] master branch support AOTI and cpp_wrapper Created-by: zhucehw Commit-by: zhuceHW;qiaoyaodan888;zhucehw Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/2526?ref=&did=4121203#tid-4121203 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. add cpp_wrapper and AOTI support for master branch 2. sync files from torch2.13 aoti_runtime and aoti_torch 3. format c++ file whitespace num 4. skip lazy compile for cpp_wrapper # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 CI PASS # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42521 | 2 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
rewrite_dropout_meta_and_decompose Co-authored-by: sunhaolun<sunhaolun3@huawei.com> # message auto-generated for no-merge-commit merge: !33673 merge master into master 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!33673 | 6 个月前 | |
adapt pytorch2.13 for_inductor Co-authored-by: TonyYA<pangjiayi@huawei.com> Co-authored-by: zhoupeng<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !41858 merge pta_master0714 into master adapt pytorch2.13 for_inductor Created-by: TonyYA Commit-by: TonyYA;zhoupeng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/3056 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、本次修改将2.10的inductor代码(截至7.11最后一笔)同步到master(2.13)分支 2、针对社区接口变动及参数调整做适配修改 3、整体架构保持与2.10 inductor一致,未做架构级别重构调整 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 端到端模型验证表格 https://onebox.huawei.com/v/6d6647cf5de9b3f8a5118370ddb7a875?type=1&sheet=master%E5%88%86%E6%94%AF%E6%A8%A1%E5%9E%8B%E6%B5%8B%E8%AF%95 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41858 | 2 个月前 | |
feat(_inductor): Support DVM for the master branch Co-authored-by: huangchengnuo<huangchengnuo1@huawei.com> # message auto-generated for no-merge-commit merge: !39780 merge support-dvm-master-20260701 into master feat(_inductor): Support DVM for the master branch Created-by: SorryNaCN Commit-by: huangchengnuo Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [x] 重构优化 - [ ] 资料更新 关联社区 issue:https://gitcode.com/Ascend/pytorch/issues/1962 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 本 PR 将 v2.10.0 分支中已验证的 DVM 相关能力迁移到 master,为 inductor 增加 DVM 后端和融合支持。 1. 引入 DVM 第三方依赖并接入构建,仅在 .gitmodules 中新增 DVM submodule,保留目标分支已有 submodule 配置。 2. 新增/迁移 DVM inductor 代码,包括 mlir_fusion、graph_fusion、DVM op emitter、decomp、codegen、工具函数和相关测试。 3. 新增 DVM C++ pybind 接口,并在 _C 初始化阶段注册 torch_npu._C.dvm 相关绑定。 4. 调整 torch_npu._inductor 后端加载逻辑,支持 npu_backend=dvm;DVM 后端复用 MLIR patch 与 codegen backend 注册流程。 5. 调整 dynamo/inductor wrapper,使 mlir 与 dvm 路径通过 NPU backend scope 生效,覆盖初始化与调用阶段。 6. 补充 DVM 相关 UT 与 public bindings 清单,覆盖后端加载、kernel、graph fusion、mlir fusion 等场景。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及 torch_npu._inductor 的后端选择能力扩展: 1. 支持通过 torch._inductor.config.npu_backend = "dvm" 选择 DVM 后端。 2. 支持通过 torch.compile(..., options={"npu_backend": "dvm"}) 选择 DVM 后端。 3. 支持通过环境变量 TORCHINDUCTOR_NPU_BACKEND=dvm 选择 DVM 后端。 4. 新增 torch_npu._C.dvm C++ pybind 绑定,供 DVM Python 侧构图与运行调用。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已完成本地静态验证: 1. git diff --check origin/master 2. 对相对 origin/master 变更的 Python 文件执行 python -m py_compile 3. 已在 PR 评论中发送 compile 触发编译流水线 新增/迁移测试覆盖: 1. DVM kernel 基础能力测试 2. DVM graph fusion 测试 3. DVM mlir fusion 测试 4. DVM public bindings 清单校验 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39780 | 3 个月前 | |
support flex_attention in dvm backend Co-authored-by: hb_hubin<hubin79@huawei.com> # message auto-generated for no-merge-commit merge: !45348 merge master into master support flex_attention in dvm backend Created-by: hbhu_bin Commit-by: hb_hubin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> https://gitcode.com/Ascend/pytorch/issues/2466 # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 图模式DVM后端支持flex_attention的triton融合算子 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已补充测试用例,已支持flex_attention融合算子 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!45348 | 1 个月前 | |
feat(_inductor): Support DVM for the master branch Co-authored-by: huangchengnuo<huangchengnuo1@huawei.com> # message auto-generated for no-merge-commit merge: !39780 merge support-dvm-master-20260701 into master feat(_inductor): Support DVM for the master branch Created-by: SorryNaCN Commit-by: huangchengnuo Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [x] 重构优化 - [ ] 资料更新 关联社区 issue:https://gitcode.com/Ascend/pytorch/issues/1962 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 本 PR 将 v2.10.0 分支中已验证的 DVM 相关能力迁移到 master,为 inductor 增加 DVM 后端和融合支持。 1. 引入 DVM 第三方依赖并接入构建,仅在 .gitmodules 中新增 DVM submodule,保留目标分支已有 submodule 配置。 2. 新增/迁移 DVM inductor 代码,包括 mlir_fusion、graph_fusion、DVM op emitter、decomp、codegen、工具函数和相关测试。 3. 新增 DVM C++ pybind 接口,并在 _C 初始化阶段注册 torch_npu._C.dvm 相关绑定。 4. 调整 torch_npu._inductor 后端加载逻辑,支持 npu_backend=dvm;DVM 后端复用 MLIR patch 与 codegen backend 注册流程。 5. 调整 dynamo/inductor wrapper,使 mlir 与 dvm 路径通过 NPU backend scope 生效,覆盖初始化与调用阶段。 6. 补充 DVM 相关 UT 与 public bindings 清单,覆盖后端加载、kernel、graph fusion、mlir fusion 等场景。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及 torch_npu._inductor 的后端选择能力扩展: 1. 支持通过 torch._inductor.config.npu_backend = "dvm" 选择 DVM 后端。 2. 支持通过 torch.compile(..., options={"npu_backend": "dvm"}) 选择 DVM 后端。 3. 支持通过环境变量 TORCHINDUCTOR_NPU_BACKEND=dvm 选择 DVM 后端。 4. 新增 torch_npu._C.dvm C++ pybind 绑定,供 DVM Python 侧构图与运行调用。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已完成本地静态验证: 1. git diff --check origin/master 2. 对相对 origin/master 变更的 Python 文件执行 python -m py_compile 3. 已在 PR 评论中发送 compile 触发编译流水线 新增/迁移测试覆盖: 1. DVM kernel 基础能力测试 2. DVM graph fusion 测试 3. DVM mlir fusion 测试 4. DVM public bindings 清单校验 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39780 | 3 个月前 | |
feat(_inductor): Support DVM for the master branch Co-authored-by: huangchengnuo<huangchengnuo1@huawei.com> # message auto-generated for no-merge-commit merge: !39780 merge support-dvm-master-20260701 into master feat(_inductor): Support DVM for the master branch Created-by: SorryNaCN Commit-by: huangchengnuo Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [x] 重构优化 - [ ] 资料更新 关联社区 issue:https://gitcode.com/Ascend/pytorch/issues/1962 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 本 PR 将 v2.10.0 分支中已验证的 DVM 相关能力迁移到 master,为 inductor 增加 DVM 后端和融合支持。 1. 引入 DVM 第三方依赖并接入构建,仅在 .gitmodules 中新增 DVM submodule,保留目标分支已有 submodule 配置。 2. 新增/迁移 DVM inductor 代码,包括 mlir_fusion、graph_fusion、DVM op emitter、decomp、codegen、工具函数和相关测试。 3. 新增 DVM C++ pybind 接口,并在 _C 初始化阶段注册 torch_npu._C.dvm 相关绑定。 4. 调整 torch_npu._inductor 后端加载逻辑,支持 npu_backend=dvm;DVM 后端复用 MLIR patch 与 codegen backend 注册流程。 5. 调整 dynamo/inductor wrapper,使 mlir 与 dvm 路径通过 NPU backend scope 生效,覆盖初始化与调用阶段。 6. 补充 DVM 相关 UT 与 public bindings 清单,覆盖后端加载、kernel、graph fusion、mlir fusion 等场景。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及 torch_npu._inductor 的后端选择能力扩展: 1. 支持通过 torch._inductor.config.npu_backend = "dvm" 选择 DVM 后端。 2. 支持通过 torch.compile(..., options={"npu_backend": "dvm"}) 选择 DVM 后端。 3. 支持通过环境变量 TORCHINDUCTOR_NPU_BACKEND=dvm 选择 DVM 后端。 4. 新增 torch_npu._C.dvm C++ pybind 绑定,供 DVM Python 侧构图与运行调用。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已完成本地静态验证: 1. git diff --check origin/master 2. 对相对 origin/master 变更的 Python 文件执行 python -m py_compile 3. 已在 PR 评论中发送 compile 触发编译流水线 新增/迁移测试覆盖: 1. DVM kernel 基础能力测试 2. DVM graph fusion 测试 3. DVM mlir fusion 测试 4. DVM public bindings 清单校验 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!39780 | 3 个月前 | |
[bugfix][master] 修复DVM SiLU BF16精度不一致 Co-authored-by: huangchengnuo<huangchengnuo1@huawei.com> # message auto-generated for no-merge-commit merge: !45733 merge fix/master-dvm-silu-aclnn-precision into master [bugfix][master] 修复DVM SiLU BF16精度不一致 Created-by: SorryNaCN Commit-by: huangchengnuo Merged-by: ascend-robot Description: # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 关联 issue:https://gitcode.com/Ascend/pytorch/issues/4543 Fixes https://gitcode.com/Ascend/pytorch/issues/4543 # 【修改方案】 1. 在 DVM decomposition 中为 silu 和 silu_backward 使用 pw_cast_for_opmath,BF16/FP16 输入升到 FP32 计算,最终再转换回原 dtype;同时将该文件已有的手工 opmath cast 统一替换为该装饰器。 2. SiLU 前向按 ACLNN 的运算顺序实现为 x / (1 + exp(-x))。浮点计算不满足结合律,BF16 下 x * (1 / (1 + exp(-x))) 与 x / (1 + exp(-x)) 并非位级等价。 3. silu_backward 注册了 CompositeImplicitAutograd。AOTAutograd/DVM 图模式下,外层 FunctionalTensorMode 会先走 CIA 展开,导致 DVM 显式 decomposition 来不及命中,且展开计算没有按 ACLNN 的 opmath 路径升到 FP32。新增 CIA 排除列表,使该算子保留原始节点,再由 DVM decomposition 展开。 4. sigmoid 与 silu_backward 的倒数计算显式使用 aten.reciprocal(...),避免 Python Tensor.__rdiv__ 将 1.0 / tensor 展开成 reciprocal * 1.0 而引入冗余乘法。 # 【资料变更】 不涉及。 # 【接口变更】 不涉及。 # 【功能验证】 - 新增 BF16 SiLU forward/backward 与 eager ACLNN 位级对齐用例,并检查生成代码包含 DVM kernel。 - CANN 9.1.0 Beta3、torch 2.9.0、torch_npu 2.9.0.post3、Ascend910B3:normal、特殊值、uniform[-20, 20] 三组输入,每组 67591 个元素,SiLU forward/backward 相对原生 ACLNN 均为 0 mismatch,最大绝对误差为 0。 - master 最新目标分支上的 git diff --check、修改文件 py_compile、单提交及两文件变更检查通过。 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!45733 | 1 个月前 | |
fix(inductor): keep autotune from nesting a profiler session Co-authored-by: xudezheng<xudezheng1@huawei.com> # message auto-generated for no-merge-commit merge: !44898 merge sync-pr44117-to-master into master fix(inductor): keep autotune from nesting a profiler session 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!44898 | 1 个月前 | |
[sync]Symbolic dynamic-shape grouping for reductions Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !43088 merge master into master [sync]Symbolic dynamic-shape grouping for reductions Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: [#3428](https://gitcode.com/Ascend/pytorch/issues/3428) <!-- 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!43088 | 2 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 4 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35539 merge code_check_lintrunner into master 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 文件必须以 LF 换行符结尾,不允许 CRLF(DOS 换行),执行: lintrunner --all-files --take NEWLINE -a # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35539 | 4 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
event_trace Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !30564 merge master into master event_trace Created-by: cuiduo Commit-by: cuiduo Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 白名单增加torch.npu.Event, 确保torch.npu.Event可以入图 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 测试用例为test/_inductor/test_event.py # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!30564 | 8 个月前 | |
refactor(inductor): isolate NPU integrations by device Co-authored-by: Xuan Peng<hin.meego@gmail.com> # message auto-generated for no-merge-commit merge: !42564 merge br/inductor-refactor-part1-0723 into master refactor(inductor): isolate NPU integrations by device Created-by: HinPeng Commit-by: Xuan Peng Merged-by: ascend-robot Description: Issue: https://gitcode.com/Ascend/pytorch/issues/3329 ## Summary PyTorch Inductor keeps lowerings in a global registry. Previously, importing torch_npu replaced community lowerings globally, so CPU nodes in a mixed CPU/NPU FX graph could enter NPU-specific lowering and autotuning paths. This change installs a device-aware lowering dispatcher: NPU nodes use the NPU lowering, while non-NPU nodes retain the original upstream lowering. ## Changes - Consolidate the NPU autotune runtime and simplify NPU scheduling setup needed by the device-specific lowering path. - Isolate FX patches by device to avoid applying NPU behavior to non-NPU graphs. - Add _make_device_lowering_dispatcher and install it around overridden Inductor lowerings. - Keep the original upstream lowering available for CPU and other non-NPU devices. - Update mm, bmm, flex_attention, and grouped MM call sites for the PyTorch 2.13 (node, choice) algorithm-selector ABI. - Make the NPU algorithm selector delegate non-NPU layouts to the upstream selector with the full PyTorch 2.13 call contract - Add coverage for device dispatch, selector compatibility, CPU GEMM fallback, and mixed-device graph partitioning. <!-- 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!42564 | 2 个月前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35539 merge code_check_lintrunner into master 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 文件必须以 LF 换行符结尾,不允许 CRLF(DOS 换行),执行: lintrunner --all-files --take NEWLINE -a # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35539 | 4 个月前 | |
[Inductor] master branch support AOTI and cpp_wrapper Co-authored-by: qiaoyaodan888<qiaoyaodan@huawei.com> Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !42521 merge main-0720 into master [Inductor] master branch support AOTI and cpp_wrapper Created-by: zhucehw Commit-by: zhuceHW;qiaoyaodan888;zhucehw Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/2526?ref=&did=4121203#tid-4121203 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. add cpp_wrapper and AOTI support for master branch 2. sync files from torch2.13 aoti_runtime and aoti_torch 3. format c++ file whitespace num 4. skip lazy compile for cpp_wrapper # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 CI PASS # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42521 | 2 个月前 | |
feat(inductor): partition FA v3 TND+dropout via inductor pattern matcher Co-authored-by: luochao60<luochao60@huawei.com> # message auto-generated for no-merge-commit merge: !35040 merge Pta_add_fav3_pass_20260428_master into master feat(inductor): partition FA v3 TND+dropout via inductor pattern matcher Created-by: luochao60 Commit-by: luochao60 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 > 关联 issue: #2010 (https://gitcode.com/Ascend/pytorch/issues/2010) - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列 > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 将 FA v3( npu_fusion_attention_v3 / npu_fusion_attention_grad_v3)在 TND 布局 + dropout (keep_prob < 1) 场景下"不可被 ACLgraph 捕获"的处理路径,由 monkey-patch inductor 内部 _fx_node_is_input_dependent_cudagraph_unsafe 的方案,重构为基于 inductor PatternMatcherPass + POST_GRAD_PATTERNS 的合入方式。 1. 新增 torch_npu/_inductor/fx_passes/_proxy_ops.py: - 通过 torch.library.Library("npu", "FRAGMENT") 克隆原算子 schema,注册 npu_fusion_attention_v3_unsafe / npu_fusion_attention_grad_v3_unsafe 两个代理算子,并在 schema 上挂 torch._C.Tag.cudagraph_unsafe。 - 代理算子的 CompositeExplicitAutograd 实现与 register_fake 实现都直接转发到原算子(FA v3 的输入混合 NPU q/k/v 与 CPU actual_seq_qlen/kvlen,复用原算子的 device-propagation 规则)。 - 暴露 PROXY_TARGETS: dict[OpOverload, OpOverload] 供 pass 使用。 2. 新增 torch_npu/_inductor/fx_passes/fav3_partition_pass.py: - 用 PatternMatcherPass(pass_name="fav3_partition") 注册 forward / backward 两条 CallFunctionVarArgs(target) 规则。 - extra_check 中通过 torch.fx.operator_schemas.normalize_function 拿到归一化 kwargs,仅在 input_layout == "TND" 且 keep_prob < 1 时命中;同时在 inductor_config.triton.cudagraphs 关闭时直接 short-circuit,避免无意义的 dispatcher 跳转。 - handler 仅做 node.target = proxy,不引入新的 fx 节点;scheduler 之后会按 cudagraph_unsafe tag 把这些节点切出 captured graph 走 eager。 - register_fav3_partition_pass() 在 __init__.py 中调用一次:将 PMP 挂到 POST_GRAD_PATTERNS["fav3_partition"],并 setdefault 写入 post_grad_fusion_options。 3. 调整 torch_npu/_inductor/__init__.py: - 移除对已废弃的 patch_fx_node_is_input_dependent_cudagraph_unsafe 的导入与调用。 - 新增 register_fav3_partition_pass() 调用,与 register_fa_pass() 等其他 inductor 扩展挂载点放在一起。 4. 清理 torch_npu/_inductor/utils.py: - 删除 _fx_node_is_input_dependent_cudagraph_unsafe 与 patch_fx_node_is_input_dependent_cudagraph_unsafe(旧 monkey-patch 实现),逻辑已由新 pass 覆盖。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写"不涉及" 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写"不涉及" 不涉及。新增的 npu::npu_fusion_attention_v3_unsafe / npu::npu_fusion_attention_grad_v3_unsafe 仅作为 inductor 图改写的内部代理算子,行为完全转发至原 FA v3 算子,不对外暴露给用户脚本调用;patch_fx_node_is_input_dependent_cudagraph_unsafe 是 inductor 内部的 monkey-patch 入口,非客户面接口。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤 > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 新增 UT:test/_inductor/test_fav3_partition_pass.py(225 行)覆盖以下场景: - TND + dropout 场景下 FA v3 fwd/bwd 节点的 target 被正确改写为代理算子。 - BSND/BSH 等其他 layout、keep_prob == 1.0 等不命中场景保持原 target 不变。 - 代理算子转发到原算子的数值一致性验证。 - inductor_config.triton.cudagraphs 关闭时 pass 不生效的 short-circuit 行为。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35040 | 1 个月前 | |
fix(flexattention): avoid metadata guards and preserve subgraph symbol uses Co-authored-by: Xuan Peng<pengxuan9@huawei.com> # message auto-generated for no-merge-commit merge: !45467 merge codex/flexattention-symbol-uses-master into master fix(flexattention): avoid metadata guards and preserve subgraph symbol uses Created-by: HinPeng Commit-by: Xuan Peng Merged-by: ascend-robot Description: # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 关联 issue:https://gitcode.com/Ascend/pytorch/issues/4425 # 【修改方案】 1. 移除编译期对 eager BlockMask 数据相关元数据的读取和缓存,避免动态 mask 内容形成额外特化与 guard。 2. 根据候选模板实际 input_nodes 过滤 autotune 输入,排除仅用于 shape 的 SymPy 标量,确保 benchmark 参数数量和顺序与 Triton kernel 一致。 3. 在选中的 TritonTemplateBuffer 上记录 FlexAttention 子图的实际输入、输出,覆盖前向、反向及 compact sparse-mask 路径,保留动态 shape 的自由符号依赖。 4. 复用 master 已有的运行时 sparse-mask 容量和动态 grid 处理;社区高版本已经具备对应 autotune/IR 承载能力,因此未迁移 v2.7.1 中针对 torch/_inductor/ir.py 的兼容 patch。 5. 增加动态 mask_mod 捕获 tensor shape 的回归用例,并检查编译期不再写入 eager BlockMask kernel options。 目标硬件为 Ascend 950。Ascend 910B4(A2-140)仅用于编译和功能参考,不要求面向 Ascend 950 的所有 tile 配置均在 A2 上运行通过,也不因 A2 特有的 UB/运行限制收缩生产 tile。 # 【资料变更】 不涉及。 # 【接口变更】 不涉及。 # 【功能验证】 本地执行: bash python3 test/_inductor/test_flex_attention_dynamic_mask_metadata.py 结果:共 3 个用例,2 个源码回归检查通过;1 个需要已构建 torch_npu 和 NPU 设备的运行时用例跳过。 text s.. Ran 3 tests in 0.001s OK (skipped=1) # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验(本次不涉及新增指针接口) - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!45467 | 1 个月前 | |
fix(inductor): default FlexAttention backward kernel options Co-authored-by: Stonexx<sheny1xuan@163.com> # message auto-generated for no-merge-commit merge: !46010 merge issue100 into master fix(inductor): default FlexAttention backward kernel options Created-by: stonexxx Commit-by: Stonexx Merged-by: ascend-robot Description: # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 Fixes https://gitcode.com/Ascend/pytorch/issues/4683 # 【修改方案】 FlexAttention 的公开 API 会通过 _apply_kernel_options 补齐 backward kernel options,但直接调用 torch.ops.higher_order.flex_attention_backward 时可能传入空字典,从而绕过该处理。 NPU mask-out backward lowering 在 Jinja 模板渲染阶段会读取 PRESCALE_QK。此时 Triton constexpr 参数尚未物化,缺失该选项会触发 jinja2.exceptions.UndefinedError。同时,公开 API 中定义的 WRITE_DQ 默认值也未在该 lowering 中补齐。 本修改: 1. 在 NPU FlexAttention backward lowering 进入模板路由前补齐: - PRESCALE_QK=False - WRITE_DQ=True 2. 使用 setdefault 保留调用方显式传入的配置。 3. 增加回归测试,验证注册的 backward lowering 能为缺失选项补齐默认值。 # 【资料变更】 不涉及。 # 【接口变更】 不涉及公开接口变更,仅补齐内部 lowering 的默认参数。调用方显式设置的 kernel options 仍具有优先级。 # 【功能验证】 本地测试: bash python3 -m pytest -q \ test/_inductor/test_flex_attention_dynamic_mask_out.py \ test/_inductor/test_flex_attention_dynamic_mask_metadata.py 结果:6 passed, 2 skipped bash python3 -m py_compile \ torch_npu/_inductor/kernel/flex_attention.py \ test/_inductor/test_flex_attention_dynamic_mask_out.py git diff --check mainline/master...HEAD 结果:均通过。 Torch 2.13 + torch_npu 2.13 nightly 环境运行目标用例: bash pytest -vs \ test_flex_attention213.py::TestFlexAttentionPRIVATEUSE1::test_direct_backward_preserves_explicit_buffers_npu 结果:1 passed, 20 warnings in 151.71s 生成的 output_code.py 中确认物化参数为: python PRESCALE_QK: tl.constexpr = False WRITE_DQ: tl.constexpr = True 环境依赖检查:uv pip check 通过,36 个包兼容。 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志(本修改不新增错误分支) - [x] 代码实现进行了返回值、空指针等校验(本修改不涉及新的输入或指针处理) - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!46010 | 1 个月前 | |
flenattn:add multitemplate for epilogue fusion Co-authored-by: liujm2001<liujingming7@huawei.com> # message auto-generated for no-merge-commit merge: !45691 merge master-multitemplate into master flenattn:add multitemplate for epilogue fusion Created-by: liujm2001 Commit-by: liujm2001 Merged-by: ascend-robot Description: # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/4511 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 为 mask-in 和 mask-out Flex Attention 保留多模板配置并增加 epilogue fusion 编译失败回退,同时临时跳过 decoding dispatch 顺序检查。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 功能验证通过 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!45691 | 1 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[test][master] add test/_inductor/test_graph_deduplication.py Co-authored-by: AACAES<liuyan7892@163.com> # message auto-generated for no-merge-commit merge: !36084 merge master into master [test][master] add test/_inductor/test_graph_deduplication.py Created-by: AACAES Commit-by: AACAES Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/2017 - [x] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 添加用例 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 A2 A3 A5自验ok  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36084 | 4 个月前 | |
change force_simt_only to is_pure_simtf for TA adaption Co-authored-by: TonyYA<pangjiayi@huawei.com> # message auto-generated for no-merge-commit merge: !45380 merge master_0827 into master change force_simt_only to is_pure_simtf for TA adaption Created-by: TonyYA Commit-by: TonyYA Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/4391 - [ ] 需求 - [ ] 问题单 - [ ] 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!45380 | 1 个月前 | |
fix(inductor): keep multi_slice_concat out of epilogue fusion Co-authored-by: xudezheng<xudezheng1@huawei.com> # message auto-generated for no-merge-commit merge: !44988 merge sync-pr44486-44887-to-master into master fix(inductor): keep multi_slice_concat out of epilogue fusion 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!44988 | 1 个月前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35539 merge code_check_lintrunner into master 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 文件必须以 LF 换行符结尾,不允许 CRLF(DOS 换行),执行: lintrunner --all-files --take NEWLINE -a # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35539 | 4 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
Fix MLIR full lowering fallback mode Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !39326 merge fusionTest-master into master 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!39326 | 3 个月前 | |
perf(inductor): refine pointwise default grouping Co-authored-by: luqichao<luqichao1@huawei.com> # message auto-generated for no-merge-commit merge: !45393 merge perf/group_poi_master into master perf(inductor): refine pointwise default grouping Created-by: luqichao Commit-by: luqichao Merged-by: ascend-robot Description: 同步 PR #44926 到 master。 1. 优化默认 pointwise/elementwise 动态分组策略 进入 grouped autotune 的条件保持不变。默认分组特征从所有轴的 outer product 调整为: A = 动态拆分轴 x 该轴之前的静态拆分轴乘积 B = 排除 split 轴和动态轴后的 tiling 轴乘积 运行时直接根据 A 选择分组,分组边界根据数据规模和核间并行度计算。各阈值用于 保证小数据量、核间并行规模和单核工作量。当相邻边界跨度超过 8 倍时增加中间 档位,避免同一个 representative 覆盖过大的动态范围。broadcast、transpose 等已有专用分组策略保持不变。 2. 减少不必要的静态轴 split 对于只有一个动态 split 轴的 pointwise kernel,若动态轴及其之前的 split 轴 已经能够提供不少于 num_vector_core 的并行度,则将动态轴之后的静态 split 轴降级为普通 kernel 轴,不再生成对应的 runtime BLOCK 和 grid 维度。并行度 不足或无法获得可靠 size hint 时,继续保留这些静态 split 轴。 3. 适配分组配置与运行时 tiling 每个 group 使用 representative shape 执行 autotune,确定 BLOCK_SUB、静态 split 轴的 BLOCK 及其他编译配置。运行时根据实际 shape 选择 group,并在对应 BLOCK_SUB 的约束下重新计算动态轴的 runtime BLOCK。当实际 shape 小于 representative 时,允许使用更多 program,减少因沿用 representative grid 导致的核间并行度不足。 原 PR:https://gitcode.com/Ascend/pytorch/pull/44926 See merge request: Ascend/pytorch!45393 | 1 个月前 | |
feat: add the expm1 decomposition to mlir. Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !36482 merge decomp_master into master feat: add the expm1 decomposition 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) inductor添加mlir后端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。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在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!36482 | 4 个月前 | |
feat: add the expm1 decomposition to mlir. Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !36482 merge decomp_master into master feat: add the expm1 decomposition 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) inductor添加mlir后端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。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在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!36482 | 4 个月前 | |
refactor(inductor): isolate NPU integrations by device Co-authored-by: Xuan Peng<hin.meego@gmail.com> # message auto-generated for no-merge-commit merge: !42564 merge br/inductor-refactor-part1-0723 into master refactor(inductor): isolate NPU integrations by device Created-by: HinPeng Commit-by: Xuan Peng Merged-by: ascend-robot Description: Issue: https://gitcode.com/Ascend/pytorch/issues/3329 ## Summary PyTorch Inductor keeps lowerings in a global registry. Previously, importing torch_npu replaced community lowerings globally, so CPU nodes in a mixed CPU/NPU FX graph could enter NPU-specific lowering and autotuning paths. This change installs a device-aware lowering dispatcher: NPU nodes use the NPU lowering, while non-NPU nodes retain the original upstream lowering. ## Changes - Consolidate the NPU autotune runtime and simplify NPU scheduling setup needed by the device-specific lowering path. - Isolate FX patches by device to avoid applying NPU behavior to non-NPU graphs. - Add _make_device_lowering_dispatcher and install it around overridden Inductor lowerings. - Keep the original upstream lowering available for CPU and other non-NPU devices. - Update mm, bmm, flex_attention, and grouped MM call sites for the PyTorch 2.13 (node, choice) algorithm-selector ABI. - Make the NPU algorithm selector delegate non-NPU layouts to the upstream selector with the full PyTorch 2.13 call contract - Add coverage for device dispatch, selector compatibility, CPU GEMM fallback, and mixed-device graph partitioning. <!-- 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!42564 | 2 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
support STRONG_CONSISTENCY Co-authored-by: SCh-zx<1325467101@qq.com> # message auto-generated for no-merge-commit merge: !29794 merge master into master support STRONG_CONSISTENCY Created-by: SCh_zx Commit-by: SCh_zx;SCh-zx 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!29794 | 8 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
adapt pytorch2.13 for_inductor Co-authored-by: TonyYA<pangjiayi@huawei.com> Co-authored-by: zhoupeng<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !41858 merge pta_master0714 into master adapt pytorch2.13 for_inductor Created-by: TonyYA Commit-by: TonyYA;zhoupeng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/3056 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、本次修改将2.10的inductor代码(截至7.11最后一笔)同步到master(2.13)分支 2、针对社区接口变动及参数调整做适配修改 3、整体架构保持与2.10 inductor一致,未做架构级别重构调整 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 端到端模型验证表格 https://onebox.huawei.com/v/6d6647cf5de9b3f8a5118370ddb7a875?type=1&sheet=master%E5%88%86%E6%94%AF%E6%A8%A1%E5%9E%8B%E6%B5%8B%E8%AF%95 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41858 | 2 个月前 | |
test: add MLIR non-fallback kernel regression test Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !38539 merge fusionTest-master into master 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 后端 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!38539 | 3 个月前 | |
test: add MLIR non-fallback kernel regression test Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !38539 merge fusionTest-master into master 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 后端 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!38539 | 3 个月前 | |
adapt pytorch2.13 for_inductor Co-authored-by: TonyYA<pangjiayi@huawei.com> Co-authored-by: zhoupeng<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !41858 merge pta_master0714 into master adapt pytorch2.13 for_inductor Created-by: TonyYA Commit-by: TonyYA;zhoupeng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/3056 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、本次修改将2.10的inductor代码(截至7.11最后一笔)同步到master(2.13)分支 2、针对社区接口变动及参数调整做适配修改 3、整体架构保持与2.10 inductor一致,未做架构级别重构调整 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 端到端模型验证表格 https://onebox.huawei.com/v/6d6647cf5de9b3f8a5118370ddb7a875?type=1&sheet=master%E5%88%86%E6%94%AF%E6%A8%A1%E5%9E%8B%E6%B5%8B%E8%AF%95 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41858 | 2 个月前 | |
多项式适配 Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !44480 merge master into master 多项式适配 Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: [#3979](https://gitcode.com/Ascend/pytorch/issues/3979) <!-- 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!44480 | 2 个月前 | |
fix(inductor): add extra device predicates to dispatch convert_element_type Co-authored-by: Xuan Peng<pengxuan9@huawei.com> # message auto-generated for no-merge-commit merge: !43205 merge br/fix-convert-elem-type-cpu into master fix(inductor): add extra device predicates to dispatch convert_element_type Created-by: HinPeng Commit-by: Xuan Peng Merged-by: ascend-robot Description: Issue: https://gitcode.com/Ascend/pytorch/issues/3442 ## Description Fix an Inductor lowering regression introduced by device-based lowering dispatch. When a CPU 0-D float64 tensor is converted to a non-float64 dtype in a graph that also contains NPU tensors, the conversion could be handled by the community lowering and fused into the NPU Triton kernel. This generated unsupported float64 computation inside the kernel. ## Root Cause After lowering dispatch was separated by device type, prims.convert_element_type selected the community lowering because its input tensor was on CPU. For a 0-D CPU tensor, the generated wrapper passes the value through .item(): python arg2_1 = rand_strided((), (), device="cpu", dtype=torch.float64) triton_poi_fused_0.run(arg1_1, arg2_1.item(), ...) The fused kernel then performs the conversion internally: python tmp1 = in_ptr1 tmp2 = tmp1.to(float32) NPU compilation does not support this float64 input path. ## Changes - Add an op-specific default device predicate for prims.convert_element_type. - Route CPU 0-D float64 to non-float64 conversions to the NPU lowering when the current graph contains NPU devices. - Reuse the existing NPU lowering fallback, so the conversion is materialized outside the NPU kernel. - Keep explicit layout precedence and existing device-based dispatch behavior unchanged. - Merge caller-provided predicates with the default predicates, allowing explicit overrides. - Keep the default behavior inside install_device_lowering_dispatch, so backend initialization does not need op-specific wiring. <!-- 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!43205 | 2 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
perf: defer dynamo and inductor imports on master Co-authored-by: stevenaw0<huangguijun@huawei.com> # message auto-generated for no-merge-commit merge: !44294 merge master_import_sync into master perf: defer dynamo and inductor imports on master Created-by: stevenaw0 Commit-by: stevenaw0 Merged-by: ascend-robot Description: ## 同步 v2.9.0_import 的 import 优化到 master ### 核心改动 将 NPU 的 Dynamo/Inductor 初始化从 import torch_npu 时立即执行改为**懒加载**: - import torch_npu 时不导入 torch._dynamo、torch._inductor、torch_npu._inductor - 仅在用户实际调用 torch.compile() 或触发 graph capture 时才初始化 Dynamo 集成 - 通过 setuptools entry points 和 meta_path finder 实现按需触发 - 支持并发首次调用、fork 后恢复、失败重试 ### 适配说明(master PyTorch 2.13+) - 保留 master 的 stream/event variable patches - 保留 make_config_entry 兼容封装(MIN_SUPPORTED >= 2.10) - 保留 master 的 _patch_flex_attention_device 和 _dump_snapshot - 合并懒加载基础设施与 master 的 new_init(name=None) 签名 ### 详见 master_syn.md 中的逐文件分类和冲突解决记录 See merge request: Ascend/pytorch!44294 | 2 个月前 | |
【rfc】mlir_triton_lowering_file_refactoring Co-authored-by: 1479518308<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !37282 merge master into master 【rfc】mlir_triton_lowering_file_refactoring 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 对lowering部分进行重构,torch_npu/_inductor 在 Lowering 层 的多后端(Triton / MLIR / DVM)共享重构方案及转测要求。核心改动是:将 Triton 与 MLIR/DVM 两套 lowering 中重复的逻辑抽取到 lowering_common.py,通过 lowering_patch.py 实现 同进程 backend 切换时的 lowering 快照/恢复,并配合 _load_backend() 按需加载各后端 lowering 实现,消除原先 inductor_patch/__init__.py import 时整表 monkey-patch 的副作用。详见关联文档 # 【资料变更】 > 不涉及 # 【接口变更】 >不涉及 # 【功能验证】 > 已通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!37282 | 4 个月前 | |
fix(inductor): keep multi_slice_concat out of epilogue fusion Co-authored-by: xudezheng<xudezheng1@huawei.com> # message auto-generated for no-merge-commit merge: !44988 merge sync-pr44486-44887-to-master into master fix(inductor): keep multi_slice_concat out of epilogue fusion 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!44988 | 1 个月前 | |
support_list_for_register_meta_npu Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !39251 merge master into master support_list_for_register_meta_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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 删除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!39251 | 3 个月前 | |
feat add shim_npu Co-authored-by: zzhongmin<zhongmin23@huawei.com> # message auto-generated for no-merge-commit merge: !35592 merge master_shim into master feat add shim_npu Created-by: zzhongmin Commit-by: zzhongmin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 将 NPU AOTI Shim 层对齐到上游 CUDA 实现(shim_cuda.cpp),补齐缺失的设备管理、流管理、内存分配等关键 shim 函数。 1. 新增 7 组 NPU Shim 函数(shim_npu.cpp + shim.h) - 设备 Guard 三件套:create_npu_guard / delete_npu_guard / npu_guard_set_index,实现 AOTI 模型执行时的设备自动切换与恢复 - 流 Guard 两件套:create_npu_stream_guard / delete_npu_stream_guard,实现流状态的自动切换与恢复 - 获取当前流:get_current_npu_stream,查询指定设备的当前 NPU 流 - 缓存分配器两件套:npu_caching_allocator_raw_alloc / raw_delete,复用 PyTorch 显存池,替代低效的 aclrtMalloc/aclrtFree 2. 改进已有函数的错误处理(shim_npu.cpp) - 所有输出参数增加空指针检查,预置 nullptr 防止异常时残留野值 - create_tensor_from_blob_npu_v2 修正错误码传播:throw → TORCH_CHECK,检查内部调用返回值 3. 新增流查找底层支撑(NPUStream.cpp) - 新增 getNPUStreamFromManagedAclrtStream,在 torch_npu 管理的流池中查找 aclrtStream 对应的 NPUStream 对象,等价于 CUDA 的 getStreamFromExternal 4. AOTI 运行时改进(model.h + utils_npu.h) - RAII_npuMalloc 新增 AOT_INDUCTOR_USE_CACHING_ALLOCATOR 分支,支持通过 shim 调用缓存分配器 - 新增 normalize_run_stream:当 stream 为 nullptr 时自动获取当前 NPU 流,应用于 run() / run_single_threaded() / run_const_fold() - 新增 utils_npu.h:提供 AOTINpuGuard / AOTINpuStreamGuard RAII 封装类,供 model.so 内部使用 5. 修复流传递 Bug(model_container_runner_npu.cpp) - run_impl:尊重调用者传入的 stream_handle,仅在为 nullptr 时回退到当前流 - run_with_npu_stream:修复忽略传入流参数的 Bug 6. 修正 Python 代码生成(npu_device.py + cpp_wrapper.py) - cpp_aoti_device_guard:raise NotImplementedError → "AOTINpuGuard" - cpp_aoti_stream_guard:"AOTICudaStreamGuard" → "AOTINpuStreamGuard" - aoti_get_stream:"aoti_torch_get_current_cuda_stream" → "aoti_torch_get_current_npu_stream" - cpp_wrapper.py:生成代码中 include utils_npu.h # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35592 | 4 个月前 | |
adapt pytorch2.13 for_inductor Co-authored-by: TonyYA<pangjiayi@huawei.com> Co-authored-by: zhoupeng<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !41858 merge pta_master0714 into master adapt pytorch2.13 for_inductor Created-by: TonyYA Commit-by: TonyYA;zhoupeng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/3056 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、本次修改将2.10的inductor代码(截至7.11最后一笔)同步到master(2.13)分支 2、针对社区接口变动及参数调整做适配修改 3、整体架构保持与2.10 inductor一致,未做架构级别重构调整 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 端到端模型验证表格 https://onebox.huawei.com/v/6d6647cf5de9b3f8a5118370ddb7a875?type=1&sheet=master%E5%88%86%E6%94%AF%E6%A8%A1%E5%9E%8B%E6%B5%8B%E8%AF%95 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41858 | 2 个月前 | |
adapt pytorch2.13 for_inductor Co-authored-by: TonyYA<pangjiayi@huawei.com> Co-authored-by: zhoupeng<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !41858 merge pta_master0714 into master adapt pytorch2.13 for_inductor Created-by: TonyYA Commit-by: TonyYA;zhoupeng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/3056 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、本次修改将2.10的inductor代码(截至7.11最后一笔)同步到master(2.13)分支 2、针对社区接口变动及参数调整做适配修改 3、整体架构保持与2.10 inductor一致,未做架构级别重构调整 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 端到端模型验证表格 https://onebox.huawei.com/v/6d6647cf5de9b3f8a5118370ddb7a875?type=1&sheet=master%E5%88%86%E6%94%AF%E6%A8%A1%E5%9E%8B%E6%B5%8B%E8%AF%95 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41858 | 2 个月前 | |
adapt pytorch2.13 for_inductor Co-authored-by: TonyYA<pangjiayi@huawei.com> Co-authored-by: zhoupeng<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !41858 merge pta_master0714 into master adapt pytorch2.13 for_inductor Created-by: TonyYA Commit-by: TonyYA;zhoupeng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/3056 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、本次修改将2.10的inductor代码(截至7.11最后一笔)同步到master(2.13)分支 2、针对社区接口变动及参数调整做适配修改 3、整体架构保持与2.10 inductor一致,未做架构级别重构调整 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 端到端模型验证表格 https://onebox.huawei.com/v/6d6647cf5de9b3f8a5118370ddb7a875?type=1&sheet=master%E5%88%86%E6%94%AF%E6%A8%A1%E5%9E%8B%E6%B5%8B%E8%AF%95 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!41858 | 2 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 4 个月前 | |
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: !40493 merge master into master 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!40493 | 3 个月前 | |
skip npu sync func to master Co-authored-by: lihui<lihui488@huawei.com> # message auto-generated for no-merge-commit merge: !27578 merge master into master skip npu sync func to master 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!27578 | 10 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 4 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
perf(npu-inductor): permute-gather — 三态分派 + K-tile + 动态 H 兜底 + H>4096 trans Co-authored-by: huyuchao<huyuchao2@huawei.com> # message auto-generated for no-merge-commit merge: !44037 merge perf/npu-permute-gather-v3 into master perf(npu-inductor): permute-gather — 三态分派 + K-tile + 动态 H 兜底 + H>4096 trans Created-by: huyuchao Commit-by: huyuchao 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/4366(permute-gather 性能问题) - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) T5 形状的 permute+归约( out[b,k,i] = sum_j arg1[b,k,i,j] + sum_j arg0[i,j,k])在默认路径下 permute 物化为独立 HBM 全量转置 + 归约分 kernel,且归约轴非单位 stride 的 strided tl.load 在 Ascend 落标量 gather,DMA 效率低。本 PR 新增 enable_permute_gather(opt-in,默认关)将归约轴 strided load 改写为连续 DMA + 寄存器级置换。组件交互: 1. **config.py**:permute_gather_mode(stride_r, elemsize) 三态分派——stride 字节 <256 → "gather"(H≤63 fp32);≥256 → "trans"(H≥64);gather 分支受 permute_gather_max_xblock(4096) 上限约束(gather pin XBLOCK=stride_r,受 TRITON max_block 限制),超限返回 None 回退 realize。阈值 flags 全部 opt-in(permute_gather_stride_gate_bytes / permute_gather_ktile / permute_gather_dynamic_trans / permute_gather_max_xblock) 2. **lowering.py**:enable_permute_gather 下 npu_permute 直接构造 ir.PermuteView 零拷贝逻辑 view(绕开 realize 物化);关闭时走既有 realize 逻辑(基线行为) 3. **codegen/triton.py**:NPUTritonKernel.load 拦截 eligible 归约 load: - gather:整行连续 DMA(L = stride_r·R0_BLOCK 平铺)+ tl.gather 寄存器置换 - trans:tl.make_block_ptr + tl.trans + boundary_check=[0,1,2] + padding_option="zero";静态 trans pin XBLOCK=min(stride_r, ktile=64),int 轴跨程序 chunk(x1_blocks=ceil(H/64));**trans 分支不受 max_xblock 上限约束**(XBLOCK 与 stride_r 解耦),H>4096 同样走 trans+K-tile(H=8192 → 128 个满 chunk,整除无 tail 浪费),realize 仅保留给 gather 超限场景;R0 公式 eff=min(stride_r, ktile) 解耦 R0/H - slot 检查放宽为互异且 0<=s<ndim(ndim=max(slots)+1),消除「归约轴在最后」的布局假设(DEFAULT scheduler patch 对大 H kernel 产生 R 树 slot 0 布局时不再误拒) 4. **npu_triton_heuristics.py**:rewrite 下固定 XBLOCK/R0_BLOCK(real_block_row==1 才合法),autotune 不扫其它配置 5. **评审修复(d308b142b5 / bc0df673bb / 562d97e39f,响应 [@rmch](https://gitcode.com/rmch) 与 robot 评审;其中 562d97e39f 的 autotune winner 缓存键修复后移至独立 PR)**:删 kernel 内非法 raise AssertionError(P1,Python raise 非 Triton 合法语句);slot 预检先类型检查再 max(slot 缺失正常回退 strided,不再 TypeError);gather pidx/reshape 与 slot 顺序解耦(R-first 布局不再静默重排);enable_permute_gather 与 pin_xr 同开时 PG marker 优先(避免 body 已 rewrite 而 config 被 pin_xr 决定);加载缓存 autotune winner 时剥离非 kwarg 键(issue 4367);新增 4 个回归用例(UT 9→13) 6. **字符串手术 AST 化(925b5372e1,评审遗留整改)**:codegen 内三处对生成代码的正则/eval 改写全部替换为结构化 AST 操作(复用本文件既有 _npu_parse_tl_load_assignment / _npu_assignment_parts 基建,与 _maybe_rewrite_select_lane_load 同款模式),删除 PR 自身引入的 import re: - _npu_pg_rewrite_body:load 行定位由行文本正则改为按赋值目标名匹配——可穿透 .to(tl.float32) 提升链(贪婪 (.*)\) 无法定界,fp16/bf16 候选原实现会静默错配);非 str 行(DeferredLine)透传;emit 拒绝时保留原行回退(原实现返回空列表会丢行且仍下发 config pin) - _npu_pg_emit:ptr/other/eviction_policy 由 argtext 正则(P3:other=([^)]*) 遇 float('-inf') 等嵌套括号即截断)改为 load AST 节点 args[0]/keywords 结构化读取;末行经节点拼接把 tl.where(...) 换回原 value_ast 再 unparse,保留 .to() dtype 提升 - _npu_pg_eval_real_blocks:正则+eval 改为 AST 解析(name : tl.constexpr = ... AnnAssign 归一化)+ 新增 _npu_pg_eval_expr 小型求值器(int 算术/比较/IfExp tile 三元式/min-max;不支持的节点照旧跳过,保持「对发射文本求值、免疫排序逻辑漂移」性质) 7. **评审二轮(ff49a90cde / 73f2144299 / 0c785d501a)**:为满足 PR 总行数 ≤1000(现 967),autotune 缓存键修复移至独立 PR(本 PR revert);_npu_pg_eval_expr 求值器表驱动化、三处重复注释去重、测试 prose 压缩(13 用例与断言不动,232→197 行)——13 个 PG kernel 生成源码 sha256 与整改前逐字节一致;config.py 阈值分节 banner + 三个阈值取值依据导语(256=实测 gather/trans 交叉点+UB 预算而非 DMA 对齐边界、64=256B DMA 效率单元、4096=TRITON max_block)。 8. **评审二轮补齐(89ea3c481c)**:全部 _npu_pg_* 实现提取到独立模块 codegen/permute_gather_rewrite.py(section:eligibility/geometry/validation + gather/trans 发射分区;NPUTritonKernel 留薄委托,调用点与测试 monkeypatch 不变);统一回退 debug 日志(模块 logger:geometry/mode 门、slot 缺失/非互异、tiling 校验失败、load 定位失败、rewrite 成功,均带原因与变量名);no_raise 断言并入 gather/trans 用例族;PR 总量 996 行。验证:12/12 + 13/13(clean);11 个唯一 PG kernel 源码 sha256 与迁移前逐字节一致。 > 设计文档:NPUPermuteGather_upstream_design.md / NPUPermuteGather_v2_design.md(随本 PR 提供,详细设计思路另见 commit message「修复报告」节) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及(enable_permute_gather 为 Inductor 后端内部配置项;对外 API 不变,生成 kernel 文本属内部产物) # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 **UT(新增 pytorch/test/_inductor/test_permute_gather.py,12 用例整批通过;no_raise 断言已并入 gather/trans 用例族)**:  数值精度:assert_close(atol=1e-4, rtol=1e-4) 全过(H=1024 max_err 3.05e-05、H=8192 max_err 1.53e-05、J=96 bit-exact)。 **AST 整改回归(925b5372e1)**:test_permute_gather.py 13/13 + test_triton_experimental_enable.py 13/13(source env.sh clean 冷缓存);13 个 PG kernel 生成源码与整改前 **sha256 逐字节一致**(纯重构、零行为变化,上表性能数据不受影响);fp16 端到端补充验证——生成行 tmp1 = tl.where(r0_mask, tmp1_pg_g, 0.0).to(tl.float32) 保留 dtype 提升,compiled 与 fp32 金标 max|diff|=0.0000(eager fp16 自身 3.12e-02,即保 cast 后走 fp32 累加、比 eager 更准;旧正则实现在该场景会丢 cast)。 **性能(CANN profiler 设备时长 ground truth,per-launch 各 kernel 均值求和;对比 eager / 基线 enable_permute_gather=False)**: | 分组 | 场景 | eager (us) | v2 当前 (us) | v2 vs eager 加速比 | max_err | |---|---|---|---|---|---| | 静态 | H=12(gather) | 37.25 | 10.95 | 3.40× | 1.5e-05 | | 静态 | H=32(gather) | 27.75 | 15.58 | 1.78× | 0.0 | | 静态 | H=64(trans+K-tile,chunk=1) | 35.19 | 21.00 | 1.68× | 1.5e-05 | | 静态 | H=72(trans+K-tile,chunk=2) | 35.20 | 47.87 | 0.74×(倒退) | 1.5e-05 | | 静态 | H=1024(trans+K-tile) | 391.09 | 275.77 | 1.42× | 3.1e-05 | | 静态 | H=8192(trans+K-tile) | 4249.05 | 2662.03 | 1.60× | 1.5e-05 | | 动态 | H=72(trans+K-tile,运行时 block_shape) | 35.22 | 33.80 | 1.04× | 1.5e-05 | | 动态 | H=100(trans+K-tile,运行时 block_shape) | 54.26 | 45.19 | 1.20× | 1.5e-05 | | 泛化一 | 非对齐 H=65(260B,260%32=4) | 47.95 | 59.82 | 0.80×(倒退) | 1.53e-05 | | 泛化一 | 非对齐 H=71(284B,284%32=12) | 49.94 | 58.19 | 0.86×(倒退) | 1.53e-05 | | 泛化一 | 非对齐 H=73(292B,292%32=4) | 47.77 | 58.63 | 0.81×(倒退) | 1.53e-05 | | 泛化一 | 非对齐 H=129(516B,516%32=4) | 57.43 | 72.34 | 0.79×(倒退) | 1.53e-05 | | 泛化一 | I=96(row 轴,H=72) | 48.27 | 86.30 | 0.56×(倒退) | 1.53e-05 | | 泛化一 | J=96(r 轴,H=72) | 24.07 | 19.56 | 1.23× | 0.0(bit-exact) | | 泛化一 | B=4(batch,H=72) | 45.39 | 88.96 | 0.51×(倒退) | 1.53e-05 | | 泛化二 | H=12 | 29.1 | 12.9 | 2.26× | 0.0 | | 泛化二 | H=32 | 43.1 | 38.5 | 1.12× | 0.0 | | 泛化二 | H=64 | 64.1 | 54.0 | 1.19× | 1.14e-05 | | 泛化二 | H=72 | 66.1 | 144.7 | 0.46×(倒退) | 1.53e-05 | | 泛化二 | H=1024 | 1944.4 | 1468.4 | 1.32× | 1.53e-05 | | 泛化二 | H=8192 | 18821.4 | 10697.8 | 1.76× | 1.53e-05 | | 泛化二 | H=65 | 105.7 | 190.8 | 0.55×(倒退) | 1.53e-05 | | 泛化二 | H=71 | 107.4 | 189.4 | 0.57×(倒退) | 1.53e-05 | | 泛化二 | H=73 | 110.6 | 188.4 | 0.59×(倒退) | 1.53e-05 | | 泛化二 | H=129 | 196.7 | 216.9 | 0.91×(倒退) | 1.53e-05 | 已知倒退(如实):H=72 trans+K-tile 2.0× 慢于基线(ceil(72/64)=2 程序拆分,tail chunk 仅 8 行按 64 行 tile 读取读放大);非 32B 对齐 H(65/71/73/129)系统性 1.7–2.0× 慢(block_ptr 非对齐行宽读放大,后续优化方向 H%8≠0 gate 回退);H=32 gather 14% 慢;墙钟口径下短 kernel 场景(H≤128)被 ~130us/launch host 开销吞掉收益(设备时长收益 ≠ 端到端收益)。 CI:未跑仓 CI 流水线(本环境仅本地 NPU 单机验证)。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志(rewrite 各 gate 回退路径均有注释与文档化实测依据) - [x] 代码实现进行了返回值、空指针等校验(geometry/rewrite 判定失败一律回退 strided load,正确性保底) - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等(perf(npu-inductor)) - [x] PR持续集成流水线(CI)执行通过,代码检查无异常(本地 pytest 26 passed(permute_gather 13 + enable 13);仓 CI 未跑,如实说明) See merge request: Ascend/pytorch!44037 | 1 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[fix]tiling_key_error Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !32353 merge master into master [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的判断 # 【资料变更】 > 不涉及 # 【接口变更】 >不涉及 # 【功能验证】 > 自验完成 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!32353 | 6 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 4 个月前 | |
add_random_op Co-authored-by: sunhaolun<sunhaolun3@huawei.com> # message auto-generated for no-merge-commit merge: !30598 merge master into master 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!30598 | 8 个月前 | |
add_random_op Co-authored-by: sunhaolun<sunhaolun3@huawei.com> # message auto-generated for no-merge-commit merge: !30598 merge master into master 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!30598 | 8 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
fix_config_copy Co-authored-by: sunhaolun<sunhaolun3@huawei.com> # message auto-generated for no-merge-commit merge: !36440 merge master into master 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!36440 | 4 个月前 | |
【fix】batcnnorm_check_fix Co-authored-by: 1479518308<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !36325 merge master into master 【fix】batcnnorm_check_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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 为batcnnorm修改校验位置,适配NestedTensor以对其社区 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 本地验证pass # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!36325 | 4 个月前 | |
refactor(inductor): isolate NPU integrations by device Co-authored-by: Xuan Peng<hin.meego@gmail.com> # message auto-generated for no-merge-commit merge: !42564 merge br/inductor-refactor-part1-0723 into master refactor(inductor): isolate NPU integrations by device Created-by: HinPeng Commit-by: Xuan Peng Merged-by: ascend-robot Description: Issue: https://gitcode.com/Ascend/pytorch/issues/3329 ## Summary PyTorch Inductor keeps lowerings in a global registry. Previously, importing torch_npu replaced community lowerings globally, so CPU nodes in a mixed CPU/NPU FX graph could enter NPU-specific lowering and autotuning paths. This change installs a device-aware lowering dispatcher: NPU nodes use the NPU lowering, while non-NPU nodes retain the original upstream lowering. ## Changes - Consolidate the NPU autotune runtime and simplify NPU scheduling setup needed by the device-specific lowering path. - Isolate FX patches by device to avoid applying NPU behavior to non-NPU graphs. - Add _make_device_lowering_dispatcher and install it around overridden Inductor lowerings. - Keep the original upstream lowering available for CPU and other non-NPU devices. - Update mm, bmm, flex_attention, and grouped MM call sites for the PyTorch 2.13 (node, choice) algorithm-selector ABI. - Make the NPU algorithm selector delegate non-NPU layouts to the upstream selector with the full PyTorch 2.13 call contract - Add coverage for device dispatch, selector compatibility, CPU GEMM fallback, and mixed-device graph partitioning. <!-- 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!42564 | 2 个月前 | |
[master]refactor: move shape handling into dynamo utils (#4241) Co-authored-by: stevenaw0<huangguijun@huawei.com> # message auto-generated for no-merge-commit merge: !45007 merge fix4204_master_v2 into master [master]refactor: move shape handling into dynamo utils (#4241) Created-by: stevenaw0 Commit-by: stevenaw0 Merged-by: ascend-robot Description: # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [x] 重构优化 - [ ] 资料更新 关联 Issue: [#4094](https://gitcode.com/Ascend/pytorch/issues/4094) 关联 Issue:#4204 关联 Issue:#4241(Shape Handling 迁移到 Dynamo utils) # 【修改方案】 1. 将 NPUShapeHandling、unified_copy、Shape Handling 的 Dynamo patch 实现从 torch_npu/utils/_shape_handling.py 迁移至 torch_npu/utils/_dynamo.py。 2. 删除独立实现文件,更新 torch_npu/_inductor/shape_handling.py 为兼容 shim,保留 NPUShapeHandling、unified_copy、patch_dynamo_context 和 patch_shape_handling 的既有入口及幂等状态语义。 3. 保持 Shape Handling 配置、延迟初始化、输入变换/输出恢复以及 Dynamo/Inductor 延迟加载时序不变,不在 _dynamo.py 顶层导入 torch_npu._inductor。 # 【资料变更】 不涉及 # 【接口变更】 不涉及。保留 torch_npu._inductor.shape_handling 兼容入口。 # 【功能验证】 - 原失败用例验证通过 - shape_handling.py函数对比一致 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!45007 | 1 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
meta_check Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !30141 merge master into master meta_check Created-by: cuiduo Commit-by: cuiduo Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 >1. 修复resize_as_和squeeze_算子的unknow format type问题,新增fake tensor校验以绕过过适配流程。 >2.BaseSchedulerNode新增校验,避免非标准节点错误。 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 新增测试文件test/_inductor/test_resize_as和test_squeeze_.py,参与ut看护 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!30141 | 8 个月前 | |
fix(inductor): keep multi_slice_concat out of epilogue fusion Co-authored-by: xudezheng<xudezheng1@huawei.com> # message auto-generated for no-merge-commit merge: !44988 merge sync-pr44486-44887-to-master into master fix(inductor): keep multi_slice_concat out of epilogue fusion 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!44988 | 1 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
[sync]Symbolic dynamic-shape grouping for reductions Co-authored-by: zhoujinning<zhoujinning2@huawei.com> # message auto-generated for no-merge-commit merge: !43088 merge master into master [sync]Symbolic dynamic-shape grouping for reductions Created-by: zhoujinning Commit-by: zhoujinning Merged-by: ascend-robot Description: [#3428](https://gitcode.com/Ascend/pytorch/issues/3428) <!-- 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!43088 | 2 个月前 | |
[fix]storge_faketensor Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !33822 merge master into master [fix]storge_faketensor 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 修改storge文件,增加faketensor的处理逻辑,确保其逻辑与GPU一致 # 【资料变更】 >不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 >本地验证通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!33822 | 5 个月前 | |
同步 Inductor 编译选项适配到 master 分支 Co-authored-by: yangkaixin<yangkaixin1@huawei.com> # message auto-generated for no-merge-commit merge: !45448 merge fix/inductor-main-dev-compile-options-master-20260828 into master 同步 Inductor 编译选项适配到 master 分支 Created-by: weizhan4 Commit-by: yangkaixin Merged-by: ascend-robot Description: [#4419](https://gitcode.com/Ascend/pytorch/issues/4419) ## 修改摘要 - 将已合入 v2.10.0 的 !45426 同步到 PyTorch Ascend 主开发分支 master。 - 以 buf_slot_num_of_veccore、buf_slot_num_of_crosscore 作为当前规范字段,同时保留同值的旧字段和旧优化开关,用于兼容不同版本的 Triton-Ascend。 - 所有兼容字段仍经过 NPUOptions.__dataclass_fields__ 过滤:新版后端只收到规范字段,旧版后端只收到旧字段,不会把已删除选项强行传给新版后端。 - enable_auto_blockify 仅作为旧版兼容请求保留,并改为经过同一字段过滤后再透传;新版后端继续使用内部自动块映射逻辑。 - 只调整已有符号分组 UT,不新增 UT 文件;局部缓存控制选项和 hfusion 控制选项保持不变。 ## 目标版本与提交 - 目标分支:PyTorch Ascend master。 - 来源 PR:Ascend/pytorch!45426,已合入 v2.10.0。 - 主适配提交:ac335674742399a1d17d55cc52879158c859001a。 - 兼容性提交:f7e50111b5717044f3ae68b237e8caf8e3df6638。 ## 编译选项兼容关系 | 编译选项 | 新版 Triton-Ascend 行为 | 旧版 Triton-Ascend 默认值或行为 | 本 PR 在 master 的兼容处理 | |---|---|---|---| | buf_slot_num_of_veccore / intra_cache_num | 使用规范字段 buf_slot_num_of_veccore,默认 None。 | 使用 intra_cache_num,默认 None;显式值用于设置 INTRA 缓存槽位数。 | 两个字段同时记录同值并按后端字段过滤:FWD、DQ 为 3,DKDV 为 2。 | | buf_slot_num_of_crosscore / inter_cache_num | 使用规范字段 buf_slot_num_of_crosscore,默认 None。 | 使用 inter_cache_num,默认 None;显式值用于设置 INTER 缓存槽位数。 | 两个字段同时记录同值并按后端字段过滤:FWD、DQ 为 2,DKDV 为 1。 | | enable_select_analysis | 已从公开选项删除,编译降级流程内部固定开启。 | 默认 True,可由调用方覆盖。 | BWD-DQ 保留兼容值 False;新版后端自动过滤,旧版后端继续收到原有值。 | | enable_cross_if_fusion | 已从公开选项及参数生成路径删除。 | 默认 False。 | FWD 保留兼容值 True;仅旧版后端接收。 | | enable_buffer_insert_optimization | 已从公开选项删除,DynamicCV 流程由后端内部管理。 | 默认 True。 | FWD 保留兼容值 True;仅旧版后端接收。 | | enable_ub_refine_opt | 已从公开选项删除,后端内部保持关闭。 | 默认 False。 | FWD 保留兼容值 True;仅旧版后端接收,以保持旧版本上的原有 FlexAttention 行为。 | | enable_auto_blockify | 已从公开选项删除,自动块映射及黑名单由后端内部管理。 | 默认 None;显式 True 时请求自动 blockify。 | 动态符号分组回退或现有无 linear 重映射条件满足时记录兼容请求,再通过字段过滤透传;新版后端不会收到该字段。 | ## 验证结果 - Python 语法编译检查:通过。 - FLAKE8、CODESPELL、NEWLINE、SPACES、TABS 检查:通过。 - TYPEIGNORE、COPYRIGHT、TEST_DEVICE_BIAS 检查:通过。 - 新字段后端与旧字段后端兼容契约检查:通过。 - git diff --check:通过。 - 最终差异仅包含 4 个既有文件,没有新增 UT 文件。 - 推送时远端仓库钩子检查:通过。 ## 验证边界 - 当前源码工作树没有构建 torch_npu._C;已有安装环境的 PyTorch Ascend 版本低于当前 master,无法收集本次已有符号分组 UT,因此不声明 NPU 运行验证通过。 - AOT 启动器的 FFTS、网格合并和工作区适配不属于本次编译选项 PR 的范围。 See merge request: Ascend/pytorch!45448 | 1 个月前 | |
[fix] remove to_copy meta_register Co-authored-by: chenshuai<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !35917 merge fix_to_opy into master [fix] remove to_copy meta_register Created-by: culechan Commit-by: chenshuai Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 当前_to_copy已经完全对齐GPU实现,无需另外meta_register来重新推导shape,这样会导致shape不一致。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35917 | 4 个月前 | |
register_device_interface_for_triton Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !43625 merge master into master register_device_interface_for_triton 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 >  修改上述报错,增加npuinterface注册 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 本地验证通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!43625 | 2 个月前 | |
move_has_triton_to_dynamo Co-authored-by: 1479518308<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !43319 merge master into master move_has_triton_to_dynamo 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > has_triton在utils阶段的patch挪到init阶段 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 本地验证通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 Related: https://gitcode.com/Ascend/pytorch/issues/1978 See merge request: Ascend/pytorch!43319 | 2 个月前 | |
fix(inductor): deliver auto_blockify_size via the Config.extra_options slot Co-authored-by: Guan Yingchen<guanyingchen@huawei.com> # message auto-generated for no-merge-commit merge: !44846 merge pytorch/publish-1b855d5c3 into master fix(inductor): deliver auto_blockify_size via the Config.extra_options slot Created-by: AllenGuanC Commit-by: Guan Yingchen Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260820 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 https://gitcode.com/Ascend/pytorch/issues/4176 - [ ] 重构优化 - [ ] 资料更新 社区 issue 链接待创建后补充。 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 背景: auto_blockify_size 是 triton-ascend 的编译选项(NPUOptions 字段,经 options 通道生效于 AutoBlockify pass),不是 kernel constexpr。此前前端把它注入 Config.kwargs,_precompile_config 将全部 cfg kwargs 灌进 ASTSource 的 constants,triton 核心 ast_to_ttir 以 fn.arg_names.index(key) 解析键名——kernel 签名无此参数,导致 grid>65535 的 kernel(默认 1D 路径 _pw1d_formula_configs 生成 auto_blockify_size∈{2,4,8} 候选时)编译必崩 ValueError: 'auto_blockify_size' is not in list,且 options 通道从未被喂值,该选项此前不存在送达后端的通路。 1. **注入**(npu_triton_config):auto_blockify_size 不再写入 cfg.kwargs,改设上游第三方后端官方槽位 Config.extra_options(AutotuneCache.save 原生序列化、read_best 原生恢复);kwargs 恢复纯 constexpr,constants 通道因构造正确而安全,无需过滤逻辑。 2. **送达**(_precompile_config):options.update(getattr(cfg, "extra_options", None) or {}) 将槽位转发进 triton.compile 的 options dict → NPUOptions.auto_blockify_size → 编译 metadata → add_auto_blockify pass → bishengir。转发不感知具体键名,后续新增后端选项自动走通。 3. **候选身份**(cached_autotune):上游去重/hash 键只含 kwargs+num_warps+num_stages,看不到 extra_options,{2,4,8} 三候选会被折叠为一个;改用 _npu_config_key/_npu_unique_configs/_npu_hash_configs(键扩展 extra_options),save/read 同经本文件,hash 前后自洽。 4. **兜底透传**(_compile_small_block_fallback):小方块回退重建 Config 时显式携带 template 的 extra_options(缓存命中路径 configs=[winner] 时 template 即带槽位的 winner)。 gate 语义零变更:all_blocks_parallel=True 且 ceildiv(numel, cap_XBLOCK)>65535 时在 cap tile 上追加 {2,4,8} 候选,与原行为一致。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及(Config.extra_options 为上游既有第三方后端槽位,本 PR 仅使用,未新增对外接口) # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 - **新增 UT 看护**:test/_inductor/test_triton_experimental_autotune.py 新增 TestAutoBlockify 7 用例——槽位正确性(extra_options 位置/kwargs 零泄漏/仅 cap tile 携带)、gate 开关矩阵(65535 严格边界、all_blocks_parallel 开关、小 kernel)、候选身份与去重、序列化 round-trip 形态。 - **存量回归**:清缓存(TORCHINDUCTOR_CACHE_DIR 等缓存目录清空)后全量 test_triton_experimental_autotune.py **66 passed**(存量 59 + 新增 7)。 - **e2e 验证**:最小复现 kernel(5 个 fp32 load × 2²⁸ 元素,UB 预算封顶 XBLOCK=4096 → grid=65536,精确复现原崩溃形态)torch.compile 编译通过、输出数值正确。 - **送达取证**:triton 编译缓存出现 auto_blockify_size∈{2,4,8} 三个独立 hash 的编译产物(options 参与缓存 key,三候选真实参与 autotune 竞速)。 - **模型级验证**:修复前编译崩溃的 timm mobilevit_s(bs=128)与 mobilenetv3_large_100(bs=512)可正常编译运行,实测 speedup 分别为 0.210× / 0.803×,运行日志零报错。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常(推送后确认) See merge request: Ascend/pytorch!44846 | 1 个月前 | |
fix: resolve Triton Experimental model correctness regressions Co-authored-by: htchu<chuhaotian2@huawei.com> # message auto-generated for no-merge-commit merge: !44487 merge master into master fix: resolve Triton Experimental model correctness regressions Created-by: htchu Commit-by: htchu Merged-by: ascend-robot Description: # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/3667 https://gitcode.com/Ascend/pytorch/issues/3812 https://gitcode.com/Ascend/pytorch/issues/3813 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 triton_experimental 后端在 Native TorchBench BERT、DeBERTa/DeBERTaV2 和 HuggingFace QA 训练场景中存在一组相互独立的编译、捕获和精度问题。它们均位于 NPU Triton Experimental 的内部 lowering、codegen 与 launcher 路径,不涉及公开 Python/C++ 接口。 # 【修改方案】 ## 1. 保证 codegen 中的符号和标量 shape 正确 - dual-view reduction fold 在地址表达式中找不到 flat alias 时,复用 range-tree 条目持有的正式 Symbol,而不是按名称新建普通 sympy.Symbol。这样保留整数、非负等 assumptions,避免 hf_DistilBert 出现 Unregistered range symbol。 - 对未显式指定 copy_shape 的整数标量索引,同时将 emitted shape 和 CSE shape 统一为 (1,)。避免线性化 reduction 中遗留的多 singleton 维使标量无法广播回 rank-1 reduction tile。 - 保留 upstream 的 control_deps lowering,避免 generic fallback 将 Subgraph 参数误当作 tensor 处理。 同时补充 Native BERT OUTER split-reduction 的回归覆盖:多 live output 或嵌套 reduction tree 的不安全形态不得进入 partial+combine rsplit 路径。 ## 2. 修复 RNG 图捕获和标量 Grid1D 启动 - NPU aten.bernoulli fallback 当前仍使用 host 侧 NPUGeneratorImpl::philox_engine_inputs(),而 CANN 尚无接收 PhiloxNpuState tensor seed/offset 的 graph-safe ABI。对 5 个 Bernoulli overload,lowering 会标记整个 compiled graph 跳过 NPUGraph 捕获,但仍保留 Inductor/Triton 编译;这避免捕获异常,也避免仅把随机算子分区到图外造成额外执行、推进 RNG 序列。 - 将 npu_num_x_nodes 为 0 或 1 的非 reduction Grid1D kernel 统一按 xnumel 夹紧 launch grid。对 xnumel=1 的标量 kernel 仅启动一个 program,避免多个 core 对同一 in_out_ptr 标量并发读写。Grid2D/Grid3D、reduction、缺少 metadata 和多 x-node kernel 均保持原有通用路径。 ## 3. 修复 boundary downcast 的输入保存与图内生命周期 - 纯 out_ptr 仍使用目标 dtype 的空临时 buffer;in_out_ptr 或 mutated_arg_names 参数改为先转换原值再执行 kernel,确保 read-before-write 不会丢失输入内容,并在结束后写回原 dtype buffer。这修复 fastNLP_Bert int64→int32 downcast 后 word-piece reduction 由 474 错算为 237 的问题。 - cudagraph/cudagraph-tree 模式下不缓存 boundary downcast 的临时 tensor,避免模块级缓存持有 graph warmup/capture 分配,破坏图私有内存池生命周期约束。 # 【资料变更】 不涉及用户资料变更。 # 【接口变更】 不涉及公开接口变更。 # 【功能验证】 ## 专项回归测试 新增以下测试: text test/_inductor/test_triton_experimental_deberta_regressions.py test/_inductor/test_triton_experimental_native_bert_regressions.py test/_inductor/test_triton_experimental_regressions.py 覆盖范围: 1. 5 个不支持 graph-safe RNG ABI 的 Bernoulli overload 会禁用 NPUGraph,且不会覆盖既有禁用原因;零/单 x-node 的标量 Grid1D 走安全 grid 计算。 2. 多 live output 与 nested reduction tree 不进入 OUTER rsplit;dual-view reduction fold 复用已注册 Symbol;in/out downcast 保留输入并正确回写。 3. 整数标量索引统一 emitted/CSE shape;control_deps 保留 upstream lowering;普通模式下 downcast 可复用,而 graph 模式不会缓存临时 buffer。 已有分项验证记录: - test_triton_experimental_regressions.py:9 passed。 - Native TorchBench BERT 专项测试:4 项通过。 - Native TorchBench BERT FP32 training accuracy:BERT_pytorch、hf_Bert、hf_DistilBert、hf_Albert、fastNLP_Bert 均为 pass_accuracy。 - DeBERTa/DeBERTaV2 与 QA FP32 training accuracy:Bernoulli 捕获异常消失,logits、loss、梯度、参数更新和 buffers 均通过相应精度检查。   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 不涉及对外接口或用户资料变更 - [x] 新增回归测试覆盖各修复分支与保守边界 - [x] 代码注释说明了 RNG 捕获、shape、grid 与 downcast 的限制原因 - [x] 当前补丁通过 git diff --check - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常(待提交 PR 后由 CI 验证) See merge request: Ascend/pytorch!44487 | 2 个月前 | |
test(_inductor): triton_experimental 启用测试适配 npu_backend 键懒注入 Co-authored-by: Guan Yingchen<guanyingchen@huawei.com> # message auto-generated for no-merge-commit merge: !44692 merge test/prime-npu-backend-config-entry into master test(_inductor): triton_experimental 启用测试适配 npu_backend 键懒注入 Created-by: AllenGuanC Commit-by: Guan Yingchen Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 https://gitcode.com/Ascend/pytorch/issues/4079 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 test/_inductor/test_triton_experimental_enable.py::test_config_entry 在直接赋值 torch._inductor.config.npu_backend 前先调用一次 torch._inductor.config.get_config_copy() (+5 行,含注释),与 ee15004fe8(perf: defer dynamo and inductor imports)对 test_mlir_enable.py 的适配完全同款(该提交中 test_mlir_enable.py 的同位置改动)。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 - 单跑 test_config_entry(原始复现路径):passed - 整文件 13 例(清缓存后):13 passed - 懒加载契约不受影响:test/test_torch_npu_init.py 13 passed # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44692 | 2 个月前 | |
fix: resolve Triton Experimental model correctness regressions Co-authored-by: htchu<chuhaotian2@huawei.com> # message auto-generated for no-merge-commit merge: !44487 merge master into master fix: resolve Triton Experimental model correctness regressions Created-by: htchu Commit-by: htchu Merged-by: ascend-robot Description: # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/3667 https://gitcode.com/Ascend/pytorch/issues/3812 https://gitcode.com/Ascend/pytorch/issues/3813 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 triton_experimental 后端在 Native TorchBench BERT、DeBERTa/DeBERTaV2 和 HuggingFace QA 训练场景中存在一组相互独立的编译、捕获和精度问题。它们均位于 NPU Triton Experimental 的内部 lowering、codegen 与 launcher 路径,不涉及公开 Python/C++ 接口。 # 【修改方案】 ## 1. 保证 codegen 中的符号和标量 shape 正确 - dual-view reduction fold 在地址表达式中找不到 flat alias 时,复用 range-tree 条目持有的正式 Symbol,而不是按名称新建普通 sympy.Symbol。这样保留整数、非负等 assumptions,避免 hf_DistilBert 出现 Unregistered range symbol。 - 对未显式指定 copy_shape 的整数标量索引,同时将 emitted shape 和 CSE shape 统一为 (1,)。避免线性化 reduction 中遗留的多 singleton 维使标量无法广播回 rank-1 reduction tile。 - 保留 upstream 的 control_deps lowering,避免 generic fallback 将 Subgraph 参数误当作 tensor 处理。 同时补充 Native BERT OUTER split-reduction 的回归覆盖:多 live output 或嵌套 reduction tree 的不安全形态不得进入 partial+combine rsplit 路径。 ## 2. 修复 RNG 图捕获和标量 Grid1D 启动 - NPU aten.bernoulli fallback 当前仍使用 host 侧 NPUGeneratorImpl::philox_engine_inputs(),而 CANN 尚无接收 PhiloxNpuState tensor seed/offset 的 graph-safe ABI。对 5 个 Bernoulli overload,lowering 会标记整个 compiled graph 跳过 NPUGraph 捕获,但仍保留 Inductor/Triton 编译;这避免捕获异常,也避免仅把随机算子分区到图外造成额外执行、推进 RNG 序列。 - 将 npu_num_x_nodes 为 0 或 1 的非 reduction Grid1D kernel 统一按 xnumel 夹紧 launch grid。对 xnumel=1 的标量 kernel 仅启动一个 program,避免多个 core 对同一 in_out_ptr 标量并发读写。Grid2D/Grid3D、reduction、缺少 metadata 和多 x-node kernel 均保持原有通用路径。 ## 3. 修复 boundary downcast 的输入保存与图内生命周期 - 纯 out_ptr 仍使用目标 dtype 的空临时 buffer;in_out_ptr 或 mutated_arg_names 参数改为先转换原值再执行 kernel,确保 read-before-write 不会丢失输入内容,并在结束后写回原 dtype buffer。这修复 fastNLP_Bert int64→int32 downcast 后 word-piece reduction 由 474 错算为 237 的问题。 - cudagraph/cudagraph-tree 模式下不缓存 boundary downcast 的临时 tensor,避免模块级缓存持有 graph warmup/capture 分配,破坏图私有内存池生命周期约束。 # 【资料变更】 不涉及用户资料变更。 # 【接口变更】 不涉及公开接口变更。 # 【功能验证】 ## 专项回归测试 新增以下测试: text test/_inductor/test_triton_experimental_deberta_regressions.py test/_inductor/test_triton_experimental_native_bert_regressions.py test/_inductor/test_triton_experimental_regressions.py 覆盖范围: 1. 5 个不支持 graph-safe RNG ABI 的 Bernoulli overload 会禁用 NPUGraph,且不会覆盖既有禁用原因;零/单 x-node 的标量 Grid1D 走安全 grid 计算。 2. 多 live output 与 nested reduction tree 不进入 OUTER rsplit;dual-view reduction fold 复用已注册 Symbol;in/out downcast 保留输入并正确回写。 3. 整数标量索引统一 emitted/CSE shape;control_deps 保留 upstream lowering;普通模式下 downcast 可复用,而 graph 模式不会缓存临时 buffer。 已有分项验证记录: - test_triton_experimental_regressions.py:9 passed。 - Native TorchBench BERT 专项测试:4 项通过。 - Native TorchBench BERT FP32 training accuracy:BERT_pytorch、hf_Bert、hf_DistilBert、hf_Albert、fastNLP_Bert 均为 pass_accuracy。 - DeBERTa/DeBERTaV2 与 QA FP32 training accuracy:Bernoulli 捕获异常消失,logits、loss、梯度、参数更新和 buffers 均通过相应精度检查。   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 不涉及对外接口或用户资料变更 - [x] 新增回归测试覆盖各修复分支与保守边界 - [x] 代码注释说明了 RNG 捕获、shape、grid 与 downcast 的限制原因 - [x] 当前补丁通过 git diff --check - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常(待提交 PR 后由 CI 验证) See merge request: Ascend/pytorch!44487 | 2 个月前 | |
fix(triton_experimental): propagate NaN in min/max reductions Co-authored-by: caoyilun<834922538@qq.com> # message auto-generated for no-merge-commit merge: !44773 merge fix_min_max_reduction into master fix(triton_experimental): propagate NaN in min/max reductions Created-by: caoyilun Commit-by: caoyilun 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/4183 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修复 triton_experimental 后端 min/max 归约的 NaN 传播语义错误。 1. codegen/triton.py:元素级 minimum/maximum 从裸 tl.minimum(a, b) 改为 tl.minimum(a, b, tl.PropagateNan.ALL)(maximum 同理)。 2. npu_triton_helpers.py:min2/max2 归约从 tl.min 改为 tl.reduce(a, dim, _min_prop_nan)(NaN 传播合体形式,对齐 cuda 后端)。 根因:裸 tl.minimum/maximum 落 arith.minnumf/maxnumf(NaN-dropping),NaN 会被丢弃;PropagateNan.ALL 落 arith.minimumf/maximumf(NaN-propagating)。后者既保证 NaN语义正确,又避开 minnumf 在向量管道约 5× 的指令开销,实测 1.6–2.8× 加速。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44773 | 1 个月前 | |
fix(triton_experimental): rebuild stale-rank store broadcast after r-tree promotion Co-authored-by: huyuchao<huyuchao2@huawei.com> # message auto-generated for no-merge-commit merge: !44955 merge fix-promoted-rtree-store-rank into master fix(triton_experimental): rebuild stale-rank store broadcast after r-tree promotion Created-by: huyuchao Commit-by: huyuchao 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/4375 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 问题现象: npu_backend=triton_experimental 时,输出为单个标量的全量归约融合 kernel(CausalLM 的 log_softmax + nll_loss(ignore_index) 路径,典型如 triton_unk_fused_clone_nll_loss_forward_slice_view_*)编译失败: ValueError('Cannot broadcast, rank mismatch: [1, 1, 1], [1, 1]') tl.store(in_out_ptr0 + (tl.full([1, 1], 0, tl.int32).broadcast_to(XBLOCK, 1)), tmp15, None) HuggingFace runner 的 ElectraForCausalLM / RobertaForCausalLM / XGLMForCausalLM 三模型均因同一 kernel 模板失败。 根因分析(上游 torch/_inductor 与 triton_experimental 的交互): 1. 上游 store codegen(torch/_inductor/codegen/triton.py 的 integer-index store 分支)会手动追加 .broadcast_to(<value.shape>),其中 value.shape 取自发射时刻 CSE 记录的形状——此刻归约值与索引秩一致(均为 2),代码正确; 2. triton_experimental 随后做 r 树提升(promoted r-tree)改写,把归约值表达式整形为 [None, None, :](秩 3),但 store 行中手动追加的 broadcast_to 参数与基座 tl.full 仍停留在提升前的秩 2; 3. Triton 要求 tl.store 两侧秩相等,[1,1,1] vs [XBLOCK,1] 直接编译失败。 修复内容:在既有的 store 回改函数 _rewrite_reduction_store_shape(torch_npu/_inductor/triton_experimental/codegen/triton.py)内补全分支——当 broadcast_to 参数数小于 real_ndim(陈旧秩)时重建参数:r 槽强制置 1(常量索引 ⟹ 全量归约 ⟹ 值在 r 轴为 singleton,类型上保证)、旧的非 1 参数按序映射到其余槽位、基座 tl.full 的 shape 列表补齐到 real_ndim。写入地址、数值与冗余写次数均不变,仅修正索引表达式的形状元数据,语义严格等价;参数计数不匹配时保持原行不改(防御性 bail)。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 验证环境:Ascend NPU(aarch64)+ torch 2.13.0 + torch_npu(triton_experimental 后端)。 1. 新增 UT:test/_inductor/test_triton_experimental_rtree_store.py,覆盖 CausalLM shift + log_softmax + nll_loss(ignore_index) 触发模式(双级 r 树提升 + 标量整数索引 store)。修复前该 UT 失败,报错与线上三模型完全一致(rank mismatch: [1, 1, 1], [1, 1]);修复后通过(含与 eager 数值一致性断言)。 2. 既有冒烟回归:test/_inductor/test_triton_experimental_enable.py 13/13 通过,无回归。 3. 端到端验证(HuggingFace benchmark runner,triton_experimental 后端): - ElectraForCausalLM:修复前编译失败 → 修复后 1.155x 加速、pass_accuracy; - RobertaForCausalLM:修复前编译失败 → 修复后 1.318x、pass_accuracy; - XGLMForCausalLM:修复前编译失败 → 修复后 1.502x、pass_accuracy; - 原正常模型(resnet18 / fastNLP_Bert 等)无劣化。 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!44955 | 1 个月前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35539 merge code_check_lintrunner into master 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 文件必须以 LF 换行符结尾,不允许 CRLF(DOS 换行),执行: lintrunner --all-files --take NEWLINE -a # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35539 | 4 个月前 | |
fix: lintrunner --all-files --take NEWLINE -a Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35539 merge code_check_lintrunner into master 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 文件必须以 LF 换行符结尾,不允许 CRLF(DOS 换行),执行: lintrunner --all-files --take NEWLINE -a # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35539 | 4 个月前 | |
[fix]user_autotune_npu Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !32039 merge master into master [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!32039 | 6 个月前 | |
[inductor] inductor support master Co-authored-by: duchengkun<duchengkun1@huawei.com> # message auto-generated for no-merge-commit merge: merge inductor_master into master [inductor] inductor support master Created-by: duchengkun Commit-by: duchengkun Merged-by: ascend-robot Description: inductor支持master - 在2.的基础上做的修改 - master的修改可以通过[inductor master](https://gitcode.com/Ascend/pytorch/commit/f99438d3eb6fff832f820bdebf4930fd4aa00512?ref=inductor_master&prId=25033)这个commit查看,为了方便检视,暂时不做commit squash See merge request: Ascend/pytorch!25033 | 1 年前 | |
convert all layernorm op to triton op Co-authored-by: rain-666<chenxiaoyu12@huawei.com> # message auto-generated for no-merge-commit merge: !45760 merge master_tmp1 into master convert all layernorm op to triton op 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!45760 | 1 个月前 | |
[Inductor] fix rms norm reduction Co-authored-by: luqichao<luqichao1@huawei.com> # message auto-generated for no-merge-commit merge: !43830 merge bugfix/rms_norm_codegen-master into master [Inductor] fix rms norm reduction Created-by: luqichao Commit-by: luqichao Merged-by: ascend-robot Description: 同步 https://gitcode.com/Ascend/pytorch/pull/42071 See merge request: Ascend/pytorch!43830 | 2 个月前 | |
[Fix] Fix static check errors detected by SPACES Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !35981 merge master_lintrunner into master [Fix] Fix static check errors detected by SPACES 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 检测和删除代码中的行尾空白字符 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!35981 | 4 个月前 | |
[Inductor] master branch support AOTI and cpp_wrapper Co-authored-by: qiaoyaodan888<qiaoyaodan@huawei.com> Co-authored-by: zhuceHW<zhuce@huawei.com> # message auto-generated for no-merge-commit merge: !42521 merge main-0720 into master [Inductor] master branch support AOTI and cpp_wrapper Created-by: zhucehw Commit-by: zhuceHW;qiaoyaodan888;zhucehw Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/2526?ref=&did=4121203#tid-4121203 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. add cpp_wrapper and AOTI support for master branch 2. sync files from torch2.13 aoti_runtime and aoti_torch 3. format c++ file whitespace num 4. skip lazy compile for cpp_wrapper # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 CI PASS # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/pytorch!42521 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 年前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 9 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 7 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 6 个月前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 3 个月前 | ||
| 10 个月前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 6 个月前 | ||
| 4 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 5 个月前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 6 个月前 | ||
| 1 年前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 2 个月前 |