| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[docs]产品名称修改 Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !5621 merge master into master [docs]产品名称修改 Created-by: zxchen152 Commit-by: zxchen152 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ [#336](https://gitcode.com/Ascend/op-plugin/issues/336) > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 OpPlugin代码仓文档产品改名,原PTA、torch_npu、Ascend extension for pytorch统一命名为TorchNPU,op-plugin等重命名为OpPlugin。 # 【资料变更】 涉及代码仓下.md文档下的名称变更,不涉及代码文件或者docs目录下文档。 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5621 | 1 个月前 | |
[feat]add cpp_extension OpCommand guide Co-authored-by: liangsongwei<liangsongwei@huawei.com> # message auto-generated for no-merge-commit merge: !5744 merge master into master [feat]add cpp_extension OpCommand guide Created-by: liangsongwei Commit-by: liangsongwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 新增 5 种启动方式对比表及编译流程详解;将 add_custom.asc 从单一实现扩展为 5 种正确启动方式的对比示例。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 > CI pass,工程test pass # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5744 | 1 个月前 | |
【docs】Link modification Co-authored-by: l60114168<liuyaxiong6@h-partners.com> # message auto-generated for no-merge-commit merge: !5689 merge master into master 【docs】Link modification Created-by: lyx324521 Commit-by: l60114168 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/pytorch/issues/3327 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 链接修改 # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5689 | 1 个月前 | |
【docs】Link modification Co-authored-by: l60114168<liuyaxiong6@h-partners.com> # message auto-generated for no-merge-commit merge: !5689 merge master into master 【docs】Link modification Created-by: lyx324521 Commit-by: l60114168 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/pytorch/issues/3327 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 链接修改 # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5689 | 1 个月前 | |
【docs】Link modification Co-authored-by: l60114168<liuyaxiong6@h-partners.com> # message auto-generated for no-merge-commit merge: !5689 merge master into master 【docs】Link modification Created-by: lyx324521 Commit-by: l60114168 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/pytorch/issues/3327 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 链接修改 # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5689 | 1 个月前 | |
【docs】Link modification Co-authored-by: l60114168<liuyaxiong6@h-partners.com> # message auto-generated for no-merge-commit merge: !5689 merge master into master 【docs】Link modification Created-by: lyx324521 Commit-by: l60114168 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/pytorch/issues/3327 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 链接修改 # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5689 | 1 个月前 | |
【docs】Link modification Co-authored-by: l60114168<liuyaxiong6@h-partners.com> # message auto-generated for no-merge-commit merge: !5689 merge master into master 【docs】Link modification Created-by: lyx324521 Commit-by: l60114168 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/pytorch/issues/3327 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 链接修改 # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5689 | 1 个月前 | |
fix-2.13-bug Co-authored-by: l00881990<lixinyu68@huawei.com> # message auto-generated for no-merge-commit merge: !5674 merge fix-2.13-bug into master fix-2.13-bug Created-by: l1919_snow Commit-by: l00881990 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 编译包新增 torch版本传参,通过版本判断是否需要导入头文件 2.13 头文件删除,低于2.13 才加载头文件 # 【资料变更】 “不涉及” # 【接口变更】 “不涉及” # 【功能验证】   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5674 | 1 个月前 | |
[docs]产品名称修改 Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !5621 merge master into master [docs]产品名称修改 Created-by: zxchen152 Commit-by: zxchen152 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ [#336](https://gitcode.com/Ascend/op-plugin/issues/336) > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 OpPlugin代码仓文档产品改名,原PTA、torch_npu、Ascend extension for pytorch统一命名为TorchNPU,op-plugin等重命名为OpPlugin。 # 【资料变更】 涉及代码仓下.md文档下的名称变更,不涉及代码文件或者docs目录下文档。 # 【接口变更】 不涉及 # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5621 | 1 个月前 | |
modify document Co-authored-by: molly123321<malei54@h-partners.com> # message auto-generated for no-merge-commit merge: !4896 merge master into master modify document Created-by: molly123321 Commit-by: molly123321 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 doc ci工具扫描问题清理 CANN安装语言风格统一、主干跳转链接修改至最新CANN版本 # 【资料变更】 修改格式和跳转问题 CANN安装语言风格统一、主干跳转链接修改至最新CANN版本 # 【接口变更】 “不涉及” # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4896 | 4 个月前 | |
添加cpp-extension 门禁脚本 Co-authored-by: l00881990<lixinyu68@huawei.com> # message auto-generated for no-merge-commit merge: !5666 merge cpp-ci-add into master 添加cpp-extension 门禁脚本 Created-by: l1919_snow Commit-by: l00881990 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能力等内容) # 【资料变更】 “不涉及” # 【接口变更】 “不涉及” # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5666 | 1 个月前 |
适配说明
概述
C++ extensions插件提供了将自定义算子映射到昇腾AI处理器的功能,为使用PyTorch框架的开发者提供了便捷的NPU算子库调用能力,基于PyTorch原生提供的自定义算子扩展功能,用户可以编译安装自定义算子wheel包并运行。本章节基于C++ extensions的方式介绍如何在昇腾NPU上完成自定义算子开发和适配。PyTorch官方的C++ extensions功能具体可参考C++ extensions官方文档。
适配样例目录
此目录下展示了C++ extensions构建自定义算子库的所有样例。
├── cpp_extension_base // 基础样例
├── cpp_extension_full // 完整样例
│ ├── module // 前反向绑定通过python实现
│ └── torch_library_impl // 前反向绑定通过c++实现
├── cpp_extension_structured // 结构化适配实现
├── cpp_extension_asc // 算子通过AscendC实现
└── cpp_extension_pybind // 通过pybind绑定对外接口
适配方法
提供了六种适配样例以供用户选择,用户可根据需要选择对应适配方法。
| 适配方法 | 使用场景 | 功能范围 | 更多信息 |
|---|---|---|---|
| cpp_extension_base(基础样例) | 基础功能 | 算子定义、算子适配、ATen IR注册绑定 | 具体操作请参考基础调用适配样例 |
| cpp_extension_full(完整样例-module) | 完整功能 | 算子定义、算子适配、ATen IR注册绑定、meta注册、前反向绑定等 | 前反向绑定通过Python类的forward和backward注册实现具体操作请参考完整调用适配样例 |
cpp_extension_full(完整样例-TORCH_LIBRARY_IMPL) |
完整功能 | 算子定义、算子适配、ATen IR注册绑定、meta注册、前反向绑定等 | 前反向绑定通过TORCH_LIBRARY_IMPL注册实现具体操作请参考完整调用适配样例 |
| cpp_extension_structured(结构化) | 结构化适配 | 算子定义、算子适配、ATen IR注册绑定 | 通过配置yaml自动完成适配,具体操作请参考结构化适配样例 |
| cpp_extension_asc(AscendC) | 自定义算子 | 算子定义、算子适配、ATen IR注册绑定 | 算子使用AscendC编写,具体操作请参考AscendC算子适配样例 |
| cpp_extension_pybind(pybind) | 灵活接口 | 算子定义、算子适配、Pybind绑定 | 具体操作请参考pybind绑定适配样例 |
Note
cpp_extension_structured(结构化实现)使用前提:opapi对应的aclnn与ATen IR语义一致,适配层除申请output tensor外无其他逻辑。