| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[docs]26.1.0产品名称修改 Co-authored-by: chenrayray<chenxinrui11@huawei.com> Co-authored-by: gitcode-bot<noreply@gitcode.com> Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !5622 merge 26.1.0 into 26.1.0 [docs]26.1.0产品名称修改 Created-by: zxchen152 Commit-by: zxchen152;chenrayray;gitcode-bot 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!5622 | 2 个月前 | |
[docs]26.1.0产品名称修改 Co-authored-by: chenrayray<chenxinrui11@huawei.com> Co-authored-by: gitcode-bot<noreply@gitcode.com> Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !5622 merge 26.1.0 into 26.1.0 [docs]26.1.0产品名称修改 Created-by: zxchen152 Commit-by: zxchen152;chenrayray;gitcode-bot 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!5622 | 2 个月前 | |
[docs]26.1.0产品名称修改 Co-authored-by: chenrayray<chenxinrui11@huawei.com> Co-authored-by: gitcode-bot<noreply@gitcode.com> Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !5622 merge 26.1.0 into 26.1.0 [docs]26.1.0产品名称修改 Created-by: zxchen152 Commit-by: zxchen152;chenrayray;gitcode-bot 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!5622 | 2 个月前 | |
[docs]26.1.0产品名称修改 Co-authored-by: chenrayray<chenxinrui11@huawei.com> Co-authored-by: gitcode-bot<noreply@gitcode.com> Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !5622 merge 26.1.0 into 26.1.0 [docs]26.1.0产品名称修改 Created-by: zxchen152 Commit-by: zxchen152;chenrayray;gitcode-bot 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!5622 | 2 个月前 | |
[docs]26.1.0产品名称修改 Co-authored-by: chenrayray<chenxinrui11@huawei.com> Co-authored-by: gitcode-bot<noreply@gitcode.com> Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !5622 merge 26.1.0 into 26.1.0 [docs]26.1.0产品名称修改 Created-by: zxchen152 Commit-by: zxchen152;chenrayray;gitcode-bot 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!5622 | 2 个月前 | |
[docs]26.1.0产品名称修改 Co-authored-by: chenrayray<chenxinrui11@huawei.com> Co-authored-by: gitcode-bot<noreply@gitcode.com> Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !5622 merge 26.1.0 into 26.1.0 [docs]26.1.0产品名称修改 Created-by: zxchen152 Commit-by: zxchen152;chenrayray;gitcode-bot 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!5622 | 2 个月前 | |
[docs]26.1.0产品名称修改 Co-authored-by: chenrayray<chenxinrui11@huawei.com> Co-authored-by: gitcode-bot<noreply@gitcode.com> Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !5622 merge 26.1.0 into 26.1.0 [docs]26.1.0产品名称修改 Created-by: zxchen152 Commit-by: zxchen152;chenrayray;gitcode-bot 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!5622 | 2 个月前 | |
modify document Co-authored-by: l60114168<liuyaxiong6@h-partners.com> # message auto-generated for no-merge-commit merge: !5085 merge master into master modify document Created-by: lyx324521 Commit-by: l60114168 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] 资料更新 # 【修改方案】 AIDD扫描修改 # 【资料变更】 涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5085 | 3 个月前 | |
[docs]26.1.0产品名称修改 Co-authored-by: chenrayray<chenxinrui11@huawei.com> Co-authored-by: gitcode-bot<noreply@gitcode.com> Co-authored-by: zxchen152<1135990991@qq.com> # message auto-generated for no-merge-commit merge: !5622 merge 26.1.0 into 26.1.0 [docs]26.1.0产品名称修改 Created-by: zxchen152 Commit-by: zxchen152;chenrayray;gitcode-bot 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!5622 | 2 个月前 | |
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 个月前 |
适配说明
概述
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外无其他逻辑。