OpPlugin of Ascend Extension for PyTorch
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[docs]add PR notes info Co-authored-by: liangsongwei<liangsongwei@huawei.com> # message auto-generated for no-merge-commit merge: !4253 merge master into master [docs]add PR notes info Created-by: liangsongwei Commit-by: liangsongwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 一是要求必须关联社区issue链接; 二是禁止填写需求链接、问题单等内部流程信息。 该修改通过直接更新模板文件生效,不涉及任何代码逻辑变更。 # 【资料变更】 PR提交模板信息补充 # 【接口变更】 不涉及 # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4253 | 6 个月前 | |
Fix fmt update error Co-authored-by: huangjingwei<huangjingwei4@huawei.com> # message auto-generated for no-merge-commit merge: !5296 merge master_ci into master Fix fmt update error 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】  三方代码仓损坏,这里新改为完成clone,不阻塞CI流程。后续联系仓库管理员修复。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 不涉及 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5296 | 2 个月前 | |
fix doc bug Co-authored-by: XianglongZeng<zengxianglong1@huawei.com> # message auto-generated for no-merge-commit merge: !5538 merge myop into master fix doc bug Created-by: probiotics_53 Commit-by: XianglongZeng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修复npu_rotate_quant文档描述不准确的地方 # 【资料变更】 修复npu_rotate_quant文档描述不准确的地方 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5538 | 1 个月前 | |
[master][docs]fix set_dump description Co-authored-by: Dring<17737727613@163.com> # message auto-generated for no-merge-commit merge: !5540 merge master into master [master][docs]fix set_dump description Created-by: Dring Commit-by: Dring Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/op-plugin/issues/315 - [ ✕] 需求 - [✓ ] 问题单 - [✓ ] issue/工单 - [✕ ] 重构优化 - [✓ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 不涉及 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 三处文档已修改完成。修改摘要: 1. init_dump.md 删除:错误的 NPU_DUMP_ENABLE=1 环境变量要求(代码中无此变量)。 修正顺序:原本错误写为"先 set_dump 再 init_dump",改为正确的"init_dump() → set_dump() → finalize_dump()"。 2. set_dump.md 调用示例 删除:os.environ["NPU_DUMP_ENABLE"] = "1" 这一行及 import os。 修正顺序:原本第2步是 set_dump、第3步是 init_dump,调整为先 init_dump 再 set_dump。 3. finalize_dump.md 删除:错误的 NPU_DUMP_ENABLE=1 环境变量要求。 新增:补充"需先调用 init_dump() 初始化 dump"的前置条件(对应错误码 100045)。 依据来自代码实现 npu_config.py、底层 hook EnvVariables.cpp 以及 NPUErrorCodes.h 错误码 100045。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 运行实例,dump文件正常生成   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ✓] 代码注释完备,正确记录错误日志 - [✕ ] 代码实现进行了返回值、空指针等校验 - [✓ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [✓ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5540 | 1 个月前 | |
[master][Fix] Fix static check errors detected by clang-format Co-authored-by: zhoupeng<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !5551 merge clang-format into master [master][Fix] Fix static check errors detected by clang-format Created-by: thickhair Commit-by: zhoupeng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 https://gitcode.com/Ascend/op-plugin/issues/323 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 使用pta clang-format风格,修复相关问题 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5551 | 1 个月前 | |
[master][Fix] Fix static check errors detected by clang-format | 1 个月前 | |
feat: 新增gitleaks敏感信息检测 Co-authored-by: zhoupeng<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !5416 merge gitleaks-master into master feat: 新增gitleaks敏感信息检测 Created-by: thickhair Commit-by: zhoupeng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 https://gitcode.com/Ascend/op-plugin/issues/258 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 引入gitleaks二进制离线扫描工具 新增pre-commit/.gitleaks.toml配置,继承官方全部检测规则 配置pre-commit钩子,提交前自动扫描密钥硬编码风险。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5416 | 1 个月前 | |
npu_grouped_dynamic_mx_quant add input format and parameter Co-authored-by: yeeyanghsia<xiayiyang@huawei.com> # message auto-generated for no-merge-commit merge: !5471 merge GroupedDynamicMxQuant0713 into master npu_grouped_dynamic_mx_quant add input format and parameter Created-by: yeeyanghsia Commit-by: yeeyanghsia Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 关联issue [#298](https://gitcode.com/Ascend/op-plugin/issues/298) - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 经评审,修改GroupedDynamicMxQuant算子接口,具体修改内容如下: 1、round_mode 新增支持 round / floor 2、dst_type 新增支持 40(FP4_E2M1) / 41(FP4_E1M2) 3、scale_alg 新增支持 2(Dynamic Dtype Range 实现) 4、新增可选参数 dst_type_max 5、y 新增支持数据类型 FP4_E2M1 和 FP4_E1M2 # 【资料变更】 涉及,修改GroupedDynamicMxQuant算子接口的详细资料。 # 【接口变更】 涉及,新增参数dst_type_max # 【功能验证】 UT测试自验证结果如下:  # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5471 | 1 个月前 | |
[feat]拆分巨型文件 Co-authored-by: LiNuohang<linuohang@huawei.com> # message auto-generated for no-merge-commit merge: !5479 merge bianyi into master [feat]拆分巨型文件 Created-by: LiNuohang Commit-by: LiNuohang Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1.拆分巨型codegen文件 改前: 全量编译无ccache 18min [2026-07-14 11:46:25] Using PyTorch 2.13.0.dev20260610+cpu .... [2026-07-14 11:56:32] [1294/1298] Building CXX object CMakeFiles/torch_npu.dir/third_party/op-plugin/op_plugin/__OpInterface.cpp.o [2026-07-14 12:03:34] [1295/1298] Building CXX object CMakeFiles/torch_npu.dir/third_party/op-plugin/op_plugin/ops/opapi/StructKernelNpuOpApi.cpp.o [2026-07-14 12:03:35] [1296/1298] Linking CXX shared library packages/torch_npu/lib/libtorch_npu.so [2026-07-14 12:03:35] [1297/1298] Linking CXX shared library packages/torch_npu/lib/libop_plugin_atb.so 全量编译耗时长杆: [2026-07-16 11:20:23] [6/1295/1298 344.920s] Building CXX object CMakeFiles/torch_npu.dir/torch_npu/csrc/afd/Init.cpp.o [2026-07-16 11:20:24] [5/1295/1298 345.788s] Building CXX object CMakeFiles/torch_npu.dir/torch_npu/csrc/npu/Graph.cpp.o [2026-07-16 11:20:37] [4/1295/1298 358.510s] Building CXX object CMakeFiles/torch_npu.dir/torch_npu/csrc/npu/Module.cpp.o [2026-07-16 11:20:55] [3/1295/1298 376.786s] Building CXX object CMakeFiles/torch_npu.dir/torch_npu/csrc/distributed/ProcessGroupHCCL.cpp.o [2026-07-16 11:22:01] [2/1295/1298 442.896s] Building CXX object CMakeFiles/torch_npu.dir/third_party/op-plugin/op_plugin/OpInterface.cpp.o [2026-07-16 11:29:08] [1/1295/1298 869.507s] Building CXX object CMakeFiles/torch_npu.dir/third_party/op-plugin/op_plugin/ops/opapi/StructKernelNpuOpApi.cpp.o [2026-07-16 11:29:08] [1/1296/1298 870.165s] Linking CXX shared library packages/torch_npu/lib/libtorch_npu.so [2026-07-16 11:29:08] [1/1297/1298 870.258s] Linking CXX shared library packages/torch_npu/lib/libop_plugin_atb.so 编译耗时排名: 595627 CMakeFiles/torch_npu.dir/third_party/op-plugin/op_plugin/ops/opapi/StructKernelNpuOpApi.cpp.o 242710 CMakeFiles/torch_npu.dir/torch_npu/csrc/aten/RegisterNPU.cpp.o 153605 CMakeFiles/torch_npu.dir/third_party/op-plugin/op_plugin/OpInterface.cpp.o 111907 CMakeFiles/torch_npu.dir/torch_npu/csrc/aten/CustomFunctions.cpp.o 110520 CMakeFiles/torch_npu.dir/third_party/op-plugin/op_plugin/ops/opapi/FlashAttentionKernelNpuOpApi.cpp.o 101897 CMakeFiles/torch_npu.dir/torch_npu/csrc/aten/CustomRegisterSchema.cpp.o 92198 CMakeFiles/torch_npu.dir/third_party/op-plugin/op_plugin/ops/opapi/FlashAttentionV2KernelNpuOpApi.cpp.o 88972 third_party/torchair/CMakeFiles/copy_torchair_pyfiles 88972 /home/linuohang/package/bianyi/PTA-CODE/torch_npu/build/third_party/torchair/CMakeFiles/copy_torchair_pyfiles 77577 CMakeFiles/torch_npu.dir/torch_npu/csrc/distributed/ProcessGroupHCCL.cpp.o 56191 CMakeFiles/torch_npu.dir/torch_npu/csrc/aten/CustomRedispatch.cpp.o 52131 CMakeFiles/torch_npu.dir/torch_npu/csrc/core/npu/NPUCachingAllocator.cpp.o 51924 CMakeFiles/torch_npu.dir/torch_npu/csrc/aten/VariableType_0.cpp.o 51337 CMakeFiles/torch_npu.dir/torch_npu/csrc/npu/Module.cpp.o 51312 CMakeFiles/torch_npu.dir/third_party/op-plugin/op_plugin/ops/opapi/MatmulAllReduceBaseKernelNpuOpApi.cpp.o 48609 CMakeFiles/torch_npu.dir/third_party/op-plugin/op_plugin/ops/opapi/FusedInferAttentionScoreKernelNpuOpApi.cpp.o 48146 CMakeFiles/torch_npu.dir/torch_npu/csrc/inductor/dvm/pybind_api.cpp.o 47171 CMakeFiles/torch_npu.dir/torch_npu/csrc/aten/Functions.cpp.o 45263 /home/linuohang/package/bianyi/PTA-CODE/torch_npu/third_party/dvm/dvm/libdvm.a 43958 CMakeFiles/torch_npu.dir/third_party/op-plugin/op_plugin/ops/opapi/MlaPrologV3KernelNpuOpApi.cpp.o 43386 CMakeFiles/torch_npu.dir/third_party/op-plugin/op_plugin/ops/opapi/DivKernelNpuOpApi.cpp.o 43324 CMakeFiles/torch_npu.dir/third_party/op-plugin/op_plugin/ops/opapi/GtKernelNpuOpApi.cpp.o 43055 CMakeFiles/torch_npu.dir/torch_npu/csrc/distributed/Init.cpp.o 40365 CMakeFiles/torch_npu.dir/third_party/op-plugin/op_plugin/ops/opapi/LeKernelNpuOpApi.cpp.o 39415 CMakeFiles/torch_npu.dir/third_party/op-plugin/op_plugin/ops/opapi/LtKernelNpuOpApi.cpp.o # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 改后: 全量编译无ccache 8min。无长杆。 [2026-07-16 19:33:30] Using PyTorch 2.13.0.dev20260610+cpu ....... [2026-07-16 19:38:53] [88:1301/1406 238.557s] Building CXX object CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/OpInterface_7.cpp.o [2026-07-16 19:38:53] [88:1302/1406 238.657s] Building CXX object CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/OpInterface_25.cpp.o [2026-07-16 19:38:53] [88:1303/1406 238.678s] Building CXX object CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/utils/custom_functions/aclops/TriangularSolveKernelNpu.cpp.o [2026-07-16 19:38:53] [88:1304/1406 238.699s] Building CXX object CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/StructKernelNpuOpApi_17.cpp.o [2026-07-16 19:38:53] [88:1305/1406 238.731s] Building CXX object CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/StructKernelNpuOpApi_3.cpp.o [2026-07-16 19:38:53] [88:1306/1406 238.753s] Building CXX object CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/OpInterface_27.cpp.o [2026-07-16 19:38:53] [88:1307/1406 238.970s] Building CXX object CMakeFiles/torch_npu_objs.dir/torch_npu/csrc/framework/utils/ForceAclnnList.cpp.o ....... [2026-07-16 19:40:44] [5:1404/1406 349.560s] Building CXX object third_party/op-plugin/op_plugin/CMakeFiles/op_plugin_atb.dir/ops/atb/FusedAddDivAtb.cpp.o [2026-07-16 19:40:44] [4:1404/1406 349.957s] Building CXX object third_party/op-plugin/op_plugin/CMakeFiles/op_plugin_atb.dir/ops/atb/RopeAtb.cpp.o [2026-07-16 19:40:45] [3:1404/1406 350.966s] Building CXX object third_party/op-plugin/op_plugin/CMakeFiles/op_plugin_atb.dir/ops/atb/RingMlaAtb.cpp.o [2026-07-16 19:40:46] [2:1404/1406 351.732s] Building CXX object third_party/op-plugin/op_plugin/CMakeFiles/op_plugin_atb.dir/ops/atb/MLAPreprocessAtb.cpp.o [2026-07-16 19:40:47] [1:1404/1406 353.319s] Building CXX object third_party/op-plugin/op_plugin/CMakeFiles/op_plugin_atb.dir/ops/atb/MultiHeadLatentAttentionAtb.cpp.o [2026-07-16 19:40:48] [1:1405/1406 353.438s] Linking CXX shared library packages/torch_npu/lib/libop_plugin_atb.so [2026-07-16 19:40:48] running build_ext 编译耗时排名 116.0 s CMakeFiles/torch_npu_objs.dir/torch_npu/csrc/aten/CustomFunctions.cpp.o 110.3 s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/FlashAttentionKernelNpuOpApi.cpp.o 99.6 s CMakeFiles/torch_npu_objs.dir/torch_npu/csrc/aten/CustomRegisterSchema.cpp.o 89.9 s third_party/torchair/CMakeFiles/copy_torchair_pyfiles 89.9 s /home/linuohang/package/bianyi/PTA-MASTER-310/torch_npu/build/third_party/torchair/CMakeFiles/copy_torchair_pyfiles 79.5 s CMakeFiles/torch_npu_objs.dir/torch_npu/csrc/distributed/ProcessGroupHCCL.cpp.o 79.0 s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/FlashAttentionV2KernelNpuOpApi.cpp.o 53.7 s CMakeFiles/torch_npu_objs.dir/torch_npu/csrc/npu/Module.cpp.o 52.2 s CMakeFiles/torch_npu_objs.dir/torch_npu/csrc/aten/CustomRedispatch.cpp.o 50.9 s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/StructKernelNpuOpApi_16.cpp.o 50.6 s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/StructKernelNpuOpApi_17.cpp.o 49.0 s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/MatmulAllReduceBaseKernelNpuOpApi.cpp.o 48.9 s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/StructKernelNpuOpApi_8.cpp.o 47.4 s CMakeFiles/torch_npu_objs.dir/torch_npu/csrc/core/npu/NPUCachingAllocator.cpp.o 47.0 s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/StructKernelNpuOpApi_3.cpp.o 45.7 s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/StructKernelNpuOpApi_30.cpp.o 45.7 s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/StructKernelNpuOpApi_0.cpp.o 44.8 s CMakeFiles/torch_npu_objs.dir/torch_npu/csrc/distributed/Init.cpp.o 44.2 s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/StructKernelNpuOpApi_26.cpp.o 44.0 s /home/linuohang/package/bianyi/PTA-MASTER-310/torch_npu/third_party/dvm/dvm/libdvm.a 43.7 s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/StructKernelNpuOpApi_29.cpp.o 42.8 s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/MlaPrologV3KernelNpuOpApi.cpp.o 41.2 s CMakeFiles/torch_npu_objs.dir/torch_npu/csrc/aten/Functions.cpp.o 40.5 s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/DivKernelNpuOpApi.cpp.o 40.2 s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/StructKernelNpuOpApi_1.cpp.o 39.7 s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/ops/opapi/StructKernelNpuOpApi_15.cpp.o ....... 25.7s CMakeFiles/torch_npu_objs.dir/third_party/op-plugin/op_plugin/OpInterface_9.cpp.o # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5479 | 1 个月前 | |
[master][Fix] Fix static check errors detected by clang-format | 1 个月前 | |
init submodule | 3 年前 | |
[master][Fix] Fix static check errors detected by clang-format Co-authored-by: zhoupeng<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !5551 merge clang-format into master [master][Fix] Fix static check errors detected by clang-format Created-by: thickhair Commit-by: zhoupeng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 https://gitcode.com/Ascend/op-plugin/issues/323 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 使用pta clang-format风格,修复相关问题 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5551 | 1 个月前 | |
Add static code check and support pre-commit Co-authored-by: root<Jingwei Huang> # message auto-generated for no-merge-commit merge: !4793 merge code-check into master Add static code check and support pre-commit Created-by: huangjingwei Commit-by: root Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [x] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 对接PUD静态检查工具和规则。支持pre-commit。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 直接运行pre-commit命令:  git cherry-pick 或 git commit 自动运行代码静态检查:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4793 | 4 个月前 | |
update LICENSE. Signed-off-by: weili10 <liwei386@huawei.com> | 2 年前 | |
Update URL (gitcode) Co-authored-by: dilililiwhy<why.wuhuanyu@huawei.com> # message auto-generated for no-merge-commit merge: merge update_url into master Update URL (gitcode) Created-by: dilililiwhy Commit-by: dilililiwhy 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**: **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3165 | 11 个月前 | |
modify document Co-authored-by: m0_68000167<wangzhiyuan86@h-partners.com> # message auto-generated for no-merge-commit merge: !5537 merge cherry-pick-mr-5536-1784797477330-auto into master modify document Created-by: m0_68000167 Commit-by: m0_68000167 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/1880 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 文件修改 # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5537 | 1 个月前 | |
[Fix] Fix static check errors by the end-of-file fixer Co-authored-by: zhoupeng<zp2165064878@163.com> # message auto-generated for no-merge-commit merge: !5077 merge op_end-of-file-fixer into master [Fix] Fix static check errors by the end-of-file fixer Created-by: thickhair Commit-by: zhoupeng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 https://gitcode.com/Ascend/op-plugin/issues/129 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修改pre-commit-config.yaml,开启end-of-file-fixer检查,使用pre-commit进行检查和修复 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5077 | 2 个月前 | |
compat(v2.14): register v2.14, follow upstream #185272 and #187115 Co-authored-by: chz34<chenhaozhe1@huawei.com> # message auto-generated for no-merge-commit merge: !5388 merge compat/2.14 into master compat(v2.14): register v2.14, follow upstream #185272 and #187115 Created-by: c_34 Commit-by: chz34 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/2578 , https://gitcode.com/Ascend/pytorch/issues/2594 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 针对https://gitcode.com/Ascend/pytorch/issues/2578,临时采用python白名单控制转换,依赖隐式转换实现多版本的兼容。正式方案依赖算子补充.out类型,并参照上游进行meta处理与device处理的解耦,特殊算子依赖950硬件验证,后续单独处理 2. 针对https://gitcode.com/Ascend/pytorch/issues/2594,直接补齐缺省参数,天然兼容历史版本,补齐的参数与原默认参数保持一致。 compat(v2.14): register v2.14, follow upstream #185272 and #187115 Register PyTorch 2.14 as a supported minor across op-plugin's version housekeeping so gencode.sh can produce the v2r14 dispatch tables and VERSION_BETWEEN(...) macros compile in a torch 2.14 build: * op_plugin/utils/Version.h -- add #define V2R14 13 and move VERSION_NEWEST from V2R13 to V2R14. Without this, torch 2.14 builds cause CMakeLists.txt to inject -DCURRENT_VERSION=V2R14, which then fails at preprocessing. * op_plugin/config/op_plugin_functions.yaml + derivatives.yaml -- append v2.14 to the all_version list so gencode.sh generates registration entries for v2.14. * gencode.sh -- bump newest_minor_version=13 to 14 so the test/test_v2r{n}_ops loop covers v2r14. * test/test_v2r14_ops/unsupported_ops_info.yaml -- new stub matching the v2r13 template (the header-only comment file; gencode.sh will prepend test/unsupported_ops_info_base.yaml at build time). Also, follow upstream pytorch#185272 which converted _scaled_mm_v2 into a structured operator (landed 2026-06-15, releasing in 2.14). As a side effect, torchgen switched the C++ binding of the Tensor[] scale_a / scale_b params from at::TensorList to const at::ITensorListRef&, so the wrapper generated in torch_npu's RegisterNPU.cpp on 2.14 no longer matches op_plugin::_scaled_mm_v2, which still expects at::TensorList: * torchnpugen/context.py -- add a small op whitelist that force-enables param_use_ilistref_for_tensor_lists for _scaled_mm_v2 regardless of what op_plugin_functions.yaml says. Codegen output for the four interface files now declares scale_a / scale_b as const at::ITensorListRef&; the other 73 ops that use Tensor[] params are untouched. * op_plugin/ops/opapi/ScaledMmV2KernelNpuOpApi.cpp -- change the handwritten impl signature to match, then materialize the ilist inputs into a local at::TensorList at function entry so the existing body -- ten scale_a[i] indexings, .empty() / .size() checks, matcher_fn pass-through -- needs no further edit. Both directions of the boundary are safe without version gating: * On 2.11-2.13, torch_npu's wrapper still passes at::TensorList; IListRef has an implicit constructor from ArrayRef so it converts transparently to const ITensorListRef&. * On 2.14, torch_npu's wrapper passes const at::ITensorListRef& directly and the types match. Follow upstream pytorch#187115, which dropped the includeBool=false default on at::isIntegralType(t): all such callsites in MatmulAllReduceBaseKernelNpuOpApi.cpp, RangeKernelNpuOpApi.cpp, OpUtils.cpp and ScalarOpApi.cpp now pass the second argument explicitly to compile on both 2.13 and 2.14. Users must rerun gencode.sh <version> python3 to regenerate the four untracked interface files after this change; the source-tracked change alone is not enough for a working build. Independent follow-up (not in this commit): upstream 2.14 deprecates c10::value_or_else in favor of std::optional::value_or; op_plugin emits many warnings but no errors. See docs/issue_scaled_mm_v2_structured.md. # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 兼容性修改,依赖历史测试用例 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5388 | 1 个月前 |
OpPlugin
简介
本项目开发了TorchNPU算子插件,为使用PyTorch框架的开发者提供便捷的NPU算子库调用能力。 OpPlugin算子插件的编译、使用依赖昇腾TorchNPU。因此,在编译OpPlugin之前,需要了解、安装昇腾PyTorch。使用手册可参考昇腾社区TorchNPU。
目录结构
关键目录如下:
├─docs # 文档目录
├─ci # 自动化构建与测试脚本目录
├─op_plugin # 项目核心目录
│ ├─config # 配置管理目录
│ ├─ops # 算子实现目录
│ ├─python # python绑定目录
├─codegen # 代码生成目录
├─examples # 示例目录
└─test # 测试目录
版本配套表
OpPlugin仓旨在为TorchNPU提供运行所需要的算子适配文件,两个仓的对应关系如下:
| OpPlugin分支 | 对应TorchNPU版本 |
|---|---|
| master | 主线版本,如v2.7.1等 |
| 26.1.0 | 26.1.0版本,如v2.7.1-26.1.0等 |
| 26.0.0 | 26.0.0版本,如v2.7.1-26.0.0等 |
| 7.3.0 | 7.3.0版本,如v2.7.1-7.3.0等 |
| 7.2.0 | 7.2.0版本,如v2.7.1-7.2.0等 |
| 7.1.0 | 7.1.0版本,如v2.1.0-7.1.0等 |
| 7.0.0 | 7.0.0版本,如v2.1.0-7.0.0等 |
| 6.0.0 | 6.0.0版本,如v2.1.0-6.0.0等 |
| 6.0.rc3 | 6.0.rc3版本,如v2.1.0-6.0.rc3等 |
| 6.0.rc2 | 6.0.rc2版本,如v2.1.0-6.0.rc2等 |
| 6.0.rc1 | 6.0.rc1版本,如v2.1.0-6.0.rc1等 |
| 5.0.0 | 5.0.0版本,如v2.1.0-5.0.0等 |
| 5.0.rc3 | 5.0.rc3版本,如v2.1.0-5.0.rc3等 |
安装OpPlugin
支持通过源码编译的方式安装OpPlugin。具体操作,请参考安装OpPlugin。
快速入门
提供了一个通过OpPlugin插件实现PyTorch调用Ascend C自定义算子的完整开发指南,涵盖了从环境配置、算子注册、适配实现到测试验证提供了全流程说明。具体操作,请参考调用样例。
API参考
基于PyTorch2.10.0/2.9.0/2.8.0/2.7.1版本,提供TorchNPU自定义API的功能说明、函数原型、参数说明与调用示例等。具体信息,请参考自定义API。
生命周期
OpPlugin仓依赖TorchNPU运行,生命周期请参考TorchNPU中的PyTorch版本维护策略。
贡献指导
介绍如何向OpPlugin仓库贡献代码,具体请参见贡献指南。
联系我们
如果有任何疑问或建议,请提交GitCode Issues,我们会尽快回复。感谢您的支持。
安全声明
主要描述了OpPlugin的安全加固信息、公网地址信息及通信矩阵等内容。具体介绍,请参考OpPlugin安全声明。
免责声明
致OpPlugin插件使用者
-
本插件仅供调试和开发使用,使用者需自行承担使用风险,并理解以下内容:
- 数据处理及删除:用户在使用本插件过程中产生的数据属于用户责任范畴。建议用户在使用完毕后及时删除相关数据,以防信息泄露。
- 数据保密与传播:使用者了解并同意不得将通过本插件产生的数据随意外发或传播。对于由此产生的信息泄露、数据泄露或其他不良后果,本插件及其开发者概不负责。
- 用户输入安全性:用户需自行保证输入的命令行的安全性,并承担因输入不当而导致的任何安全风险或损失。对于输入命令行不当所导致的问题,本插件及其开发者概不负责。
-
免责声明范围:本免责声明适用于所有使用本插件的个人或实体。使用本插件即表示您同意并接受本声明的内容,并愿意承担因使用该功能而产生的风险和责任,如有异议请停止使用本插件。
-
在使用本工具之前,请谨慎阅读并理解以上免责声明的内容。对于使用本插件所产生的任何问题或疑问,请及时联系开发者。
License
OpPlugin的使用许可证,详见LICENSE。
致谢
感谢来自社区的每一个PR,欢迎贡献Ascend Extension for TensorPipe插件!