| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Fix sparse mul out NPU registration Co-authored-by: jiangna1111<jiangna12@huawei.com> # message auto-generated for no-merge-commit merge: !4996 merge fix-sparse-mul-out-npu into master Fix sparse mul out NPU registration Created-by: jiangna1111 Commit-by: jiangna1111 Merged-by: ascend-robot Description: <!-- PR 描述模板更新时间:20260203 --> # 【合入来源】 > <font color="red">**如有社区 issue,请关联 issue 链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部 issue 等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 Fix: [运行 test_decomp.py 中 sparse 相关用例时失败](https://gitcode.com/Ascend/pytorch/issues/2043) # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用 1、2、3... 进行罗列\ > 如果是需求或者重构类的 PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX 能力等内容) 修复 sparse 场景下 aten::mul.out 未注册 NPU backend 导致用例失败的问题。 1. 在 op_plugin_functions.yaml 中为 mul.out 增加 sparse 注册配置。 2. 新增 mul_out_sparse 声明和实现。 3. mul_out_sparse 通过 dense fallback 完成计算,再转回 sparse 并写入 out。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在 PR 中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及。 # 【功能验证】 > 说明测试场景,测试方法。如本次测试方式与常规单元测试不同,请详细说明测试步骤\ > 新增/变更内容是否已新增适配 UT 测试用例看护,并补充测试自验证截图 已验证相关用例: text TestDecompPRIVATEUSE1.test_comprehensive_to_sparse_npu_* 本地验证通过:  新增ut通过:  # 【CheckList】 > PR 提交人对以下 CheckList 自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR 标题正确使用类型标签,如:feat、fix、refactor、docs、test 等 - [x] PR 持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4996 | 2 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
[Feature] AdaptiveMaxPool3d index value type adaptation to INT64 on Ascend 950 Co-authored-by: warming<wangming176@huawei.com> # message auto-generated for no-merge-commit merge: !4196 merge master into master [Feature] AdaptiveMaxPool3d index value type adaptation to INT64 on Ascend 950 Created-by: wsunmoon Commit-by: warming Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【修改方案】 > 索引值类型在950上适配INT64 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 构建用例使得实际索引值大小可取大于MAX_INT32的值, 测试算子功能是否正常 测试用例:  适配前:  适配后:  # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4196 | 6 个月前 | |
[fix] aclnnAddv3 dont support bool Co-authored-by: chenshuai<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !4316 merge fix_226 into master [fix] aclnnAddv3 dont support bool 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 aclnnAddv3不支持bool,如果涉及到bool类型则传入aclnnAdd去计算 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 构造的相关测试用例已通过  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4316 | 5 个月前 | |
!1713 fix ops * fix ops | 2 年前 | |
!1713 fix ops * fix ops | 2 年前 | |
feat: add new api (add)rms_norm_dynamic_mx_quant Co-authored-by: liiu-qii<liuqi330@huawei.com> # message auto-generated for no-merge-commit merge: !4429 merge dyn_dev into master feat: add new api (add)rms_norm_dynamic_mx_quant Created-by: liiu-qii Commit-by: liiu-qii Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 新增AddRmsNormDynamicMxQuant和RmsNormDynamicMxQuant算子的torch_npu接口 # 【资料变更】 > 不涉及 # 【接口变更】 > 新增npu_add_rms_norm_dynamic_mx_quant和npu_rms_norm_dynamic_mx_quant接口 # 【功能验证】 > 新增两个接口的test ut用例 npu_add_rms_norm_dynamic_mx_quant:  npu_rms_norm_dynamic_mx_quant:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4429 | 4 个月前 | |
【fix】add_rms_norm_quant Co-authored-by: LG<luguang6@huawei.com> # message auto-generated for no-merge-commit merge: !4321 merge fix_add_rms_norm_quant_bug into master 【fix】add_rms_norm_quant Created-by: Lu_G Commit-by: LG Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> 适配AddRmsNormQuant算子 AR20260109611264 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 修改入参检查,aclnnAddRmsNormQuantV2算子支持传入scales2,zeropoints2参数,支持div_mode进行量化方式的选则 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 本地自验通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4321 | 5 个月前 | |
[feat]add AddRmsNormInplace Co-authored-by: cao-ren-lei<caorenlei@huawei.com> # message auto-generated for no-merge-commit merge: !3558 merge master into master [feat]add AddRmsNormInplace Created-by: caorenlei Commit-by: cao-ren-lei 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**: 增加aclnnInplaceAddRmsNorm接口对应的pta接口 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3558 | 7 个月前 | |
[fix] Enable cube_math_type passthrough for matmul-related ops Co-authored-by: adelaideliu<adelaideliu@163.com> # message auto-generated for no-merge-commit merge: !4618 merge master_cube_math_type into master [fix] Enable cube_math_type passthrough for matmul-related ops Created-by: adelaideliu Commit-by: adelaideliu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 aclnnAddmv, aclnnAddbmm, aclnnBaddbmm, aclnnInplaceAddbmm, aclnnInplaceBaddbmm, aclnnBatchMatMul, aclnnBatchMatMulWeightNz, aclnnFusedMatmul, aclnnGemm, aclnnAddmm, aclnnInplaceAddmm, aclnnAddmmWeightNz, aclnnMatmul, aclnnMatmulWeightNz, aclnnMm, aclnnMv, aclnnTransposeBatchMatMul, aclnnTransposeBatchMatMulWeightNz增加cube_math_type接口 # 【资料变更】 “不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4618 | 4 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
注册_addmm_activation_out接口 Co-authored-by: jjt_3<1926550527@qq.com> # message auto-generated for no-merge-commit merge: !4164 merge addmmactivationout into master 注册_addmm_activation_out接口 Created-by: jjt_3 Commit-by: jjt_3 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!4164 | 5 个月前 | |
mm/bmm/addmm新增可选参数outdtype支持16输入32输出 Co-authored-by: szhexin<shangzhexin@huawei.com> # message auto-generated for no-merge-commit merge: !4621 merge 16cast32 into master mm/bmm/addmm新增可选参数outdtype支持16输入32输出 Created-by: szhexin Commit-by: szhexin 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能力等内容) 对于mm/bmm/addmm算子新增可选的outdtype参数支持16进32出功能 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 为 addmm,mm,bmm 算子新增一个可选的 output_dtype 参数,修改out属性参数 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 python test3.py [W428 10:59:59.898223213 NPUCachingAllocator.cpp:199] Warning: The current CANN and HDK(driver) versions require processing for 32 padding size, with memory allocation. (function operator()) tensor([[ 41.0088, -17.6637, 25.1173, ..., 19.7653, -4.7765, 20.2126], [ 50.0003, 0.3563, -39.6718, ..., 13.7644, 33.4176, -44.0560], [-63.0215, 34.7173, 31.2306, ..., 21.1989, -33.6981, 4.8218], ..., [-38.6704, 11.0927, -7.9519, ..., 44.5631, -40.6803, 51.0583], [ 0.1018, -8.2804, -19.9418, ..., -41.9277, 5.7565, 31.8019], [ 18.3456, -32.4753, 58.5550, ..., -7.7001, 6.5927, 1.3557]]) # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4621 | 3 个月前 | |
[fix] Enable cube_math_type passthrough for matmul-related ops Co-authored-by: adelaideliu<adelaideliu@163.com> # message auto-generated for no-merge-commit merge: !4618 merge master_cube_math_type into master [fix] Enable cube_math_type passthrough for matmul-related ops Created-by: adelaideliu Commit-by: adelaideliu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 aclnnAddmv, aclnnAddbmm, aclnnBaddbmm, aclnnInplaceAddbmm, aclnnInplaceBaddbmm, aclnnBatchMatMul, aclnnBatchMatMulWeightNz, aclnnFusedMatmul, aclnnGemm, aclnnAddmm, aclnnInplaceAddmm, aclnnAddmmWeightNz, aclnnMatmul, aclnnMatmulWeightNz, aclnnMm, aclnnMv, aclnnTransposeBatchMatMul, aclnnTransposeBatchMatMulWeightNz增加cube_math_type接口 # 【资料变更】 “不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4618 | 4 个月前 | |
| 11 个月前 | ||
[fix] Enable cube_math_type passthrough for matmul-related ops Co-authored-by: adelaideliu<adelaideliu@163.com> # message auto-generated for no-merge-commit merge: !4618 merge master_cube_math_type into master [fix] Enable cube_math_type passthrough for matmul-related ops Created-by: adelaideliu Commit-by: adelaideliu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 aclnnAddmv, aclnnAddbmm, aclnnBaddbmm, aclnnInplaceAddbmm, aclnnInplaceBaddbmm, aclnnBatchMatMul, aclnnBatchMatMulWeightNz, aclnnFusedMatmul, aclnnGemm, aclnnAddmm, aclnnInplaceAddmm, aclnnAddmmWeightNz, aclnnMatmul, aclnnMatmulWeightNz, aclnnMm, aclnnMv, aclnnTransposeBatchMatMul, aclnnTransposeBatchMatMulWeightNz增加cube_math_type接口 # 【资料变更】 “不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4618 | 4 个月前 | |
| 1 年前 | ||
修改AllGatherMatmul&MatmulAllReduceScatter&MatmulAllReduce算子的comm_mode默认值为ai_cpu Co-authored-by: Wangshuying5<wangshuying5@huawei.com> # message auto-generated for no-merge-commit merge: !5375 merge aicpu into 26.1.0 修改AllGatherMatmul&MatmulAllReduceScatter&MatmulAllReduce算子的comm_mode默认值为ai_cpu Created-by: WangShuying5 Commit-by: Wangshuying5 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/113 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 将comm_mode的默认值改为ai_cpu # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图    # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5375 | 1 个月前 | |
修改AllGatherMatmul&MatmulAllReduceScatter&MatmulAllReduce算子的comm_mode默认值为ai_cpu Co-authored-by: Wangshuying5<wangshuying5@huawei.com> # message auto-generated for no-merge-commit merge: !5375 merge aicpu into 26.1.0 修改AllGatherMatmul&MatmulAllReduceScatter&MatmulAllReduce算子的comm_mode默认值为ai_cpu Created-by: WangShuying5 Commit-by: Wangshuying5 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/113 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 将comm_mode的默认值改为ai_cpu # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图    # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5375 | 1 个月前 | |
| 1 年前 | ||
alltoallvgmm&gmmalltoallv算子增加commmode参数 Co-authored-by: wuziyu<wuziyu11@huawei.com> # message auto-generated for no-merge-commit merge: !5058 merge noquantaclnn into master alltoallvgmm&gmmalltoallv算子增加commmode参数 Created-by: wuziyu Commit-by: wuziyu 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/119 # 【修改方案】 AlltoAllvGroupedMatmu和GroupedMatmulAlltoAllv算子的PTA接口新增一个数据类型为str的可选入参comm_mode,默认值是None。 接口内部从aclnnV1接口改为调用aclnnV2接口,aclnnV2接口根据comm_mode调用通信引擎。如果传入的是None,则按空字符串调用aclnnV1接口。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 npu_alltoallv_gmm接口与npu_gmm_alltoallv接口增加可选参数comm_mode # 【功能验证】 本地自验证通过   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5058 | 2 个月前 | |
alltoallvquantgmm&quantgmmalltoallv算子增加comm_mode通信引擎参数 Co-authored-by: wuziyu<wuziyu11@huawei.com> # message auto-generated for no-merge-commit merge: !5036 merge quantaclnn into master alltoallvquantgmm&quantgmmalltoallv算子增加comm_mode通信引擎参数 Created-by: wuziyu Commit-by: wuziyu 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/119 # 【修改方案】 QuantGroupedMatmulAlltoAllv和AlltoAllvQuantGroupedMatmul算子的PTA接口新增一个数据类型为str的可选入参comm_mode,默认值是None。 接口内部从aclnnV1接口改为调用aclnnV2接口,aclnnV2接口根据comm_mode调用通信引擎。如果传入的是None,则按空字符串调用aclnnV1接口。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 npu_alltoallv_quant_gmm接口新增可选参数comm_mode,npu_quant_gmm_alltoallv接口新增可选参数comm_mode。 # 【功能验证】 本地通路验证,验证结果通过。   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5036 | 2 个月前 | |
alltoallvgmm&gmmalltoallv算子增加commmode参数 Co-authored-by: wuziyu<wuziyu11@huawei.com> # message auto-generated for no-merge-commit merge: !5058 merge noquantaclnn into master alltoallvgmm&gmmalltoallv算子增加commmode参数 Created-by: wuziyu Commit-by: wuziyu 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/119 # 【修改方案】 AlltoAllvGroupedMatmu和GroupedMatmulAlltoAllv算子的PTA接口新增一个数据类型为str的可选入参comm_mode,默认值是None。 接口内部从aclnnV1接口改为调用aclnnV2接口,aclnnV2接口根据comm_mode调用通信引擎。如果传入的是None,则按空字符串调用aclnnV1接口。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 npu_alltoallv_gmm接口与npu_gmm_alltoallv接口增加可选参数comm_mode # 【功能验证】 本地自验证通过   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5058 | 2 个月前 | |
alltoallvgmm&gmmalltoallv算子增加commmode参数 Co-authored-by: wuziyu<wuziyu11@huawei.com> # message auto-generated for no-merge-commit merge: !5058 merge noquantaclnn into master alltoallvgmm&gmmalltoallv算子增加commmode参数 Created-by: wuziyu Commit-by: wuziyu 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/119 # 【修改方案】 AlltoAllvGroupedMatmu和GroupedMatmulAlltoAllv算子的PTA接口新增一个数据类型为str的可选入参comm_mode,默认值是None。 接口内部从aclnnV1接口改为调用aclnnV2接口,aclnnV2接口根据comm_mode调用通信引擎。如果传入的是None,则按空字符串调用aclnnV1接口。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 npu_alltoallv_gmm接口与npu_gmm_alltoallv接口增加可选参数comm_mode # 【功能验证】 本地自验证通过   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5058 | 2 个月前 | |
API空tensor输入校验 Co-authored-by: l00881990<lixinyu68@huawei.com> # message auto-generated for no-merge-commit merge: !4922 merge op-master-empty-tensor into master API空tensor输入校验 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] 需求 - [ ] 问题单 - [x] issue/工单 : https://gitcode.com/Ascend/op-plugin/issues/75 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 对4个文件API 入参加入空tensor 输入校验 op-plugin/ └── op_plugin/ └── ops/ └── opapi/ ├── MaxKernelNpuOpApi.cpp ├── MinKernelNpuOpApi.cpp ├── AminmaxKernelNpuOpApi.cpp └── CtcLossKernelNpuOpApi.cpp # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】     # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4922 | 3 个月前 | |
!1713 fix ops * fix ops | 2 年前 | |
Delete code for v1.11.0 and v2.0 (5/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge dev into master Delete code for v1.11.0 and v2.0 (5/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3187 | 10 个月前 | |
add AntiMxQuant Co-authored-by: yeeyanghsia<xiayiyang@huawei.com> # message auto-generated for no-merge-commit merge: !4979 merge AntiMxQuant into master add AntiMxQuant Created-by: yeeyanghsia Commit-by: yeeyanghsia Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> [#116](https://gitcode.com/Ascend/op-plugin/issues/116) - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 经评审,新增AntiMxQuant算子接口,同步增加相应的配置和测试文件。 # 【资料变更】 涉及,新增AntiMxQuant算子接口的详细资料。 # 【接口变更】 涉及,新增AntiMxQuant算子接口。 # 【功能验证】 新增UT测试用例,测试自验证结果如下:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4979 | 2 个月前 | |
modified AscendAntiQuantV2 to supported hifp8 and fp8 Co-authored-by: wang-siyang3<wangsiyang3@huawei.com> # message auto-generated for no-merge-commit merge: !4355 merge AscendAntiQuantV2 into master modified AscendAntiQuantV2 to supported hifp8 and fp8 Created-by: clwsy1 Commit-by: wang-siyang3 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1、AscendAntiQuantV2算子新增支持hifp8和fp8类型,打通pta通路 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 1、新增hifp8和fp8类型,已新增类型说明 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 1、修改npu_anti_quant接口的src_dtype和dst_dtype参数类型为int,是兼容性变更 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已自测通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4355 | 4 个月前 | |
| 1 年前 | ||
[fix] remove unnecessary same logs Co-authored-by: chenshuai<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !5211 merge cherry-pick-mr-5193-1781745481070-auto into 26.1.0 [fix] remove unnecessary same logs 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 这部分日志对用户来说没什么意义,没必要直接打屏呈现给用户,可以删除 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及逻辑变更 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5211 | 1 个月前 | |
[fix] remove unnecessary same logs Co-authored-by: chenshuai<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !5211 merge cherry-pick-mr-5193-1781745481070-auto into 26.1.0 [fix] remove unnecessary same logs 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 这部分日志对用户来说没什么意义,没必要直接打屏呈现给用户,可以删除 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及逻辑变更 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5211 | 1 个月前 | |
support tnd format Co-authored-by: ghost<zhengwenbang@huawei.com> # message auto-generated for no-merge-commit merge: !3355 merge master into master support tnd format Created-by: weixin_44564637 Commit-by: ghost 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!3355 | 9 个月前 | |
fix arange and random warning Co-authored-by: chaijinwei<chaijinwei@huawei.com> # message auto-generated for no-merge-commit merge: !4242 merge ops_error_warning_fix into master fix arange and random warning Created-by: chaijinwei Commit-by: chaijinwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/1547 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. torch.arange报错和warning对齐原生torch 2. tensor.random_报错和warning对齐原生torch # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 完善测试用例场景,都测试通过  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4242 | 5 个月前 | |
!1713 fix ops * fix ops | 2 年前 | |
fix: when dim=none keepdim=true, PTA and native interface outputs are inconsistent. Co-authored-by: culechan<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !3453 merge argmax into master fix: when dim=none keepdim=true, PTA and native interface outputs are inconsistent. Created-by: culechan Commit-by: culechan Merged-by: ascend-robot Description: torch.argmax接口在dim未指定且keepdim=true的时候,npu与原生框架表现不一致。原生框架输出为张量,npu为标量 See merge request: Ascend/op-plugin!3453 | 8 个月前 | |
| 1 年前 | ||
torch_npu api support 0-d cpu tensor input Co-authored-by: XianglongZeng<zengxianglong1@huawei.com> # message auto-generated for no-merge-commit merge: !4958 merge myop into master torch_npu api support 0-d cpu tensor input 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] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 - 对 22 个 API 进行适配,使其在输入包含 0-d CPU Tensor 时与 GPU 行为一致 - 采用两层适配策略:代码生成模板适配(自动生成 API)+ 接入层手写适配(手写 API) - 有标量专用 aclnn 算子时优先调用标量算子(零拷贝),无标量专用算子时使用 copy_scalar_to_device 详细设计和修改方案见RFC文档:https://gitcode.com/Ascend/pytorch/issues/1919 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4958 | 2 个月前 | |
attention update support fp16 bf16 Co-authored-by: qiumingli<liqiuming4@huawei.com> # message auto-generated for no-merge-commit merge: !3636 merge master into master attention update support fp16 bf16 Created-by: qiumingli Commit-by: qiumingli 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!3636 | 7 个月前 | |
Add AttentionWorkerCombine PTA Co-authored-by: weixin_36491311<lingwanxin@huawei.com> # message auto-generated for no-merge-commit merge: merge master into master Add AttentionWorkerCombine PTA Created-by: weixin_36491311 Commit-by: weixin_36491311 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!3176 | 10 个月前 | |
适配支持两类算子:ffn_worker_scheduler_/ffn_worker_scheduler、 attention_worker_scheduler_/attention_worker_scheduler Co-authored-by: panweicheng<panweicheng@huawei.com> # message auto-generated for no-merge-commit merge: !3397 merge master into master 适配支持两类算子:ffn_worker_scheduler_/ffn_worker_scheduler、 attention_worker_scheduler_/attention_worker_scheduler Created-by: pwc10490 Commit-by: panweicheng Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > /kind feature **What does this PR do / why do we need it**: 适配支持两类算子: torch_npu.attention_worker_scheduler torch_npu.attention_worker_scheduler_(inplace算子) torch_npu.ffn_worker_scheduler torch_npu.ffn_worker_scheduler_(inplace算子) **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3397 | 9 个月前 | |
[fix] Enable cube_math_type passthrough for matmul-related ops Co-authored-by: adelaideliu<adelaideliu@163.com> # message auto-generated for no-merge-commit merge: !4618 merge master_cube_math_type into master [fix] Enable cube_math_type passthrough for matmul-related ops Created-by: adelaideliu Commit-by: adelaideliu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 aclnnAddmv, aclnnAddbmm, aclnnBaddbmm, aclnnInplaceAddbmm, aclnnInplaceBaddbmm, aclnnBatchMatMul, aclnnBatchMatMulWeightNz, aclnnFusedMatmul, aclnnGemm, aclnnAddmm, aclnnInplaceAddmm, aclnnAddmmWeightNz, aclnnMatmul, aclnnMatmulWeightNz, aclnnMm, aclnnMv, aclnnTransposeBatchMatMul, aclnnTransposeBatchMatMulWeightNz增加cube_math_type接口 # 【资料变更】 “不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4618 | 4 个月前 | |
[fix] 4个无反向实现的算子调用反向计算,添加抛异常处理 Co-authored-by: l00881990<lixinyu68@huawei.com> # message auto-generated for no-merge-commit merge: !5464 merge cherry-pick-mr-5447-1783947752155-auto into 26.1.0 [fix] 4个无反向实现的算子调用反向计算,添加抛异常处理 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、新增拦截 2、新增脚本看护 # 【资料变更】 不涉及” # 【接口变更】 “不涉及” # 【功能验证】 调用反向拦截,已有门禁脚本看护。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5464 | 1 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
pool_check Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !4348 merge master into master pool_check 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 修改avg_pool3d的报错,使其报错与社区用例要求一致 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 本地验证通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4348 | 5 个月前 | |
[fix] Enable cube_math_type passthrough for matmul-related ops Co-authored-by: adelaideliu<adelaideliu@163.com> # message auto-generated for no-merge-commit merge: !4618 merge master_cube_math_type into master [fix] Enable cube_math_type passthrough for matmul-related ops Created-by: adelaideliu Commit-by: adelaideliu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 aclnnAddmv, aclnnAddbmm, aclnnBaddbmm, aclnnInplaceAddbmm, aclnnInplaceBaddbmm, aclnnBatchMatMul, aclnnBatchMatMulWeightNz, aclnnFusedMatmul, aclnnGemm, aclnnAddmm, aclnnInplaceAddmm, aclnnAddmmWeightNz, aclnnMatmul, aclnnMatmulWeightNz, aclnnMm, aclnnMv, aclnnTransposeBatchMatMul, aclnnTransposeBatchMatMulWeightNz增加cube_math_type接口 # 【资料变更】 “不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4618 | 4 个月前 | |
| 1 年前 | ||
!1713 fix ops * fix ops | 2 年前 | |
!1713 fix ops * fix ops | 2 年前 | |
fix: fix logic errors, bounds issues, and undefined behavior from security audit Co-authored-by: xiu_21<caixiuxiu1@huawei.com> # message auto-generated for no-merge-commit merge: !4987 merge security_code into master fix: fix logic errors, bounds issues, and undefined behavior from security audit Created-by: xiu_21 Commit-by: xiu_21 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修改代码中存在的逻辑错误、边界问题和未定义行为。 ### 1. 逻辑运算符错误(2处, || → &&) | 文件 | 问题 | 修改 | |------|------|------| | [FusedAttentionLnQKV.cpp:28](op_plugin/ops/aclops/FusedAttentionLnQKV.cpp#L28) | seq_len != 0 \|\| num_heads != 0 导致单参数为零时校验被绕过 | 改为 seq_len != 0 && num_heads != 0 | | [FftRfftKernelNpuOpApi.cpp:49](op_plugin/ops/opapi/FftRfftKernelNpuOpApi.cpp#L49) | (dim < self.dim() \|\| dim >= 0) 导致越界 dim 仍通过校验 | 改为 (dim >= 0 && dim < self.dim()) | ### 2. 越界/空值校验(7处,添加前置检查) | 文件 | 问题 | 修改 | |------|------|------| | [CtcLossKernelNpu.cpp:43](op_plugin/ops/aclops/CtcLossKernelNpu.cpp#L43) | shape[2] 在 log_probs 为 2D tensor 时越界 | 根据 dim() 选择 shape[2] 或 shape[1] | | [AdaptiveMaxPool2dKernelNpu.cpp:53-56](op_plugin/ops/aclops/AdaptiveMaxPool2dKernelNpu.cpp#L53-L56) | self.size(3) 在 self 为 3D tensor 时越界 | 根据 dim() 区分 3D/4D 索引映射 | | [UpsampleBilinear2dKernelNpu.cpp:35](op_plugin/ops/aclops/UpsampleBilinear2dKernelNpu.cpp#L35) | output_size[1] 前仅校验 size() >= 1 | 改为校验 size() >= 2 | | [ConfusionTransposeKernelNpu.cpp:87](op_plugin/ops/aclops/ConfusionTransposeKernelNpu.cpp#L87) | temp_perm[perm[i]] 索引值未校验范围 | 添加 TORCH_CHECK(perm[i] >= 0 && perm[i] < perm_len) | | [MmKernelNpu.cpp:170](op_plugin/ops/aclops/MmKernelNpu.cpp#L170) | self.size(self.dim()-2) 在维度不足时越界 | 添加 TORCH_CHECK(self.dim() >= 2 && mat2.dim() >= 2) | | [FFTc2rKernelNpuOpApi.cpp:29](op_plugin/ops/opapi/FFTc2rKernelNpuOpApi.cpp#L29) | dim.back() 未校验数组是否为空 | 添加 TORCH_CHECK(!dim.empty()) | | [model.py:67-70](torchnpugen/struct/model.py#L67-L70) | info.pop() 时 info 可能为 None | 添加 if info is None: raise RuntimeError 提前拦截 | | [struct_codegen.py:35](torchnpugen/struct/struct_codegen.py#L35) | os.environ.get('PYTORCH_VERSION') 未设置时返回 None,.split() 崩溃 | 拆分调用:先判空、再 split、再校验长度 >= 2 | ### 3. 悬垂引用/指针(2处,延长生命周期) | 文件 | 问题 | 修改 | |------|------|------| | [AvgPool2dBackwardKernelNpu.cpp:82-97](op_plugin/ops/aclops/AvgPool2dBackwardKernelNpu.cpp#L82-L97) | SmallVector 在 if 块内销毁,IntArrayRef 成为悬垂引用 | 将 SmallVector 声明提到 if 块外部 | | [CropAndResizeKernelNpu.cpp:34](op_plugin/ops/aclops/CropAndResizeKernelNpu.cpp#L34) | std::string(method).data() 临时 string 销毁后指针悬垂 | 声明命名 std::string method_str 变量 | ### 4. 函数无返回值(1处) | 文件 | 问题 | 修改 | |------|------|------| | [AtbCommon.h:87](op_plugin/utils/custom_functions/atb/AtbCommon.h#L87) | GetApiFuncAddr 双 handler 均 null 时函数无 return,未定义行为 | 末尾添加 return nullptr | ### 5. 类型收窄/溢出/API返回值检查(5处) | 文件 | 问题 | 修改 | |------|------|------| | [CdistKernelNpu.cpp:71-72](op_plugin/ops/aclops/CdistKernelNpu.cpp#L71-L72) | int 类型存储 int64_t 累乘结果,可能截断 | 改为 int64_t,初始化值改为 int64_t(1) | | [LinalgQrKernelNpu.cpp:29-31](op_plugin/ops/aclops/LinalgQrKernelNpu.cpp#L29-L31) | int m, n 将 int64_t 的 tensor 维度截断为 32 位 | 改为 int64_t | | [AdaptiveAvgPool3dBackwardKernelNpu.cpp:33-34](op_plugin/ops/aclops/AdaptiveAvgPool3dBackwardKernelNpu.cpp#L33-L34) | 多维度 size 累乘可能溢出 int64_t | 乘法前加 TORCH_CHECK(size <= INT64_MAX / next_dim) | | [AsdSipNpuOpApi.h:248-265](op_plugin/utils/custom_functions/opapi/AsdSipNpuOpApi.h#L248-L265) | FFT API(Create/MakePlan/Sync/Destroy)返回值全部忽略 | 每个调用加 TORCH_CHECK(ret == 0) | | [BatchNormElemtKernelNpuOpApi.cpp:42-43](op_plugin/ops/opapi/BatchNormElemtKernelNpuOpApi.cpp#L42-L43) | optional weight/bias 直接传给 NPU 命令 | 先用 c10::value_or_else 解包为默认空 tensor 再传入 | # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4987 | 2 个月前 | |
batch_norm_gather_stats_update performance Co-authored-by: lzy0920232<liziyin1@huawei.com> # message auto-generated for no-merge-commit merge: !4477 merge code_bugfix_bgsu into master batch_norm_gather_stats_update performance Created-by: lzy0920232 Commit-by: lzy0920232 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 DTS2026021012099 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 添加cast转换和copy写回的条件判断,减少cast/copy NPU 算子调用降低NPU kernel launch 开销和 device 端的数据搬运 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 优化后aclnn实现性能优于aclop实现  ATK精度验证通过  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4477 | 4 个月前 | |
| 11 个月前 | ||
[fix] add DO_COMPATIBILITY for torch_npu.batch_norm_reduce Co-authored-by: wanglijun55<wanglijun54@huawei.com> # message auto-generated for no-merge-commit merge: !4368 merge branch-wlj into master [fix] add DO_COMPATIBILITY for torch_npu.batch_norm_reduce Created-by: wanglijun55 Commit-by: wanglijun55 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 DTS2026030424507 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > opapi增加DO_COMPATIBILITY来解决兼容性问题 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > Meta Test:验证通过 python -m unittest pytorch.third_party.op-plugin.test.core_tests.test_fake_tensor.TestBatchNormReduce  > UT:验证通过 python -m unittest pytorch.third_party.op-plugin.test.test_base_ops.test_batch_norm_reduce > ATK:验证通过 atk case -f aclnn_batch_norm_reduce.yaml -p generator_aclnn_batch_norm_reduce.py atk node --backend npu --devices 0 node --backend cpu task -c result/aclnn_batch_norm_reduce/json/all_aclnn_batch_norm_reduce.json --task accuracy -e 1  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4368 | 5 个月前 | |
torch_npu api support 0-d cpu tensor input Co-authored-by: XianglongZeng<zengxianglong1@huawei.com> # message auto-generated for no-merge-commit merge: !4958 merge myop into master torch_npu api support 0-d cpu tensor input 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] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 - 对 22 个 API 进行适配,使其在输入包含 0-d CPU Tensor 时与 GPU 行为一致 - 采用两层适配策略:代码生成模板适配(自动生成 API)+ 接入层手写适配(手写 API) - 有标量专用 aclnn 算子时优先调用标量算子(零拷贝),无标量专用算子时使用 copy_scalar_to_device 详细设计和修改方案见RFC文档:https://gitcode.com/Ascend/pytorch/issues/1919 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4958 | 2 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
!1713 fix ops * fix ops | 2 年前 | |
!1713 fix ops * fix ops | 2 年前 | |
Support block sparse attention grad TND GQA Co-authored-by: wang_ziqi<wangziqi4@huawei.com> # message auto-generated for no-merge-commit merge: !4945 merge bsa_grad_support_tnd_gqa into master Support block sparse attention grad TND GQA Created-by: wang-ziqi-code Commit-by: wang_ziqi Merged-by: ascend-robot Description: # 【合入来源】 - [x] 需求 https://gitcode.com/Ascend/op-plugin/issues/102 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [x] 资料更新 # 【修改方案】 1. 适配 npu_block_sparse_attention_backward TND 场景: - 在 BlockSparseAttentionBackwardKernelNpuOpApi.cpp 中补充 TND 格式必要参数校验。 - 当 q_input_layout == "TND" 时,校验 actual_seq_lengths 必传且非空。 - 当 kv_input_layout == "TND" 时,校验 actual_seq_lengths_kv 必传且非空。 - 不新增 layout 白名单、layout 组合校验、GQA 头数校验,相关能力边界继续由底层 CANN aclnn 接口判定。 2. 适配并验证 TND/GQA 反向计算: - 新增 TND + GQA CPU golden,包括 block sparse mask、TND offsets、GQA head 映射和 KV 梯度聚合逻辑。 - 新增显式 backward 用例,覆盖 full mask、sparse mask、单 batch、变长、group size 变化、MQA、非默认 block shape 尾块等场景。 - 新增 autograd 端到端用例,覆盖 npu_block_sparse_attention(...).backward() 路径,并与 CPU golden 对比。 - 新增 TND 缺失 actual_seq_lengths / actual_seq_lengths_kv 的本地校验负例。 3. 更新文档及文档生成模板: - 更新 npu_block_sparse_attention 文档中的反向能力描述。 - 明确反向路径支持 BNSD/TND 同 layout 场景,并支持 MHA/GQA。 - 明确 headDim、GQA head 数关系、actual_seq_lengths 与 actual_seq_lengths_kv 配置约束。 - 同步更新 _op_plugin_docs.py,避免后续文档生成覆盖手工修改。 # 【资料变更】 涉及资料变更。 修改文件: - docs/zh/custom_APIs/torch_npu/torch_npu-npu_block_sparse_attention.md - codegen/templates/_op_plugin_docs.py 主要内容: - 修正反向能力过期描述。 - 补充 BNSD/TND、MHA/GQA、headDim、actual_seq_lengths / actual_seq_lengths_kv 的约束说明。 # 【接口变更】 不涉及 public API schema 变更。 说明: - 未修改 op_plugin_functions.yaml。 - 未新增 npu_block_sparse_attention_backward 对外公开文档。 - 未变更 Python API 入参、出参和调用方式。 - 本次仅补充 TND 必要参数本地校验,其他 layout/GQA 支持范围仍由底层 CANN aclnn 接口判定。 # 【功能验证】 新增/适配 UT: - test_npu_block_sparse_attention_backward_tnd_gqa_full_mask_cpu_compare - test_npu_block_sparse_attention_backward_tnd_gqa_sparse_mask_cpu_compare - test_npu_block_sparse_attention_backward_tnd_gqa_single_batch_cpu_compare - test_npu_block_sparse_attention_backward_tnd_gqa_uneven_seq_lengths_cpu_compare - test_npu_block_sparse_attention_backward_tnd_gqa_group_size_4_cpu_compare - test_npu_block_sparse_attention_backward_tnd_mqa_cpu_compare - test_npu_block_sparse_attention_backward_tnd_gqa_non_128_tail_block_cpu_compare - test_npu_block_sparse_attention_backward_tnd_actual_seq_lengths_required - test_npu_block_sparse_attention_backward_tnd_gqa_autograd_cpu_compare    验证方式: - 执行 python test/test_custom_ops/test_npu_block_sparse_attention_backward.py。 - 显式 backward 用例对比 dq/dk/dv 与 CPU golden。 - autograd 端到端用例对比 query.grad/key.grad/value.grad 与 CPU golden。 - TND 缺失 seq 参数用例验证本地 TORCH_CHECK 报错。 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4945 | 2 个月前 | |
[bugfix][master]同步BSA算子适配aclnn参数校验 Co-authored-by: Sunshine_Youngster<saiyao@huawei.com> # message auto-generated for no-merge-commit merge: !4795 merge fix_bsa_docs_60422_master into master [bugfix][master]同步BSA算子适配aclnn参数校验 Created-by: Sunshine_Youngster Commit-by: Sunshine_Youngster 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能力等内容) BSA算子aclnn收紧校验,修改传参确保为nullptr # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 正向用例:test/test_custom_ops/test_npu_block_sparse_attention.py  反向用例:test/test_custom_ops/test_npu_block_sparse_attention_backward.py  文档用例测试:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4795 | 3 个月前 | |
remove extra transpose in bmm by restore the stride(0) of input whose batch size is 1 Co-authored-by: XianglongZeng<zengxianglong1@huawei.com> # message auto-generated for no-merge-commit merge: !5288 merge 26.1.0_mm into 26.1.0 remove extra transpose in bmm by restore the stride(0) of input whose batch size is 1 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 对于>=3D@>=3D、2D@>=3D 、>=3D@2D 且3D 输入前n-1维不连续(比如由转置得到)时,走进 bmm。进一步地,bmm内对输入固定会有对前n-2维的reshape操作,若reshape后 batch维为1 (2D 输入恒为 batch=1,≥3D 输入要求前 n-2 维全为 1)且reshape的tensor是由转置得到,则由于size(0)==1 时 stride(0) 任意值都"合法",torch 会取巧设为 stride(1)\*size(1) ,此时该tensor会变成对cann来说非标准的转置tensor,所以引入了额外的transpose。比如对与a[16, 12].T @ b [1,14384,16].T ,转置后的b会被reshape 成 [1,16,14384] 。虽然 shape 没变,但 reshape 仍会重新计算 stride——对 size(0)==1 的维度,把 stride(0) 规范化为 stride(1)\*size(1)=1*16=16 ,而不是保留原始的 229344,最后stride变成[16,1,16]。 对于这种情况,在bmm适配层对 size(0)==1 且矩阵维转置布局( stride(1)==1 && stride(2)==size(1) )且 stride(0) != size(1)\*size(2) 的张量,用 as_strided 把 stride(0) 规范化为 size(1)\*size(2) ,还原为cann所接受的标准转置tensor,从而消除transpose。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 单算子验证脚本: import torch import numpy as np from torch.profiler import profile, ProfilerActivity torch.npu.set_device('npu:1') a_ori = torch.tensor(np.random.rand(16, 12).astype(np.float16)).npu() a = torch.permute(a_ori, (1, 0)) b_ori = torch.tensor(np.random.rand(1, 14384, 16).astype(np.float16)).npu() b = torch.permute(b_ori, (0, 2, 1)) c = torch.matmul(a, b) 修改前:  修改后:  新增ut用例的执行结果:   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5288 | 1 个月前 | |
[feat]Bucketize新增Aicore通路支持 Co-authored-by: 何金鹏<hejinpeng5@huawei.com> # message auto-generated for no-merge-commit merge: !4711 merge master into master [feat]Bucketize新增Aicore通路支持 Created-by: jinpenghe Commit-by: 何金鹏 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 芯片版本大于等于950, 输入x和boundaries不为double情况下走aclnnBucketize # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 - 测试用例: values = torch.tensor( [ [-5, 10000, 1], [150, 10, 2], [5, 100, 3] ], dtype=torch.float32, device=device) bins = torch.tensor([0.0, 10.0, 100.0], dtype=torch.float32, device=device) - 结果: function operator()) 输入值 : tensor([[-5.0000e+00, 1.0000e+04, 1.0000e+00], [ 1.5000e+02, 1.0000e+01, 2.0000e+00], [ 5.0000e+00, 1.0000e+02, 3.0000e+00]], device='npu:0') 分桶边界 : tensor([ 0., 10., 100.], device='npu:0') bucketize 结果 : tensor([[0, 3, 1], [3, 1, 1], [1, 2, 1]], device='npu:0') - 通路结果:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4711 | 3 个月前 | |
| 8 个月前 | ||
Fix memory exceptions in BEVFusion Co-authored-by: zzhongmin<zhongmin23@huawei.com> # message auto-generated for no-merge-commit merge: !5379 merge 26.1.0_fixcat into 26.1.0 Fix memory exceptions in BEVFusion Created-by: zzhongmin Commit-by: zzhongmin 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/2597 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 回退https://gitcode.com/Ascend/op-plugin/pull/5048对cat的改动 1. 恢复 cat 非出参版本的内核实现 - op_plugin/ops/aclops/CatKernelNpu.cpp:恢复 acl_op::cat(const at::ITensorListRef&, int64_t); - op_plugin/ops/opapi/CatKernelNpuOpApi.cpp:恢复 op_api::cat(const at::ITensorListRef&, int64_t)。 2. 恢复 cat 的接口声明生成 修改 torchnpugen/gen.py 的 should_generate_op_interface,对 base name 为 cat 的算子放行(返回 True),使其照常生成 OpInterface/OpApiInterface/AclOpsInterface 声明,与 gen_backend_stubs.py (torch_npu)中对 cat 的特判保持一致: # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 BEVFusion网络显存正常 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5379 | 1 个月前 | |
Support broadcast scenarios in the cdist backward operator. Co-authored-by: HandsoemLemon<zhangafei@huawei.com> # message auto-generated for no-merge-commit merge: !5279 merge 26.1.0 into 26.1.0 Support broadcast scenarios in the cdist backward operator. Created-by: HandsoemLemon Commit-by: HandsoemLemon Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/op-plugin/issues/206 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修改原因: 在调用cdistbackward算子时,aclnncdistbackward算子需要接收的out的shape为x1与x2(除最后两维)的broadcast结果,否则会产生报错 PyTorch 语义是右对齐广播,不是左对齐 torch.cdist 的 batch 维广播必须和 at::infer_size 一致。 原生torch 的 Distance.cpp、NPU 的 cdist_npu_output_size、前向 CdistKernelNpu.cpp 都是右对齐广播。 所以 _cdist_backward 里如果手工按“前面维度一一对应”去比,维度不同的时候会出错。 aclnnCdistBackward 是低层 kernel,不负责理解原始 Python 入参的广播语义 它要求传入的 x1/x2/grad/cdist 已经对齐到 kernel 需要的 shape。 因此 x2 也必须 expand 到和 x1 一致的 broadcast batch 空间,否则 kernel 的 pairwise 计算没有正确坐标。 在计算完毕后的aten.sum.dim_IntList 是 autograd 生成的,来源不是 cdist kernel,而是 autograd 对 broadcast backward 的标准处理。所以如果算子里不在 reduce_sum,如果重复归约,可能导致结果不对。 【具体修改方案】 保留 p 的转换和兼容分支 double p -> float p_cast inf 映射成 -1 保留低版本 SoC / 兼容路径 按 PyTorch 标准广播规则计算 batch shape 取 x1.shape[:-2] 和 x2.shape[:-2] 用 at::infer_size(batch_tensor1, batch_tensor2) 得到广播后的 batch 维 同时 expand x1 和 x2,由于boradcast可能在非连续场景下导致精度问题,所以 x1 expand 到 broadcast_batch + [r1, c1] x2 expand 到 broadcast_batch + [r2, c2] 两者都 contiguous() 后再传给 NPU kernel out 按 expanded x1 的 shape 分配 _cdist_backward 的返回值语义是“第一个输入的梯度” 所以返回 shape 应该是 x1 broadcast 后的 shape,而不是原始 x1 shape # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5279 | 1 个月前 | |
Remove Ascend950 version restriction for ACLNN support in _chunk_cat function Co-authored-by: nomiz<1606135114@qq.com> # message auto-generated for no-merge-commit merge: !5357 merge 26.1.0 into 26.1.0 Remove Ascend950 version restriction for ACLNN support in _chunk_cat function Created-by: nomiz Commit-by: nomiz 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/182 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) A5已支持aclnnchunkcat算子,该pr移除了 _chunk_cat 函数中 aclnn 支持的 Ascend950 版本限制条件 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  ut验证结果  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5357 | 1 个月前 | |
chunk_gated_delta_rule Co-authored-by: Nam_John<jiangnan59@huawei.com> # message auto-generated for no-merge-commit merge: !4796 merge master into master chunk_gated_delta_rule Created-by: Nam_John Commit-by: Nam_John Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 Chunked Gated Delta Rule(CGDR)是GDR的chunk版实现,它通过将输入序列切块,实现了一定的并行效果,在长上下文场景其计算效率相对Recurrent Gated Delta Rule更高,适用于prefill阶段。 # 【资料变更】 不涉及 # 【接口变更】 新增npu_chunk_gated_delta_rule算子的接口 # 【功能验证】 单算子验证,调用通过  调用开发者测试脚本,验证通过  ATK测试已通过  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4796 | 3 个月前 | |
add ciou ops Co-authored-by: zhangyinxia<zhangyinxia@huawei.com> # message auto-generated for no-merge-commit merge: !4909 merge npu_ciou into master add ciou ops Created-by: zhangyinxia Commit-by: zhangyinxia 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能力等内容) 新增ciou算子A5平台支持,对接aclnn算子,A2,A3保持不变 设计文档详见:https://gitcode.com/Ascend/op-plugin/issues/83 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 新增算子支持A5平台 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ut验证:  新增A5平台用例执行通过。 atk验证:  atk用例执行通过。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4909 | 2 个月前 | |
| 1 年前 | ||
rename 910_95 Co-authored-by: MrMC-<shiqunze@h-partners.com> # message auto-generated for no-merge-commit merge: !4108 merge master-re950 into master rename 910_95 Created-by: MrMC- Commit-by: MrMC- 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!4108 | 6 个月前 | |
[fix] pta constant_pad adapt fp8/4 Co-authored-by: culechan<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !5126 merge cherry-pick-mr-5115-1780880932212-auto into 26.1.0 [fix] pta constant_pad adapt fp8/4 Created-by: culechan Commit-by: culechan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 当前FP4输入是拼接成uint8来输入的,因此在计算pad后的shape时需要做适配,主要是self的最后一维要先乘以2再和pad做拼接。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 增加的UT在A5上验证均已PASS  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5126 | 2 个月前 | |
| 1 年前 | ||
rename 910_95 Co-authored-by: MrMC-<shiqunze@h-partners.com> # message auto-generated for no-merge-commit merge: !4108 merge master-re950 into master rename 910_95 Created-by: MrMC- Commit-by: MrMC- 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!4108 | 6 个月前 | |
fix conv empty channel bug Co-authored-by: zzhongmin<zhongmin23@huawei.com> # message auto-generated for no-merge-commit merge: !4408 merge fix_conv_empty_channel into master fix conv empty channel bug Created-by: zzhongmin Commit-by: zzhongmin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 ---根因 conv empty channel 场景在 NPU opapi 路径下未对齐 CUDA ConvBackend::Empty 语义 当输入 input.size(1) == 0 时,前向反向仍可能下发 aclnnConvolution/aclnnConvolutionBackward,触发 zero tensor input + non-zero tensor output 错误 ---修改方案 1 前向 empty-channel 早返回 对齐 CUDA Empty backend 在 _convolution convolution_overrideable slow_conv3d_forward 增加 input.size(1) == 0 分支,直接构造 zero-channel 输出并返回,不再下发卷积算子 2 反向 empty-channel zero-grad 早返回 在 convolution_backward convolution_backward_overrideable 含版本分支 增加 empty-channel 分支,按 output_mask 返回 zero grads bias_sizes 在 empty 分支中由 weight transposed groups 推导,避免错误依赖 grad_output.size(1) 3 去除新增逻辑中的 magic numbers,使用具名常量 如 kGradBiasIndex,避免门禁报错 4 测试补充 新增用例覆盖 Conv1d Conv2d Conv3d 的 fp32 empty_channel,校验CPU/NPU 输出 shape 一致且 channel 维为 0 backward 的 input weight bias 梯度与 CPU 对齐且为 0 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 test_convolution.py -v -k test_conv_empty_channel_npu_float32通过 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4408 | 4 个月前 | |
fix conv empty channel bug Co-authored-by: zzhongmin<zhongmin23@huawei.com> # message auto-generated for no-merge-commit merge: !4408 merge fix_conv_empty_channel into master fix conv empty channel bug Created-by: zzhongmin Commit-by: zzhongmin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 ---根因 conv empty channel 场景在 NPU opapi 路径下未对齐 CUDA ConvBackend::Empty 语义 当输入 input.size(1) == 0 时,前向反向仍可能下发 aclnnConvolution/aclnnConvolutionBackward,触发 zero tensor input + non-zero tensor output 错误 ---修改方案 1 前向 empty-channel 早返回 对齐 CUDA Empty backend 在 _convolution convolution_overrideable slow_conv3d_forward 增加 input.size(1) == 0 分支,直接构造 zero-channel 输出并返回,不再下发卷积算子 2 反向 empty-channel zero-grad 早返回 在 convolution_backward convolution_backward_overrideable 含版本分支 增加 empty-channel 分支,按 output_mask 返回 zero grads bias_sizes 在 empty 分支中由 weight transposed groups 推导,避免错误依赖 grad_output.size(1) 3 去除新增逻辑中的 magic numbers,使用具名常量 如 kGradBiasIndex,避免门禁报错 4 测试补充 新增用例覆盖 Conv1d Conv2d Conv3d 的 fp32 empty_channel,校验CPU/NPU 输出 shape 一致且 channel 维为 0 backward 的 input weight bias 梯度与 CPU 对齐且为 0 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 test_convolution.py -v -k test_conv_empty_channel_npu_float32通过 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4408 | 4 个月前 | |
| 1 年前 | ||
API空tensor输入校验 Co-authored-by: l00881990<lixinyu68@huawei.com> # message auto-generated for no-merge-commit merge: !4922 merge op-master-empty-tensor into master API空tensor输入校验 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] 需求 - [ ] 问题单 - [x] issue/工单 : https://gitcode.com/Ascend/op-plugin/issues/75 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 对4个文件API 入参加入空tensor 输入校验 op-plugin/ └── op_plugin/ └── ops/ └── opapi/ ├── MaxKernelNpuOpApi.cpp ├── MinKernelNpuOpApi.cpp ├── AminmaxKernelNpuOpApi.cpp └── CtcLossKernelNpuOpApi.cpp # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】     # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4922 | 3 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
!1713 fix ops * fix ops | 2 年前 | |
!1713 fix ops * fix ops | 2 年前 | |
【fix】:补充修改warning不合理场景以及条件分支冗余 Co-authored-by: xxxzzzh<xiongzhihao4@huawei.com> # message auto-generated for no-merge-commit merge: !4828 merge zhengxiang into master 【fix】:补充修改warning不合理场景以及条件分支冗余 Created-by: xxxzzzh Commit-by: xxxzzzh 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能力等内容) 删除正向算子的warning告警,以及正反向else分支冗余。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 原pr已验证,本次pr仅修改日志以及修正编码更清晰易懂 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4828 | 3 个月前 | |
【fix】:补充修改warning不合理场景以及条件分支冗余 Co-authored-by: xxxzzzh<xiongzhihao4@huawei.com> # message auto-generated for no-merge-commit merge: !4828 merge zhengxiang into master 【fix】:补充修改warning不合理场景以及条件分支冗余 Created-by: xxxzzzh Commit-by: xxxzzzh 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能力等内容) 删除正向算子的warning告警,以及正反向else分支冗余。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 原pr已验证,本次pr仅修改日志以及修正编码更清晰易懂 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4828 | 3 个月前 | |
[Feature][Master]add npu_dense_lightning_indexer_grad_kl_loss Co-authored-by: htchu<chuhaotian2@huawei.com> # message auto-generated for no-merge-commit merge: !4068 merge master into master [Feature][Master]add npu_dense_lightning_indexer_grad_kl_loss Created-by: htchu Commit-by: htchu Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** /kind feature **What does this PR do / why do we need it**: add support for npu_dense_lightning_indexer_grad_kl_loss and associated test cases  **Special notes for your reviewers**: See merge request: Ascend/op-plugin!4068 | 6 个月前 | |
[Feature][Master] Support npu_dense_lightning_indexer_softmax_lse API Co-authored-by: chengpeng25<chengpeng9@huawei.com> # message auto-generated for no-merge-commit merge: !4059 merge dev_das_master into master [Feature][Master] Support npu_dense_lightning_indexer_softmax_lse API Created-by: chengpeng25 Commit-by: chengpeng25 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 feature **What does this PR do / why do we need it**: Support DSA(dense) API: dense_indexer_lightning_softmax_lse. test pass:  **Special notes for your reviewers**: See merge request: Ascend/op-plugin!4059 | 6 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
rename 910_95 Co-authored-by: MrMC-<shiqunze@h-partners.com> # message auto-generated for no-merge-commit merge: !4108 merge master-re950 into master rename 910_95 Created-by: MrMC- Commit-by: MrMC- 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!4108 | 6 个月前 | |
barrier Co-authored-by: davon<liuwenda4@huawei.com> # message auto-generated for no-merge-commit merge: !3372 merge master into master barrier Created-by: Davon14272 Commit-by: davon 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 feature **What does this PR do / why do we need it**: _npu_distribute_barrier adds two optional inputs: time_out and elastic_info **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3372 | 9 个月前 | |
fix cast logic in div Co-authored-by: Zichun Ye<zichun.ye@huawei.com> # message auto-generated for no-merge-commit merge: merge div_cast_fix into master fix cast logic in div Created-by: zichun_ye Commit-by: Zichun Ye Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: Change the original logic in div to fit that of div_out and original torch. **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3300 | 10 个月前 | |
A5 op-plugin DropoutGenMask merge Co-authored-by: yuguangfei<yuguangfei1@h-partners.com> # message auto-generated for no-merge-commit merge: !3502 merge 1117_dropoutGenMask_merge into master A5 op-plugin DropoutGenMask merge Created-by: yuguangfei Commit-by: yuguangfei 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!3502 | 8 个月前 | |
| 2 年前 | ||
[fix] the attr of aclnnDualLevelQuantMatmulWeightNz is invalid value in aarch64 Co-authored-by: shirui17@huawei.com<shirui17@huawei.com> # message auto-generated for no-merge-commit merge: !4420 merge master into master [fix] the attr of aclnnDualLevelQuantMatmulWeightNz is invalid value in aarch64 Created-by: shi-rui Commit-by: shirui17@huawei.com 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能力等内容) int类型定义修改成int64, 避免aarch64和x86对int的语义不一致 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 在aarch64 + py311 + torch2.8场景,调用DualLevelQuantMatmul算子 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4420 | 5 个月前 | |
【feat】add new op DynamicBlockMxQuant Co-authored-by: yin-peng-hw<yinpeng37@huawei.com> # message auto-generated for no-merge-commit merge: !4330 merge DynamicBlockMxQuant into master 【feat】add new op DynamicBlockMxQuant Created-by: yin-peng Commit-by: yin-peng-hw 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能力等内容) 新增支持DynamicBlockMxQuant算子,验证PTA通路 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已新增UT测试用例看护,自测通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4330 | 4 个月前 | |
feat: dynamic_block_quant support dst_type_max attr Co-authored-by: wuchengming123<wuchengming6@huawei.com> # message auto-generated for no-merge-commit merge: !4501 merge dynamicBLockQuant into master feat: dynamic_block_quant support dst_type_max attr Created-by: wuchengming123 Commit-by: wuchengming123 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能力等内容) dynamic_block_quant接口新增dst_type_max参数。表示目标数据类型的最大值。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及,API资料需要修改,增加可选属性dst_type_max # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及,接口新增可选属性dst_type_max # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已适配UT测试用例看护。自验证通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4501 | 4 个月前 | |
add DynamicDualLevelMxQuant op interface Co-authored-by: wang-siyang3<wangsiyang3@huawei.com> # message auto-generated for no-merge-commit merge: !4000 merge dev into master add DynamicDualLevelMxQuant op interface Created-by: clwsy1 Commit-by: wang-siyang3 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!4000 | 6 个月前 | |
feat: npu_dynamic_quant、npu_dynamic_mx_quant support dst_type_max attr Co-authored-by: transformer910<tianye82@h-partners.com> # message auto-generated for no-merge-commit merge: !4463 merge br_0313quant_dsttypemax into master feat: npu_dynamic_quant、npu_dynamic_mx_quant support dst_type_max attr Created-by: transformer910 Commit-by: transformer910 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能力等内容) npu_dynamic_quant和npu_dynamic_mx_quant接口新增dst_type_max参数,支持设置量化结果的范围。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及,API资料需要修改,增加可选属性dst_type_max。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及,接口新增可选属性dst_type_max。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已适配UT测试用例看护。自验证通过。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4463 | 4 个月前 | |
[feat] DynamicMxQuantWithDualAxis add dst_type_max parameter Co-authored-by: peng_yq<pengyongqiang5@huawei.com> # message auto-generated for no-merge-commit merge: !4620 merge DynamicMxQuantWithDualAxis2604 into master [feat] DynamicMxQuantWithDualAxis add dst_type_max parameter Created-by: pyq17870581669 Commit-by: peng_yq Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 npu_dynamic_mx_quant_with_dual_axis 接口新增dst_type_max参数,支持设置量化结果的范围。 # 【资料变更】 涉及,API资料需要修改,增加可选属性dst_type_max。 # 【接口变更】 涉及,接口新增可选属性dst_type_max。 # 【功能验证】 ## 正确调用新接口,且新版本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!4620 | 3 个月前 | |
fix:修复quant_mode变量提前释放导致aclnn无法成功读取值的问题 Co-authored-by: transformer910<tianye82@h-partners.com> # message auto-generated for no-merge-commit merge: !4710 merge br_fix_memmory into master fix:修复quant_mode变量提前释放导致aclnn无法成功读取值的问题 Created-by: transformer910 Commit-by: transformer910 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能力等内容) aclnn中quantMode参数偶现无法正常读取值,因为函数结束后aclnn还未执行仅下发,quant_mode变量被释放导致指针指向未知地址。修改为作为函数入参传递。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 本地验证通过  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4710 | 4 个月前 | |
rename 910_95 Co-authored-by: MrMC-<shiqunze@h-partners.com> # message auto-generated for no-merge-commit merge: !4108 merge master-re950 into master rename 910_95 Created-by: MrMC- Commit-by: MrMC- 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!4108 | 6 个月前 | |
using op_api replace acl_op in embedding_bag_per_sample_weights_backward Co-authored-by: chenshuai<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !3806 merge SR1211 into master using op_api replace acl_op in embedding_bag_per_sample_weights_backward Created-by: culechan Commit-by: chenshuai 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!3806 | 7 个月前 | |
| 11 个月前 | ||
| 1 年前 | ||
feat: Ascend950比较类算子device校验及平台隔离 Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !5286 merge brc_pta_fix_26.1.0 into 26.1.0 feat: Ascend950比较类算子device校验及平台隔离 Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: ascend-robot Description: # 【合入来源】 - [x] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 关联 Issue:https://gitcode.com/Ascend/op-plugin/issues/198 # 【修改方案】 1. 为比较类算子(equal、greater、greater_equal、less、less_equal、not_equal、maximum、minimum)在 Ascend950 平台上补充 device 校验逻辑,确保算子在 950 硬件上正确执行 2. 新增平台隔离判断,在 op_api_common.h 中添加 950 平台的设备类型检查工具函数 3. 各算子 op_api 层引入 950 分支的 device 校验路径,对不支持的数据类型和平台组合进行拦截 涉及文件: - op_plugin/utils/op_api_common.h:新增 950 平台 device 校验公共函数 - op_plugin/ops/opapi/EqKernelNpuOpApi.cpp:equal 算子 950 device 校验 - op_plugin/ops/opapi/GeKernelNpuOpApi.cpp:greater_equal 算子 950 device 校验 - op_plugin/ops/opapi/GtKernelNpuOpApi.cpp:greater 算子 950 device 校验 - op_plugin/ops/opapi/LeKernelNpuOpApi.cpp:less_equal 算子 950 device 校验 - op_plugin/ops/opapi/LtKernelNpuOpApi.cpp:less 算子 950 device 校验 - op_plugin/ops/opapi/NeKernelNpuOpApi.cpp:not_equal 算子 950 device 校验 - op_plugin/ops/opapi/MaxKernelNpuOpApi.cpp:maximum 算子 950 device 校验 - op_plugin/ops/opapi/MinKernelNpuOpApi.cpp:minimum 算子 950 device 校验 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 - 比较类算子在 Ascend950 平台上的 device 校验路径覆盖 - 不支持的 dtype/platform 组合被正确拦截 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5286 | 1 个月前 | |
| 1 年前 | ||
[Feature] [Randomness] Add randomness compatible blacklist handling Co-authored-by: wang_ziqi<wangziqi4@huawei.com> # message auto-generated for no-merge-commit merge: !5441 merge compatible_randomness_26.1.0 into 26.1.0 [Feature] [Randomness] Add randomness compatible blacklist handling Created-by: wang-ziqi-code Commit-by: wang_ziqi 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/2853 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 在 op_plugin/utils/RandomUtil.h 中集中实现 randomness compatible 处理逻辑,通过 torch_npu CheckCompatibleImplBlackListFor(CompatibleKey::Randomness) 查询 randomness 是否配置 legacy 实现。 2. 新增 randomness counter offset 统一入口 calc_final_counter_offset,compatible 场景使用 GPU/PyTorch 对齐 offset 计算,legacy 场景使用 LEGACY_RAND_COUNTER_OFFSET。 3. 新增 CANN random mode 配置封装 ConfigureCannRandomnessOnce,同一进程内只配置一次。配置值为 CANN_RANDOM_MODE_LEGACY = 0 或 CANN_RANDOM_MODE_COMPAT = 1。 4. PrepareRandomnessCompatible 负责组合 A5 aclnn-only 判断、randomness blacklist 查询和 CANN random mode 配置结果,返回当前是否使用 compatible randomness。 5. A5 supported randomness 调用点会显式配置 CANN random mode;aclnnSetPytorchRandom 符号不存在时打印 INFO 日志,并按 compatible randomness 处理。 6. 当前接入 supported randomness API:torch.nn.init.normal_、torch.randn、torch.normal 相关 overload、torch.nn.init.xavier_uniform_、Tensor.uniform_、Tensor.random_(from, to) / Tensor.random_(to)。 7. 当前 Tensor.random_() without from/to、Tensor.exponential_、torch_npu.npu_sim_exponential_、dropout 使用 support_cann_random_switch=false,不触发 CANN random mode 配置。 8. dropout 路径选择仍由 IsAclnnOnly() 控制;A5 aclnnDropoutV3 分支调用 PrepareRandomnessCompatible(false),当前返回值保持 compatible offset 行为。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及跨仓 C++ 接口依赖、环境变量配置和 CANN 接口依赖,不新增 Python API。 依赖 torch_npu C++ 接口: cpp bool CheckCompatibleImplBlackListFor(CompatibleKey compatible_key); 依赖环境变量: bash TORCH_NPU_LEGACY_IMPL_LIST=randomness 依赖 CANN 接口: cpp aclnnStatus aclnnSetPytorchRandom(int32_t pytorchRandom); # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已执行静态检查: bash git -C op-plugin diff --check 验证场景: 1. A2/A3:配置或不配置 TORCH_NPU_LEGACY_IMPL_LIST=randomness,randomness API 正常执行,保持 A2/A3 路径行为。 2. A5 + 未配置 TORCH_NPU_LEGACY_IMPL_LIST:supported randomness API 正常执行,使用 compatible offset,并配置 CANN random mode 为 1。 3. A5 + TORCH_NPU_LEGACY_IMPL_LIST=randomness:supported randomness API 正常执行,使用 legacy offset,并配置 CANN random mode 为 0。 4. A5 + aclnnSetPytorchRandom 符号不存在:打印 INFO 日志,supported randomness API 正常执行,使用 compatible offset。 5. support_cann_random_switch=false 的调用点正常执行,不触发 CANN random mode 配置。 6. dropout 训练路径正常执行,p == 0、p == 1、train == false 快捷路径正常执行。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5441 | 1 个月前 | |
[fix] torch.eye API consistency Co-authored-by: LiNuohang<linuohang@huawei.com> # message auto-generated for no-merge-commit merge: !4256 merge master into master [fix] torch.eye API consistency Created-by: LiNuohang Commit-by: LiNuohang Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://atomgit.com/Ascend/pytorch/issues/1545 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 增加dimension校验,与GPU保持一致 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 原有用例验证test_eye_npu test_eye_cpu (__main__.TestTensorCreationCPU) ... ok test_eye_npu (__main__.TestTensorCreationPRIVATEUSE1) ... ok # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4256 | 6 个月前 | |
| 11 个月前 | ||
| 1 年前 | ||
bugfix: eliminate redundant operations in fft. Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !5178 merge bugfix_fft_26 into 26.1.0 bugfix: eliminate redundant operations in fft. Created-by: yvjc Commit-by: yvjc Merged-by: ascend-robot Description: https://gitcode.com/Ascend/pytorch/issues/2400 <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 删除FFT中冗余操作 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 FFT系列运算无精度问题 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5178 | 2 个月前 | |
fix: fix logic errors, bounds issues, and undefined behavior from security audit Co-authored-by: xiu_21<caixiuxiu1@huawei.com> # message auto-generated for no-merge-commit merge: !4987 merge security_code into master fix: fix logic errors, bounds issues, and undefined behavior from security audit Created-by: xiu_21 Commit-by: xiu_21 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修改代码中存在的逻辑错误、边界问题和未定义行为。 ### 1. 逻辑运算符错误(2处, || → &&) | 文件 | 问题 | 修改 | |------|------|------| | [FusedAttentionLnQKV.cpp:28](op_plugin/ops/aclops/FusedAttentionLnQKV.cpp#L28) | seq_len != 0 \|\| num_heads != 0 导致单参数为零时校验被绕过 | 改为 seq_len != 0 && num_heads != 0 | | [FftRfftKernelNpuOpApi.cpp:49](op_plugin/ops/opapi/FftRfftKernelNpuOpApi.cpp#L49) | (dim < self.dim() \|\| dim >= 0) 导致越界 dim 仍通过校验 | 改为 (dim >= 0 && dim < self.dim()) | ### 2. 越界/空值校验(7处,添加前置检查) | 文件 | 问题 | 修改 | |------|------|------| | [CtcLossKernelNpu.cpp:43](op_plugin/ops/aclops/CtcLossKernelNpu.cpp#L43) | shape[2] 在 log_probs 为 2D tensor 时越界 | 根据 dim() 选择 shape[2] 或 shape[1] | | [AdaptiveMaxPool2dKernelNpu.cpp:53-56](op_plugin/ops/aclops/AdaptiveMaxPool2dKernelNpu.cpp#L53-L56) | self.size(3) 在 self 为 3D tensor 时越界 | 根据 dim() 区分 3D/4D 索引映射 | | [UpsampleBilinear2dKernelNpu.cpp:35](op_plugin/ops/aclops/UpsampleBilinear2dKernelNpu.cpp#L35) | output_size[1] 前仅校验 size() >= 1 | 改为校验 size() >= 2 | | [ConfusionTransposeKernelNpu.cpp:87](op_plugin/ops/aclops/ConfusionTransposeKernelNpu.cpp#L87) | temp_perm[perm[i]] 索引值未校验范围 | 添加 TORCH_CHECK(perm[i] >= 0 && perm[i] < perm_len) | | [MmKernelNpu.cpp:170](op_plugin/ops/aclops/MmKernelNpu.cpp#L170) | self.size(self.dim()-2) 在维度不足时越界 | 添加 TORCH_CHECK(self.dim() >= 2 && mat2.dim() >= 2) | | [FFTc2rKernelNpuOpApi.cpp:29](op_plugin/ops/opapi/FFTc2rKernelNpuOpApi.cpp#L29) | dim.back() 未校验数组是否为空 | 添加 TORCH_CHECK(!dim.empty()) | | [model.py:67-70](torchnpugen/struct/model.py#L67-L70) | info.pop() 时 info 可能为 None | 添加 if info is None: raise RuntimeError 提前拦截 | | [struct_codegen.py:35](torchnpugen/struct/struct_codegen.py#L35) | os.environ.get('PYTORCH_VERSION') 未设置时返回 None,.split() 崩溃 | 拆分调用:先判空、再 split、再校验长度 >= 2 | ### 3. 悬垂引用/指针(2处,延长生命周期) | 文件 | 问题 | 修改 | |------|------|------| | [AvgPool2dBackwardKernelNpu.cpp:82-97](op_plugin/ops/aclops/AvgPool2dBackwardKernelNpu.cpp#L82-L97) | SmallVector 在 if 块内销毁,IntArrayRef 成为悬垂引用 | 将 SmallVector 声明提到 if 块外部 | | [CropAndResizeKernelNpu.cpp:34](op_plugin/ops/aclops/CropAndResizeKernelNpu.cpp#L34) | std::string(method).data() 临时 string 销毁后指针悬垂 | 声明命名 std::string method_str 变量 | ### 4. 函数无返回值(1处) | 文件 | 问题 | 修改 | |------|------|------| | [AtbCommon.h:87](op_plugin/utils/custom_functions/atb/AtbCommon.h#L87) | GetApiFuncAddr 双 handler 均 null 时函数无 return,未定义行为 | 末尾添加 return nullptr | ### 5. 类型收窄/溢出/API返回值检查(5处) | 文件 | 问题 | 修改 | |------|------|------| | [CdistKernelNpu.cpp:71-72](op_plugin/ops/aclops/CdistKernelNpu.cpp#L71-L72) | int 类型存储 int64_t 累乘结果,可能截断 | 改为 int64_t,初始化值改为 int64_t(1) | | [LinalgQrKernelNpu.cpp:29-31](op_plugin/ops/aclops/LinalgQrKernelNpu.cpp#L29-L31) | int m, n 将 int64_t 的 tensor 维度截断为 32 位 | 改为 int64_t | | [AdaptiveAvgPool3dBackwardKernelNpu.cpp:33-34](op_plugin/ops/aclops/AdaptiveAvgPool3dBackwardKernelNpu.cpp#L33-L34) | 多维度 size 累乘可能溢出 int64_t | 乘法前加 TORCH_CHECK(size <= INT64_MAX / next_dim) | | [AsdSipNpuOpApi.h:248-265](op_plugin/utils/custom_functions/opapi/AsdSipNpuOpApi.h#L248-L265) | FFT API(Create/MakePlan/Sync/Destroy)返回值全部忽略 | 每个调用加 TORCH_CHECK(ret == 0) | | [BatchNormElemtKernelNpuOpApi.cpp:42-43](op_plugin/ops/opapi/BatchNormElemtKernelNpuOpApi.cpp#L42-L43) | optional weight/bias 直接传给 NPU 命令 | 先用 c10::value_or_else 解包为默认空 tensor 再传入 | # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4987 | 2 个月前 | |
[fix] add conyright Co-authored-by: l00881990<lixinyu68@huawei.com> # message auto-generated for no-merge-commit merge: !5446 merge cherry-pick-mr-5445-1783663981241-auto into 26.1.0 [fix] add conyright 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 https://gitcode.com/Ascend/op-plugin/pull/5446 https://gitcode.com/Ascend/op-plugin/pull/5445 # 【资料变更】 “不涉及” # 【接口变更】 “不涉及” # 【功能验证】 不涉及 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5446 | 1 个月前 | |
!1713 fix ops * fix ops | 2 年前 | |
[fix] Add Ascend chip type judgment for fast_gelu Co-authored-by: liangsongwei<liangsongwei@huawei.com> # message auto-generated for no-merge-commit merge: !3700 merge master into master [fix] Add Ascend chip type judgment for fast_gelu Created-by: liangsongwei Commit-by: liangsongwei Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3700 | 8 个月前 | |
add FfnWorkerBatching Co-authored-by: 安冬<andong2@huawei.com> # message auto-generated for no-merge-commit merge: merge master into master add FfnWorkerBatching Created-by: andong_hw Commit-by: 安冬 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!3179 | 10 个月前 | |
适配支持两类算子:ffn_worker_scheduler_/ffn_worker_scheduler、 attention_worker_scheduler_/attention_worker_scheduler Co-authored-by: panweicheng<panweicheng@huawei.com> # message auto-generated for no-merge-commit merge: !3397 merge master into master 适配支持两类算子:ffn_worker_scheduler_/ffn_worker_scheduler、 attention_worker_scheduler_/attention_worker_scheduler Created-by: pwc10490 Commit-by: panweicheng Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > /kind feature **What does this PR do / why do we need it**: 适配支持两类算子: torch_npu.attention_worker_scheduler torch_npu.attention_worker_scheduler_(inplace算子) torch_npu.ffn_worker_scheduler torch_npu.ffn_worker_scheduler_(inplace算子) **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3397 | 9 个月前 | |
fix: fix logic errors, bounds issues, and undefined behavior from security audit Co-authored-by: xiu_21<caixiuxiu1@huawei.com> # message auto-generated for no-merge-commit merge: !4987 merge security_code into master fix: fix logic errors, bounds issues, and undefined behavior from security audit Created-by: xiu_21 Commit-by: xiu_21 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修改代码中存在的逻辑错误、边界问题和未定义行为。 ### 1. 逻辑运算符错误(2处, || → &&) | 文件 | 问题 | 修改 | |------|------|------| | [FusedAttentionLnQKV.cpp:28](op_plugin/ops/aclops/FusedAttentionLnQKV.cpp#L28) | seq_len != 0 \|\| num_heads != 0 导致单参数为零时校验被绕过 | 改为 seq_len != 0 && num_heads != 0 | | [FftRfftKernelNpuOpApi.cpp:49](op_plugin/ops/opapi/FftRfftKernelNpuOpApi.cpp#L49) | (dim < self.dim() \|\| dim >= 0) 导致越界 dim 仍通过校验 | 改为 (dim >= 0 && dim < self.dim()) | ### 2. 越界/空值校验(7处,添加前置检查) | 文件 | 问题 | 修改 | |------|------|------| | [CtcLossKernelNpu.cpp:43](op_plugin/ops/aclops/CtcLossKernelNpu.cpp#L43) | shape[2] 在 log_probs 为 2D tensor 时越界 | 根据 dim() 选择 shape[2] 或 shape[1] | | [AdaptiveMaxPool2dKernelNpu.cpp:53-56](op_plugin/ops/aclops/AdaptiveMaxPool2dKernelNpu.cpp#L53-L56) | self.size(3) 在 self 为 3D tensor 时越界 | 根据 dim() 区分 3D/4D 索引映射 | | [UpsampleBilinear2dKernelNpu.cpp:35](op_plugin/ops/aclops/UpsampleBilinear2dKernelNpu.cpp#L35) | output_size[1] 前仅校验 size() >= 1 | 改为校验 size() >= 2 | | [ConfusionTransposeKernelNpu.cpp:87](op_plugin/ops/aclops/ConfusionTransposeKernelNpu.cpp#L87) | temp_perm[perm[i]] 索引值未校验范围 | 添加 TORCH_CHECK(perm[i] >= 0 && perm[i] < perm_len) | | [MmKernelNpu.cpp:170](op_plugin/ops/aclops/MmKernelNpu.cpp#L170) | self.size(self.dim()-2) 在维度不足时越界 | 添加 TORCH_CHECK(self.dim() >= 2 && mat2.dim() >= 2) | | [FFTc2rKernelNpuOpApi.cpp:29](op_plugin/ops/opapi/FFTc2rKernelNpuOpApi.cpp#L29) | dim.back() 未校验数组是否为空 | 添加 TORCH_CHECK(!dim.empty()) | | [model.py:67-70](torchnpugen/struct/model.py#L67-L70) | info.pop() 时 info 可能为 None | 添加 if info is None: raise RuntimeError 提前拦截 | | [struct_codegen.py:35](torchnpugen/struct/struct_codegen.py#L35) | os.environ.get('PYTORCH_VERSION') 未设置时返回 None,.split() 崩溃 | 拆分调用:先判空、再 split、再校验长度 >= 2 | ### 3. 悬垂引用/指针(2处,延长生命周期) | 文件 | 问题 | 修改 | |------|------|------| | [AvgPool2dBackwardKernelNpu.cpp:82-97](op_plugin/ops/aclops/AvgPool2dBackwardKernelNpu.cpp#L82-L97) | SmallVector 在 if 块内销毁,IntArrayRef 成为悬垂引用 | 将 SmallVector 声明提到 if 块外部 | | [CropAndResizeKernelNpu.cpp:34](op_plugin/ops/aclops/CropAndResizeKernelNpu.cpp#L34) | std::string(method).data() 临时 string 销毁后指针悬垂 | 声明命名 std::string method_str 变量 | ### 4. 函数无返回值(1处) | 文件 | 问题 | 修改 | |------|------|------| | [AtbCommon.h:87](op_plugin/utils/custom_functions/atb/AtbCommon.h#L87) | GetApiFuncAddr 双 handler 均 null 时函数无 return,未定义行为 | 末尾添加 return nullptr | ### 5. 类型收窄/溢出/API返回值检查(5处) | 文件 | 问题 | 修改 | |------|------|------| | [CdistKernelNpu.cpp:71-72](op_plugin/ops/aclops/CdistKernelNpu.cpp#L71-L72) | int 类型存储 int64_t 累乘结果,可能截断 | 改为 int64_t,初始化值改为 int64_t(1) | | [LinalgQrKernelNpu.cpp:29-31](op_plugin/ops/aclops/LinalgQrKernelNpu.cpp#L29-L31) | int m, n 将 int64_t 的 tensor 维度截断为 32 位 | 改为 int64_t | | [AdaptiveAvgPool3dBackwardKernelNpu.cpp:33-34](op_plugin/ops/aclops/AdaptiveAvgPool3dBackwardKernelNpu.cpp#L33-L34) | 多维度 size 累乘可能溢出 int64_t | 乘法前加 TORCH_CHECK(size <= INT64_MAX / next_dim) | | [AsdSipNpuOpApi.h:248-265](op_plugin/utils/custom_functions/opapi/AsdSipNpuOpApi.h#L248-L265) | FFT API(Create/MakePlan/Sync/Destroy)返回值全部忽略 | 每个调用加 TORCH_CHECK(ret == 0) | | [BatchNormElemtKernelNpuOpApi.cpp:42-43](op_plugin/ops/opapi/BatchNormElemtKernelNpuOpApi.cpp#L42-L43) | optional weight/bias 直接传给 NPU 命令 | 先用 c10::value_or_else 解包为默认空 tensor 再传入 | # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4987 | 2 个月前 | |
| 1 年前 | ||
add empty check for flashattention Co-authored-by: nomiz<1606135114@qq.com> # message auto-generated for no-merge-commit merge: !5068 merge master into master add empty check for flashattention Created-by: nomiz Commit-by: nomiz 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/137 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 当input_layout为空字符串如:input_layout="",日志中新增明确说明内容为空 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已有ut验证无问题  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5068 | 2 个月前 | |
add empty check for flashattention Co-authored-by: nomiz<1606135114@qq.com> # message auto-generated for no-merge-commit merge: !5068 merge master into master add empty check for flashattention Created-by: nomiz Commit-by: nomiz 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/137 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 当input_layout为空字符串如:input_layout="",日志中新增明确说明内容为空 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已有ut验证无问题  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5068 | 2 个月前 | |
| 1 年前 | ||
[fix] fmod wrapped tensor dtype infer bug Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !4300 merge fmod_david into master [fix] fmod wrapped tensor dtype infer bug Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [√] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 针对wrapped场景(整形立即数和浮点立即数的默认类型分别为int64和double),使能走aclnnFmodScalar或aclnnInplaceFmodScalar,使能tensor+scalar的数据类型推导,与竞品保持一致 具体修改: 针对fmod.Tensor, fmod.Tensor_out和fmod_.Tensor三个AtenIR的上述场景,不走自动生成aclnn的逻辑,走手动处理,新增FmodKernelNpuOpApi文件,删除yaml文件对应Aten下的自动生成配置。fmod.Scalar和fmod_.Scalar保持自动生成逻辑不变(python转C++不会直接调用这两个Aten) # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 代码脚本: import torch import torch_npu a = torch.tensor([3], dtype=torch.uint8).cpu() a_n = a.npu() b = -2 res = a.fmod(b) res_n = a_n.fmod(b) print("ctw:", res) print("ntw:", res_n) **原始场景验证,可以看到ntw和ntt与竞品结果不一致** ctw:tensor[3], dtype=torch.uint8) ntw: tensor[1], device='npu:0', dtype=torch.uint8) **修改后验证,结果与竞品保持一致:** ctw:tensor[3], dtype=torch.uint8) ntw: tensor[3], device='npu:0', dtype=torch.uint8) # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [√] 代码注释完备,正确记录错误日志 - [√] 代码实现进行了返回值、空指针等校验 - [√] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [√] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4300 | 5 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
_foreach_copy with different src/dst stypes Co-authored-by: nomiz<1606135114@qq.com> # message auto-generated for no-merge-commit merge: !5003 merge master into master _foreach_copy with different src/dst stypes Created-by: nomiz Commit-by: nomiz 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/106 - [X] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) foreach_copy支持跨dtype拷贝走优化分支 当前支持的输入类型 fp32->fp16/bf16 , fp16/bf16->fp32 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及。无新增客户可见接口。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 UT看护: - 已适配 op-plugin foreach copy 用例,新增跨dtype场景验证,UT 结果请以当前 CI/转测执行结果为准。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5003 | 2 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
fix foreach clamp max min op for empty scalar input Co-authored-by: wanghonghao<wanghonghao9@huawei.com> # message auto-generated for no-merge-commit merge: !3469 merge foreachop_fix into master fix foreach clamp max min op for empty scalar input Created-by: wanghonghao Commit-by: wanghonghao Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** kind bug **What does this PR do / why do we need it**: 修复了foreach clamp max/min算子在输入scalar为空时,会优先对scalar进行数据类型检测导致core dump的bug **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3469 | 8 个月前 | |
fix foreach clamp max min op for empty scalar input Co-authored-by: wanghonghao<wanghonghao9@huawei.com> # message auto-generated for no-merge-commit merge: !3469 merge foreachop_fix into master fix foreach clamp max min op for empty scalar input Created-by: wanghonghao Commit-by: wanghonghao Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** kind bug **What does this PR do / why do we need it**: 修复了foreach clamp max/min算子在输入scalar为空时,会优先对scalar进行数据类型检测导致core dump的bug **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3469 | 8 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
rename 910_95 Co-authored-by: MrMC-<shiqunze@h-partners.com> # message auto-generated for no-merge-commit merge: !4108 merge master-re950 into master rename 910_95 Created-by: MrMC- Commit-by: MrMC- 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!4108 | 6 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
修改fusedCausalConv1d接口,新增fusedCausalConv1d原地更新接口 Co-authored-by: wkyan<yanwenkai@huawei.com> # message auto-generated for no-merge-commit merge: !4969 merge 0518FCC into master 修改fusedCausalConv1d接口,新增fusedCausalConv1d原地更新接口 Created-by: wkyan Commit-by: wkyan 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能力等内容) 修改FusedCausalConv1d算子,新增InplaceFusedCausalConv1d算子,修改npu_fused_causal_conv1d,新增npu_fused_causal_conv1d_v2接口 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 修改FusedCausalConv1d算子资料 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 修改FusedCausalConv1d算子接口 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 本地自验证:根据算子信息库,从支持的数据类型以及输入数据维度两个角度设计测试用例测试接口功能 npu_fused_causal_conv1d算子: [npu_fused_causal_conv1d] 单算子 | dtype=bfloat16 | batch=8 | cu_seq_len=24 | dim=64 | K=3 | pad_slot_id=-1 | residual_connection=1 | max_query_len=3 | state_len=4 | block_size=178 | conv_mode=1 | APC=ON | 3D | manual test 输入shape:x: torch.Size([8, 3, 64]) weight: torch.Size([3, 64]) conv_states: torch.Size([29, 4, 64]) cache_indices: torch.Size([8, 3]) num_computed_tokens: torch.Size([8]) Result: PASS [npu_fused_causal_conv1d] 单算子 | dtype=bfloat16 | batch=1 | cu_seq_len=7 | dim=384 | K=3 | pad_slot_id=-1 | residual_connection=0 | max_query_len=7 | state_len=8 | block_size=223 | conv_mode=1 | APC=ON | 3D | manual test 输入shape:x: torch.Size([1, 7, 384]) weight: torch.Size([3, 384]) conv_states: torch.Size([9, 8, 384]) cache_indices: torch.Size([1, 4]) num_computed_tokens: torch.Size([1]) Result: PASS [npu_fused_causal_conv1d] 单算子 | dtype=float16 | batch=8 | cu_seq_len=764 | dim=512 | K=3 | pad_slot_id=-1 | residual_connection=0 | max_query_len=188 | state_len=3 | block_size=47 | conv_mode=1 | APC=ON | manual test 输入shape:x: torch.Size([764, 512]) weight: torch.Size([3, 512]) conv_states: torch.Size([69, 3, 512]) cache_indices: torch.Size([8, 8]) num_computed_tokens: torch.Size([8]) Result: PASS [npu_fused_causal_conv1d] 单算子 | dtype=bfloat16 | batch=4 | cu_seq_len=73 | dim=1536 | K=3 | pad_slot_id=-1 | residual_connection=0 | max_query_len=45 | state_len=3 | block_size=20 | conv_mode=1 | APC=ON | manual test 输入shape:x: torch.Size([73, 1536]) weight: torch.Size([3, 1536]) conv_states: torch.Size([29, 3, 1536]) cache_indices: torch.Size([4, 6]) num_computed_tokens: torch.Size([4]) Result: PASS npu_fused_causal_conv1d_v2算子: [npu_fused_causal_conv1d_v2] 单算子 | dtype=float16 | batch=4 | cu_seq_len=93 | dim=512 | K=3 | pad_slot_id=-1 | residual_connection=1 | max_query_len=64 | state_len=5 | block_size=48 | conv_mode=1 | APC=ON | manual test 输入shape:x: torch.Size([93, 512]) weight: torch.Size([3, 512]) conv_states: torch.Size([21, 5, 512]) cache_indices: torch.Size([4, 4]) num_computed_tokens: torch.Size([4]) Result: PASS [npu_fused_causal_conv1d_v2] 单算子 | dtype=bfloat16 | batch=128 | cu_seq_len=3476 | dim=2048 | K=3 | pad_slot_id=-1 | residual_connection=0 | max_query_len=182 | state_len=9 | block_size=98 | conv_mode=1 | APC=ON | manual test 输入shape:x: torch.Size([3476, 2048]) weight: torch.Size([3, 2048]) conv_states: torch.Size([773, 9, 2048]) cache_indices: torch.Size([128, 6]) num_computed_tokens: torch.Size([128]) Result: PASS [npu_fused_causal_conv1d_v2] 单算子 | dtype=float16 | batch=128 | cu_seq_len=1024 | dim=256 | K=3 | pad_slot_id=-1 | residual_connection=1 | max_query_len=8 | state_len=9 | block_size=119 | conv_mode=1 | APC=ON | manual test 输入shape:x: torch.Size([1024, 256]) weight: torch.Size([3, 256]) conv_states: torch.Size([645, 9, 256]) cache_indices: torch.Size([128, 5]) num_computed_tokens: torch.Size([128]) Result: PASS [npu_fused_causal_conv1d_v2] 单算子 | dtype=float16 | batch=1 | cu_seq_len=8 | dim=1536 | K=3 | pad_slot_id=-1 | residual_connection=1 | max_query_len=8 | state_len=9 | block_size=165 | conv_mode=1 | APC=ON | manual test 输入shape:x: torch.Size([8, 1536]) weight: torch.Size([3, 1536]) conv_states: torch.Size([6, 9, 1536]) cache_indices: torch.Size([1, 1]) num_computed_tokens: torch.Size([1]) Result: PASS # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4969 | 2 个月前 | |
修改fusedCausalConv1d接口,新增fusedCausalConv1d原地更新接口 Co-authored-by: wkyan<yanwenkai@huawei.com> # message auto-generated for no-merge-commit merge: !4969 merge 0518FCC into master 修改fusedCausalConv1d接口,新增fusedCausalConv1d原地更新接口 Created-by: wkyan Commit-by: wkyan 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能力等内容) 修改FusedCausalConv1d算子,新增InplaceFusedCausalConv1d算子,修改npu_fused_causal_conv1d,新增npu_fused_causal_conv1d_v2接口 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 修改FusedCausalConv1d算子资料 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 修改FusedCausalConv1d算子接口 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 本地自验证:根据算子信息库,从支持的数据类型以及输入数据维度两个角度设计测试用例测试接口功能 npu_fused_causal_conv1d算子: [npu_fused_causal_conv1d] 单算子 | dtype=bfloat16 | batch=8 | cu_seq_len=24 | dim=64 | K=3 | pad_slot_id=-1 | residual_connection=1 | max_query_len=3 | state_len=4 | block_size=178 | conv_mode=1 | APC=ON | 3D | manual test 输入shape:x: torch.Size([8, 3, 64]) weight: torch.Size([3, 64]) conv_states: torch.Size([29, 4, 64]) cache_indices: torch.Size([8, 3]) num_computed_tokens: torch.Size([8]) Result: PASS [npu_fused_causal_conv1d] 单算子 | dtype=bfloat16 | batch=1 | cu_seq_len=7 | dim=384 | K=3 | pad_slot_id=-1 | residual_connection=0 | max_query_len=7 | state_len=8 | block_size=223 | conv_mode=1 | APC=ON | 3D | manual test 输入shape:x: torch.Size([1, 7, 384]) weight: torch.Size([3, 384]) conv_states: torch.Size([9, 8, 384]) cache_indices: torch.Size([1, 4]) num_computed_tokens: torch.Size([1]) Result: PASS [npu_fused_causal_conv1d] 单算子 | dtype=float16 | batch=8 | cu_seq_len=764 | dim=512 | K=3 | pad_slot_id=-1 | residual_connection=0 | max_query_len=188 | state_len=3 | block_size=47 | conv_mode=1 | APC=ON | manual test 输入shape:x: torch.Size([764, 512]) weight: torch.Size([3, 512]) conv_states: torch.Size([69, 3, 512]) cache_indices: torch.Size([8, 8]) num_computed_tokens: torch.Size([8]) Result: PASS [npu_fused_causal_conv1d] 单算子 | dtype=bfloat16 | batch=4 | cu_seq_len=73 | dim=1536 | K=3 | pad_slot_id=-1 | residual_connection=0 | max_query_len=45 | state_len=3 | block_size=20 | conv_mode=1 | APC=ON | manual test 输入shape:x: torch.Size([73, 1536]) weight: torch.Size([3, 1536]) conv_states: torch.Size([29, 3, 1536]) cache_indices: torch.Size([4, 6]) num_computed_tokens: torch.Size([4]) Result: PASS npu_fused_causal_conv1d_v2算子: [npu_fused_causal_conv1d_v2] 单算子 | dtype=float16 | batch=4 | cu_seq_len=93 | dim=512 | K=3 | pad_slot_id=-1 | residual_connection=1 | max_query_len=64 | state_len=5 | block_size=48 | conv_mode=1 | APC=ON | manual test 输入shape:x: torch.Size([93, 512]) weight: torch.Size([3, 512]) conv_states: torch.Size([21, 5, 512]) cache_indices: torch.Size([4, 4]) num_computed_tokens: torch.Size([4]) Result: PASS [npu_fused_causal_conv1d_v2] 单算子 | dtype=bfloat16 | batch=128 | cu_seq_len=3476 | dim=2048 | K=3 | pad_slot_id=-1 | residual_connection=0 | max_query_len=182 | state_len=9 | block_size=98 | conv_mode=1 | APC=ON | manual test 输入shape:x: torch.Size([3476, 2048]) weight: torch.Size([3, 2048]) conv_states: torch.Size([773, 9, 2048]) cache_indices: torch.Size([128, 6]) num_computed_tokens: torch.Size([128]) Result: PASS [npu_fused_causal_conv1d_v2] 单算子 | dtype=float16 | batch=128 | cu_seq_len=1024 | dim=256 | K=3 | pad_slot_id=-1 | residual_connection=1 | max_query_len=8 | state_len=9 | block_size=119 | conv_mode=1 | APC=ON | manual test 输入shape:x: torch.Size([1024, 256]) weight: torch.Size([3, 256]) conv_states: torch.Size([645, 9, 256]) cache_indices: torch.Size([128, 5]) num_computed_tokens: torch.Size([128]) Result: PASS [npu_fused_causal_conv1d_v2] 单算子 | dtype=float16 | batch=1 | cu_seq_len=8 | dim=1536 | K=3 | pad_slot_id=-1 | residual_connection=1 | max_query_len=8 | state_len=9 | block_size=165 | conv_mode=1 | APC=ON | manual test 输入shape:x: torch.Size([8, 1536]) weight: torch.Size([3, 1536]) conv_states: torch.Size([6, 9, 1536]) cache_indices: torch.Size([1, 1]) num_computed_tokens: torch.Size([1]) Result: PASS # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4969 | 2 个月前 | |
feature: Ascend950, update FIA pta dependencies for invoking aclnn Co-authored-by: l30066185<leiqingji@h-partners.com> # message auto-generated for no-merge-commit merge: !4260 merge master into master feature: Ascend950, update FIA pta dependencies for invoking aclnn Created-by: leiqingji Commit-by: l30066185 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/op-plugin/issues/38 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 950调用最新aclnn接口 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4260 | 5 个月前 | |
npu_fused_infer_attention_score_v2 add input parameter quant_scale_p Co-authored-by: eddie-han-dong<donghan12@huawei.com> # message auto-generated for no-merge-commit merge: !4445 merge master into master npu_fused_infer_attention_score_v2 add input parameter quant_scale_p Created-by: eddie-han-dong Commit-by: eddie-han-dong Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 1、op_plugin_functions.yaml、_meta_registrations.py、FusedInferAttentionScoreV2KernelNpuOpApi.cpp增加接口或函数的入参quant_scale_p > 2、 Ascend950传入真正的quant_scale_p,其他版本扔传入空tensor quant_scale1 # 【资料变更】 > 在该仓不涉及 # 【接口变更】 > npu_fused_infer_attention_score_v2接口增加了输入quant_scale_p。quant_scale_p代表P矩阵的静态量化参数。 # 【功能验证】 > 本地出包,自测试验证通过  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4445 | 4 个月前 | |
| 11 个月前 | ||
[fix] Enable cube_math_type passthrough for matmul-related ops Co-authored-by: adelaideliu<adelaideliu@163.com> # message auto-generated for no-merge-commit merge: !4618 merge master_cube_math_type into master [fix] Enable cube_math_type passthrough for matmul-related ops Created-by: adelaideliu Commit-by: adelaideliu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 aclnnAddmv, aclnnAddbmm, aclnnBaddbmm, aclnnInplaceAddbmm, aclnnInplaceBaddbmm, aclnnBatchMatMul, aclnnBatchMatMulWeightNz, aclnnFusedMatmul, aclnnGemm, aclnnAddmm, aclnnInplaceAddmm, aclnnAddmmWeightNz, aclnnMatmul, aclnnMatmulWeightNz, aclnnMm, aclnnMv, aclnnTransposeBatchMatMul, aclnnTransposeBatchMatMulWeightNz增加cube_math_type接口 # 【资料变更】 “不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4618 | 4 个月前 | |
【feat】register _fused_sdp_choice for NPU Co-authored-by: dinghongzou<zoudinghong3@huawei.com> # message auto-generated for no-merge-commit merge: !4864 merge fix-sdp-choice into master 【feat】register _fused_sdp_choice for NPU Created-by: Windwindzzz Commit-by: dinghongzou 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/1833 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 注册_fused_sdp_choice算子 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 社区用例已通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4864 | 3 个月前 | |
add copyright Co-authored-by: bellatan<tanmei2@huawei.com> # message auto-generated for no-merge-commit merge: !5452 merge add_copyright_26.1.0 into 26.1.0 add copyright Created-by: bellatan Commit-by: bellatan 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/272 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 添加copyright # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5452 | 1 个月前 | |
| 1 年前 | ||
【950】新增npu_gather_pa_kv_cache算子相关内容 Co-authored-by: gaojie120<gaojie120@huawei.com> # message auto-generated for no-merge-commit merge: !3433 merge master into master 【950】新增npu_gather_pa_kv_cache算子相关内容 Created-by: gaojie120 Commit-by: gaojie120 Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** 新增 test/test_custom_ops/test_npu_gather_pa_kv_cache.py op_plugin/ops/opapi/GatherPaKvCacheKernelNpuOpApi.cpp 修改 op_plugin/config op_plugin/python/meta op_plugin/ops/opapi/GatherPaKvCache **What does this PR do / why do we need it**: **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3433 | 8 个月前 | |
| 11 个月前 | ||
!1713 fix ops * fix ops | 2 年前 | |
feat: Ascend950比较类算子device校验及平台隔离 Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !5286 merge brc_pta_fix_26.1.0 into 26.1.0 feat: Ascend950比较类算子device校验及平台隔离 Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: ascend-robot Description: # 【合入来源】 - [x] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 关联 Issue:https://gitcode.com/Ascend/op-plugin/issues/198 # 【修改方案】 1. 为比较类算子(equal、greater、greater_equal、less、less_equal、not_equal、maximum、minimum)在 Ascend950 平台上补充 device 校验逻辑,确保算子在 950 硬件上正确执行 2. 新增平台隔离判断,在 op_api_common.h 中添加 950 平台的设备类型检查工具函数 3. 各算子 op_api 层引入 950 分支的 device 校验路径,对不支持的数据类型和平台组合进行拦截 涉及文件: - op_plugin/utils/op_api_common.h:新增 950 平台 device 校验公共函数 - op_plugin/ops/opapi/EqKernelNpuOpApi.cpp:equal 算子 950 device 校验 - op_plugin/ops/opapi/GeKernelNpuOpApi.cpp:greater_equal 算子 950 device 校验 - op_plugin/ops/opapi/GtKernelNpuOpApi.cpp:greater 算子 950 device 校验 - op_plugin/ops/opapi/LeKernelNpuOpApi.cpp:less_equal 算子 950 device 校验 - op_plugin/ops/opapi/LtKernelNpuOpApi.cpp:less 算子 950 device 校验 - op_plugin/ops/opapi/NeKernelNpuOpApi.cpp:not_equal 算子 950 device 校验 - op_plugin/ops/opapi/MaxKernelNpuOpApi.cpp:maximum 算子 950 device 校验 - op_plugin/ops/opapi/MinKernelNpuOpApi.cpp:minimum 算子 950 device 校验 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 - 比较类算子在 Ascend950 平台上的 device 校验路径覆盖 - 不支持的 dtype/platform 组合被正确拦截 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5286 | 1 个月前 | |
always use aclnnGeLUV2 in 950 Co-authored-by: XianglongZeng<zengxianglong1@huawei.com> # message auto-generated for no-merge-commit merge: !5316 merge 26.1.0 into 26.1.0 always use aclnnGeLUV2 in 950 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 A5上固定使用aclnnGeLUV2和aclnnGeluBackwardV2 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 A5上已不受兼容性环境变量控制,只能调到V2算子  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5316 | 1 个月前 | |
always use aclnnGeLUV2 in 950 Co-authored-by: XianglongZeng<zengxianglong1@huawei.com> # message auto-generated for no-merge-commit merge: !5316 merge 26.1.0 into 26.1.0 always use aclnnGeLUV2 in 950 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 A5上固定使用aclnnGeLUV2和aclnnGeluBackwardV2 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 A5上已不受兼容性环境变量控制,只能调到V2算子  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5316 | 1 个月前 | |
【950】cast && quant类算子回合 Co-authored-by: 李根<ligen75@h-partners.com> Co-authored-by: Wang_Xing001<wangxing73@huawei.com> Co-authored-by: lilongqianxi<lilongqianxi@h-partners.com> Co-authored-by: 田野<tianye82@huawei.com> Co-authored-by: 季骏<jijun1@huawei.com> Co-authored-by: luo-yongqing<luoyongqing4@h-partners.com> Co-authored-by: 赵珩<zhaoheng32@h-partners.com> # message auto-generated for no-merge-commit merge: !3431 merge pta_plugin_sync into master 【950】cast && quant类算子回合 Created-by: yuanbin_22 Commit-by: 赵珩;luo-yongqing;季骏;lilongqianxi;Wang_Xing001;田野;李根 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**: A5代码回合主线: 1)npu_dtype_cast支持float4和float8数据类型 2)新增npu_gelu_quant,npu_grouped_dynamic_mx_quant,npu_dynamic_mx_quant,npu_dynamic_block_quant接口 3)QuantUpdateScatter 图模式设置输出dtype,以适配hifp8 4)【Quantize】输出y设置 desc dtype **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3431 | 8 个月前 | |
| 1 年前 | ||
alltoallvgmm&gmmalltoallv算子增加commmode参数 Co-authored-by: wuziyu<wuziyu11@huawei.com> # message auto-generated for no-merge-commit merge: !5058 merge noquantaclnn into master alltoallvgmm&gmmalltoallv算子增加commmode参数 Created-by: wuziyu Commit-by: wuziyu 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/119 # 【修改方案】 AlltoAllvGroupedMatmu和GroupedMatmulAlltoAllv算子的PTA接口新增一个数据类型为str的可选入参comm_mode,默认值是None。 接口内部从aclnnV1接口改为调用aclnnV2接口,aclnnV2接口根据comm_mode调用通信引擎。如果传入的是None,则按空字符串调用aclnnV1接口。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 npu_alltoallv_gmm接口与npu_gmm_alltoallv接口增加可选参数comm_mode # 【功能验证】 本地自验证通过   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5058 | 2 个月前 | |
| 1 年前 | ||
GroupedDynamicBlockQuant op-plugin Co-authored-by: yin-peng-hw<yinpeng37@huawei.com> # message auto-generated for no-merge-commit merge: !3932 merge GroupedDynamicBlockQuant into master GroupedDynamicBlockQuant op-plugin Created-by: yin-peng Commit-by: yin-peng-hw 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!3932 | 6 个月前 | |
GroupedDynamicMxQuant add scale_alg Co-authored-by: yeeyanghsia<xiayiyang@huawei.com> # message auto-generated for no-merge-commit merge: !4628 merge GroupedDynamicMxQuant0401 into master GroupedDynamicMxQuant add scale_alg Created-by: yeeyanghsia Commit-by: yeeyanghsia Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 grouped_dynamic_mx_quant新增参数scale_alg,支持scale不同的计算方法选择。 # 【资料变更】 不涉及 # 【接口变更】 涉及,新增参数scale_alg # 【功能验证】  # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4628 | 3 个月前 | |
update meta function Co-authored-by: Zichun Ye<zichun.ye@huawei.com> # message auto-generated for no-merge-commit merge: !3778 merge meta_update_master into master update meta function Created-by: zichun_ye Commit-by: Zichun Ye Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug > /kind task > /kind feature **What does this PR do / why do we need it**: add meta function **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3778 | 7 个月前 | |
[feat] gmmfr support mxA8W4 Co-authored-by: zhangquanxin<zhangquanxin7@h-partners.com> # message auto-generated for no-merge-commit merge: !4708 merge gmmfr_support_a8w4_mx into master [feat] gmmfr support mxA8W4 Created-by: zhangquanxin Commit-by: zhangquanxin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 weight字段支持的NZ格式新增NZ_C0_16格式。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 需求门槛用例验证 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4708 | 3 个月前 | |
add op-plugin files of mxfp4 gmm Co-authored-by: jayshu<shuhaojie@huawei.com> # message auto-generated for no-merge-commit merge: !4661 merge jayshu into master add op-plugin files of mxfp4 gmm Created-by: jayshu Commit-by: jayshu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 本次PR扩展了npu_grouped_matmul操作对A4W4 MXFP量化格式的判定支持。原实现仅能识别torch_npu.float4_e2m1fn_x2数据类型,导致当输入或权重张量使用torch_npu.float4_e1m2fn_x2格式时,元注册函数无法正确判定其为A4W4 MXFP格式,从而影响后续量化计算路径的正确性 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” torch资料,在黄区IDP呈现 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 泛化测试,已新增ut,泛化测试结果如下:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4661 | 3 个月前 | |
Fix grouped matmul swiglu quant NZ shape Co-authored-by: wang_ziqi<wangziqi4@huawei.com> # message auto-generated for no-merge-commit merge: !4986 merge gmm_swiglu_quant_bugfix into master Fix grouped matmul swiglu quant NZ shape Created-by: wang-ziqi-code Commit-by: wang_ziqi Merged-by: ascend-robot Description: # 【合入来源】 - [ ] 需求 - [x] 问题单:https://atomgit.com/Ascend/op-plugin/issues/84 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 本次修复 GroupedMatmulSwigluQuant / GroupedMatmulSwigluQuantV2 在 NZ、packed INT4/INT32 等场景下的输出 shape 推导问题。 问题根因是 op-plugin 部分路径从 weight 的物理 shape 推导逻辑 N。但在 NZ 或 INT4/INT32 packed 场景中,weight 的 shape 表达的是分形/打包后的存储形态,不等价于还原后的逻辑矩阵 N。例如 packed weight 的尾轴可能是 N/8,5D NZ weight 中的某些维度也可能表示 K/16 或分形块大小,继续使用 weight.size(2) 会导致 op-plugin 预分配的 output 与 CANN 实际 infer shape 不一致。 对照 CANN 逻辑后,本次按如下规则适配: 1. V1 npu_grouped_matmul_swiglu_quant - C++ opapi 改为从 weight_scale.sizes().back() 推导逻辑 N。 - Python meta 同步改为从 weight_scale.size(-1) 推导输出 shape。 - 保持输出 dtype 和其他 shape 规则不变:output=(M,N/2),output_scale=(M),output_offset=scalar。 2. V2 npu_grouped_matmul_swiglu_quant_v2 - 只调整 NZ 场景的 N 来源,ND 场景维持主干已有逻辑。 - 非 MX NZ 场景从 weightScale 尾轴获取逻辑 N,覆盖 A8W8、A8W4/A4W4 per-channel/per-group、INT32 packed。 - MX NZ 场景中 weightScale 为 4D,最后一维固定为 2,不能取尾轴。按 CANN 规则,非转置取 weightScale.size(2),转置取 weightScale.size(1)。 - 补充 NZ 转置 stride 判断,与 CANN 对最后两维转置连续视图的判断保持一致。 - 保留现有 output/outputScale dtype 和分配分支不变,只替换 NZ 场景的逻辑 N 来源。 3. V2 Python meta - npu_grouped_matmul_swiglu_quant_v2_meta 同步按 CANN 图模式 infer shape 规则从 weightScale 推导逻辑 N。 - 非 MX 取 weightScale 尾轴;MX 要求 weightScale 为 4D,并按转置状态取 dim1/dim2。 - meta 层不依赖 NPU internal format,也不复刻 runtime opapi 的 SoC/internal format 分支,避免 fake/meta 阶段基于 packed weight 物理 shape 误推输出 shape。 4. 注释补充 - 在 V1/V2 C++ 关键 shape 推导处补充注释,说明逻辑 N 来自 CANN 的 weightScale 约束,避免后续重新按 packed/NZ weight 物理 shape 推导。 - 在 V2 转置判断处补充注释,说明 batch stride 校验是为了匹配 CANN 的转置连续视图规则。 - 在 V2 meta 关键 shape 推导处补充注释,说明 meta 对齐 CANN 图模式 infer shape,不从 packed/NZ weight storage 推导逻辑 N。 # 【测试补充】 新增/调整 UT 覆盖如下: - test/core_tests/test_fake_tensor.py - V1 A8W8 NZ fake/meta shape 回归。 - V1 A8W4 INT32 packed NZ fake/meta shape 回归。 - V1 A8W4 per-group NZ fake/meta shape 回归。 - V2 A8W4 INT32 packed fake/meta shape 回归:验证 meta 从 weightScale 推导逻辑 N。 - V2 MX 4D weightScale fake/meta shape 回归:验证 meta 不使用 weight.size(2) 或 weightScale 尾轴误推 N。 - 原有 V2 fake 用例因 npu_format_cast 无 fake impl 保持跳过,V2 meta shape 回归由新增 shape-only 用例覆盖。 - test/test_custom_ops/test_npu_grouped_matmul_swiglu_quant.py - V1 A8W8 NZ custom shape 回归。 - V1 A8W4 INT32 packed NZ custom shape 回归。 - V1 A8W4 per-group NZ custom shape 回归。 - test/test_custom_ops/test_npu_grouped_matmul_swiglu_quant_v2.py - V2 A8W4 INT32 packed NZ shape 回归:未修复版本会因 output 预分配 shape 与 CANN 期望不一致失败,修复后通过。 - V2 A8W8 NZ shape 回归:确认 int8 常规 NZ 场景不回归。 - V2 A8W4 per-group NZ shape 回归:确认 weightScale=(E,K_group_num,N) 时按尾轴推导逻辑 N。 - Ascend950 FP8 MX NZ 非转置 smoke:覆盖合法 950 WeightNzV2 调用链和 MX 参数组合;950 real custom 受 CANN CheckMXShape 约束,不强行构造 output shape mismatch。 已跳过两个存量 Ascend950 MX 数值 reference 用例,因为当前 CPU golden 不支持 float8/MXFP4 输入计算,该问题与本次 shape 修复无关。 # 【资料变更】 不涉及 public 文档变更。 # 【接口变更】 不涉及 public API / YAML schema 变更。 # 【功能验证】 - test/core_tests/test_fake_tensor.py  - test/test_custom_ops/test_npu_grouped_matmul_swiglu_quant.py  - test/test_custom_ops/test_npu_grouped_matmul_swiglu_quant_v2.py - Ascend 950:  - Ascend 910B:  # 【CheckList】 - [x] C++ / meta shape 推导已按 CANN 逻辑修正 - [x] 新增用例已覆盖 V1/V2 NZ packed、per-group 和 int8 回归场景 - [x] 新增用例已补充场景注释 - [x] 950 MX NZ real custom 用例范围已按 CANN 约束收敛 - [ ] CI 流水线执行通过 See merge request: Ascend/op-plugin!4986 | 2 个月前 | |
fix: grouped matmul swiglu quant v2 mxfp4 shape infer Co-authored-by: wang_ziqi<wangziqi4@huawei.com> # message auto-generated for no-merge-commit merge: !5049 merge gmm_bugfix into master fix: grouped matmul swiglu quant v2 mxfp4 shape infer Created-by: wang-ziqi-code Commit-by: wang_ziqi Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 https://atomgit.com/Ascend/op-plugin/issues/84 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修复 npu_grouped_matmul_swiglu_quant_v2 在 Ascend950 MXFP4 / packed FP4 场景下的 output shape 推导问题。 1. 对齐 CANN infer shape 逻辑,MX 场景下 weightScale 为 [E, ceil(K/64), N, 2],逻辑 N 应取 weightScale.dim2,不能按转置 view 或 FP4 uint8 物理存储再做额外补偿。 2. npu_grouped_matmul_swiglu_quant_v2_meta 中移除旧的 FP4_IN_INT8 output/outputScale shape 补偿逻辑,统一按 CANN 输出: - output = [M, N / 2] - outputScale = [M, ceil((N / 2) / 64), 2] 3. GroupedMatmulSwigluQuantV2NpuOpapi.cpp 中保留 5D NZ 和 950 逻辑 3D weight 的路径区分: - 5D NZ 场景从 weightScale 推导逻辑 N。 - Ascend950 逻辑 3D weight 场景继续从 weight.size(2) 推导 N。 4. 新增 fake tensor 和 Ascend950 shape-only 用例,覆盖 MXFP4 input + FP8/FP4 output 的 shape 推导,避免 CPU golden 当前不支持 packed float4 MX 输入的问题影响回归看护。 # 【资料变更】 不涉及。 # 【接口变更】 不涉及 public API / YAML / schema 变更。 # 【功能验证】 新增/调整用例: 1. test/core_tests/test_fake_tensor.py - 新增 Ascend950 MXFP4 fake tensor shape 回归,覆盖 FP8 output 和 FP4 output。 - 校验 output/outputScale shape 与 CANN infer shape 一致。 2. test/test_custom_ops/test_npu_grouped_matmul_swiglu_quant_v2.py - 新增 Ascend950 MXFP4 shape-only 后端用例。 - 覆盖 x_dtype/weight_dtype=torch_npu.float4_e2m1fn_x2,weight_scale_dtype/x_scale_dtype=torch_npu.float8_e8m0fnu。 - 校验 output/outputScale shape 和 dtype,不做数值 golden。 - **910B**   - **950**   # 【CheckList】 - [x] 代码注释完整,关键 shape 推导原因已说明 - [x] 参数合法性沿用现有校验逻辑 - [x] PR 标题建议使用 fix: grouped matmul swiglu quant v2 mxfp4 shape infer - [ ] CI 执行通过 ``` See merge request: Ascend/op-plugin!5049 | 2 个月前 | |
feat: Ascend950比较类算子device校验及平台隔离 Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !5286 merge brc_pta_fix_26.1.0 into 26.1.0 feat: Ascend950比较类算子device校验及平台隔离 Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: ascend-robot Description: # 【合入来源】 - [x] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 关联 Issue:https://gitcode.com/Ascend/op-plugin/issues/198 # 【修改方案】 1. 为比较类算子(equal、greater、greater_equal、less、less_equal、not_equal、maximum、minimum)在 Ascend950 平台上补充 device 校验逻辑,确保算子在 950 硬件上正确执行 2. 新增平台隔离判断,在 op_api_common.h 中添加 950 平台的设备类型检查工具函数 3. 各算子 op_api 层引入 950 分支的 device 校验路径,对不支持的数据类型和平台组合进行拦截 涉及文件: - op_plugin/utils/op_api_common.h:新增 950 平台 device 校验公共函数 - op_plugin/ops/opapi/EqKernelNpuOpApi.cpp:equal 算子 950 device 校验 - op_plugin/ops/opapi/GeKernelNpuOpApi.cpp:greater_equal 算子 950 device 校验 - op_plugin/ops/opapi/GtKernelNpuOpApi.cpp:greater 算子 950 device 校验 - op_plugin/ops/opapi/LeKernelNpuOpApi.cpp:less_equal 算子 950 device 校验 - op_plugin/ops/opapi/LtKernelNpuOpApi.cpp:less 算子 950 device 校验 - op_plugin/ops/opapi/NeKernelNpuOpApi.cpp:not_equal 算子 950 device 校验 - op_plugin/ops/opapi/MaxKernelNpuOpApi.cpp:maximum 算子 950 device 校验 - op_plugin/ops/opapi/MinKernelNpuOpApi.cpp:minimum 算子 950 device 校验 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 - 比较类算子在 Ascend950 平台上的 device 校验路径覆盖 - 不支持的 dtype/platform 组合被正确拦截 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5286 | 1 个月前 | |
[feat] aclnnHardswishBackwardV2 has the same boundary values with the community Co-authored-by: chenshuai<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !4978 merge feat519 into master [feat] aclnnHardswishBackwardV2 has the same boundary values with the community 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 hardswish正反向在pytorch社区2.8版本以上有变动过边界值。aclnnHardswishBackwardV2算子当前已经把这个修改做到了cann里面,删掉op中这个关于这个变动的适配。正向不变即可。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4978 | 2 个月前 | |
fix histc bug: histc supports float16 input. Co-authored-by: zzhongmin<zhongmin23@huawei.com> # message auto-generated for no-merge-commit merge: !4565 merge histc_fix into master fix histc bug: histc supports float16 input. Created-by: zzhongmin Commit-by: zzhongmin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 之前代码对齐cuda校验逻辑对float16输入进行了拦截 AclnnHistc算子支持float16输入,故修改放行,对类型的校验与cpu对齐。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 / # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4565 | 4 个月前 | |
| 1 年前 | ||
[fix] 兼容性修改 Co-authored-by: l00881990<lixinyu68@huawei.com> # message auto-generated for no-merge-commit merge: !5516 merge cherry-pick-mr-5512-1784623751094-auto into 26.1.0 [fix] 兼容性修改 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 A5 和A2 区分开,A5 走新分支,A2 a3 原分支 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 “不涉及” # 【功能验证】 A5 不受影响 image.png A3走index_add # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5516 | 29 天前 | |
rename 910_95 Co-authored-by: MrMC-<shiqunze@h-partners.com> # message auto-generated for no-merge-commit merge: !4108 merge master-re950 into master rename 910_95 Created-by: MrMC- Commit-by: MrMC- 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!4108 | 6 个月前 | |
| 11 个月前 | ||
Fix test_torch index dfx checks Co-authored-by: jiangna1111<jiangna12@huawei.com> # message auto-generated for no-merge-commit merge: !4885 merge pta-test-torch-index-fixes into master Fix test_torch index dfx checks Created-by: jiangna1111 Commit-by: jiangna1111 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 Fixes [[Bug]: PyTorch test_torch 部分用例在NPU后端 DFX 行为未对齐](https://gitcode.com/Ascend/pytorch/issues/1830) 本 PR 目的为修复 PyTorch 官方 test/test_torch.py 社区用例在 NPU 后端上的 DFX 对齐问题。相关用例包括: # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用 1、2、3...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. - op_plugin/ops/opapi/IndexAddKernelNpuOpApi.cpp - 在 index_add_out 和 index_add 两个入口中,除了操作维度 dim 外,其他剩余维度 shape 也要验证一致。不一致抛出错误。 - PyTorch 原生 index_func_meta_impl 对 index_add 会检查 self_sizes == source_sizes,其中 self_sizes/source_sizes 已经排除了指定维度。 2. - op_plugin/ops/opapi/IndexPutKernelNpuOpApi.cpp - op_plugin/ops/aclops/IndexPutKernelNpu.cpp - 检查 self 和 value , indices,检查 self 和每个有效 index tensor 之间不能存在内存重叠。 3. - torchnpugen/struct/struct_codegen.py - 增加 ${memory_overlap_checks} 占位,仅当生成函数名为 index_copy_ 时,注入以下检查: cpp at_npu::native::assert_no_internal_overlap(self); at_npu::native::assert_no_overlap(self, index); at_npu::native::assert_no_overlap(self, source); - 为生成的 C++ 文件增加 NPUMemoryOverlap.h 头文件,否则 assert_no_overlap 等函数声明不可见,编译会失败。 4. index_fill_npu_* 用例说明。 - 当前 op-plugin master 已包含 complex scalar 到非 complex tensor 的提前拦截逻辑,本 PR 主要补齐 index_add、index_put_、index_copy_ 相关 DFX 检查。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 验证环境: - CANN:cann8.3 - PyTorch:2.7.1 - op-plugin:master 验证测试用例: - test_index_add_cornercase - test_index_copy_mem_overlap_npu - test_index_put_mem_overlap_npu - test_index_fill_npu_bfloat16 - test_index_fill_npu_bool - test_index_fill_npu_float16 - test_index_fill_npu_float32 - test_index_fill_npu_int32 - test_index_fill_npu_int64 验证结果: Result - [PASS] test_index_add_cornercase - [PASS] test_storage_error - [PASS] test_index_copy_mem_overlap_npu - [PASS] test_index_fill_npu_bfloat16 - [PASS] test_index_fill_npu_bool - [PASS] test_index_fill_npu_float16 - [PASS] test_index_fill_npu_float32 - [PASS] test_index_fill_npu_int32 - [PASS] test_index_fill_npu_int64 - [PASS] test_index_put_mem_overlap_npu # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4885 | 2 个月前 | |
!1713 fix ops * fix ops | 2 年前 | |
feat: add npu_indexing opapi adapt Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !4243 merge op-indexing into master feat: add npu_indexing opapi adapt Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) - npu_indexing 算子支持 opapi ,调用 aclnnStridedSlice # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 - 新增 UT test/test_custom_ops/test_npu_indexing.py  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4243 | 5 个月前 | |
| 1 年前 | ||
add iou op Co-authored-by: zhangyinxia<zhangyinxia@huawei.com> # message auto-generated for no-merge-commit merge: !4910 merge npu_iou into master add iou op Created-by: zhangyinxia Commit-by: zhangyinxia 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能力等内容) 新增iou算子A5平台支持,对接aclnn算子,A2,A3保持不变 详见设计文档:https://gitcode.com/Ascend/op-plugin/issues/86 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 新增算子支持A5平台 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ut验证:  atk验证: 存在2%用例精度不达标,已提单到对应的算子组件。不影响当前算子对接流程功能。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4910 | 2 个月前 | |
[fix] isin_out API Consistency Co-authored-by: LiNuohang<linuohang@huawei.com> # message auto-generated for no-merge-commit merge: !4327 merge copy into master [fix] isin_out API Consistency 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 isin_out API 要先resize out,拉齐原生structured行为 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 test_out_isin_npu_float32 Ran 1 test in 1.051s OK # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4327 | 5 个月前 | |
add dst_type_max for npu_kronecker_quant Co-authored-by: fbbccc<fangbochen@huawei.com> # message auto-generated for no-merge-commit merge: !4771 merge FQ into master add dst_type_max for npu_kronecker_quant Created-by: fbbccc Commit-by: fbbccc 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能力等内容) 为 flatquant 算子新增一个可选的 dst_type_max 参数。该参数允许用户在量化过程中自定义目标数据类型的最大值,从而提供更灵活的量化范围控制能力,以满足不同精度和范围需求的量化场景。 修改了 op_plugin_functions.yaml 配置文件中 npu_kronecker_quant 算子的函数签名,新增了可选的浮点型参数 float? dst_type_max=None。在算子实现内部,该参数被提取并赋予默认值后,传递给底层的NPU算子 aclnnFlatQuant,以支持在量化计算中使用用户指定的最大值。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 为 flatquant 算子新增一个可选的 dst_type_max 参数,新增了可选的浮点型参数 float? dst_type_max=None。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已本地验证通过   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4771 | 3 个月前 | |
| 1 年前 | ||
QLI/QSFA数据类型校验 Co-authored-by: number-2-bo-bo<jinying22@huawei.com> # message auto-generated for no-merge-commit merge: !4553 merge master into master QLI/QSFA数据类型校验 Created-by: jinyingbo Commit-by: number-2-bo-bo 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能力等内容) 增加数据类型的校验,dtype在不是hifloat8时应当使用默认值 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4553 | 4 个月前 | |
[feat] add k_cache_dtype and c_kv_dtype parameters to kvRmsNormRopeCache PTA interface Co-authored-by: developer<developer@huawei.com> # message auto-generated for no-merge-commit merge: !4336 merge kv_pta_support_hifloat8 into master [feat] add k_cache_dtype and c_kv_dtype parameters to kvRmsNormRopeCache PTA interface Created-by: HelloWord-LuXin Commit-by: developer 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/op-plugin!4336 | 5 个月前 | |
add _lstm_npu and _lstm_npu_backward docs. Co-authored-by: shi-jiaxin9<shijiaxin10@h-partners.com> # message auto-generated for no-merge-commit merge: !4382 merge master into master add _lstm_npu and _lstm_npu_backward docs. Created-by: shi-jiaxin9 Commit-by: shi-jiaxin9 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4382 | 5 个月前 | |
fix(lstm): fallback when aclnn params size unsupported Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !5080 merge master into master fix(lstm): fallback when aclnn params size unsupported 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 修复lstm算子在输入超出4位的情况下无法识别参数的问题,回退fallback进行参数解析并实现 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 已补充测试用例 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5080 | 2 个月前 | |
torch.nn.functional.gelu preserves api consistency. Co-authored-by: shi-jiaxin9<shijiaxin10@h-partners.com> # message auto-generated for no-merge-commit merge: !4096 merge master into master torch.nn.functional.gelu preserves api consistency. Created-by: shi-jiaxin9 Commit-by: shi-jiaxin9 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**: torch.nn.functional.gelu preserves api consistency. **Special notes for your reviewers**: See merge request: Ascend/op-plugin!4096 | 6 个月前 | |
torch.nn.functional.layer_norm calls aclnnLayerNorm only on A5 Co-authored-by: chengpeng25<chengpeng9@huawei.com> # message auto-generated for no-merge-commit merge: !5474 merge 26.1.0_cp into 26.1.0 torch.nn.functional.layer_norm calls aclnnLayerNorm only on A5 Created-by: chengpeng25 Commit-by: chengpeng25 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**#283**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > A5只提供aclnnLayerNorm分支 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 开启和关闭兼容性环境变量,A5走的是aclnnLayerNorm  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5474 | 1 个月前 | |
[Sync] Fix NPU ldexp integer exponent dispatch Co-authored-by: wang_ziqi<wangziqi4@huawei.com> # message auto-generated for no-merge-commit merge: !5150 merge bugfix_ldexp_26.1.0 into 26.1.0 [Sync] Fix NPU ldexp integer exponent dispatch Created-by: wang-ziqi-code Commit-by: wang_ziqi Merged-by: ascend-robot Description: # 【合入来源】 - [ ] 需求 - [x] 问题单 https://atomgit.com/Ascend/op-plugin/issues/147 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1. 为 PyTorch 2.11 及以上版本注册 ldexp_stub 的 PrivateUse1 实现,解决浮点底数与整数指数执行 torch.ldexp 时缺少 NPU kernel 的问题。 2. NPU kernel 复用 pow + mul_out 完成计算,并保持 PyTorch 原生 _pow2 的数据类型处理规则。 3. 使用 VERSION_BETWEEN(V2R11, VERSION_NEWEST) 控制编译。PyTorch 2.10 及以下版本继续使用原生 composite 实现。 4. 仅补充底层 DispatchStub,不接管 aten::ldexp,保持原有 functional、out、in-place 和 autograd 链路不变。 5. 新增 ldexp 单元测试,覆盖 functional、Tensor method、out、in-place、广播、非连续 Tensor、特殊值和 backward 场景。 # 【资料变更】 不涉及。 # 【接口变更】 不涉及客户可见接口变更。 内部新增 ldexp_stub 的 PrivateUse1 kernel 注册,不改变 torch.ldexp 的接口及调用方式。 # 【功能验证】 新增 test/test_base_ops/test_ldexp.py,覆盖: - float16 + int64 - bfloat16 + int32 - float32 + int64 - torch.ldexp、Tensor.ldexp、out 和 ldexp_ - 广播、零维指数、非连续输入和非连续输出 - 0、inf、正负大指数等特殊值 - CPU/NPU backward 梯度对比 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5150 | 2 个月前 | |
feat: Ascend950比较类算子device校验及平台隔离 Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !5286 merge brc_pta_fix_26.1.0 into 26.1.0 feat: Ascend950比较类算子device校验及平台隔离 Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: ascend-robot Description: # 【合入来源】 - [x] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 关联 Issue:https://gitcode.com/Ascend/op-plugin/issues/198 # 【修改方案】 1. 为比较类算子(equal、greater、greater_equal、less、less_equal、not_equal、maximum、minimum)在 Ascend950 平台上补充 device 校验逻辑,确保算子在 950 硬件上正确执行 2. 新增平台隔离判断,在 op_api_common.h 中添加 950 平台的设备类型检查工具函数 3. 各算子 op_api 层引入 950 分支的 device 校验路径,对不支持的数据类型和平台组合进行拦截 涉及文件: - op_plugin/utils/op_api_common.h:新增 950 平台 device 校验公共函数 - op_plugin/ops/opapi/EqKernelNpuOpApi.cpp:equal 算子 950 device 校验 - op_plugin/ops/opapi/GeKernelNpuOpApi.cpp:greater_equal 算子 950 device 校验 - op_plugin/ops/opapi/GtKernelNpuOpApi.cpp:greater 算子 950 device 校验 - op_plugin/ops/opapi/LeKernelNpuOpApi.cpp:less_equal 算子 950 device 校验 - op_plugin/ops/opapi/LtKernelNpuOpApi.cpp:less 算子 950 device 校验 - op_plugin/ops/opapi/NeKernelNpuOpApi.cpp:not_equal 算子 950 device 校验 - op_plugin/ops/opapi/MaxKernelNpuOpApi.cpp:maximum 算子 950 device 校验 - op_plugin/ops/opapi/MinKernelNpuOpApi.cpp:minimum 算子 950 device 校验 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 - 比较类算子在 Ascend950 平台上的 device 校验路径覆盖 - 不支持的 dtype/platform 组合被正确拦截 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5286 | 1 个月前 | |
fix deterministic in LIG Co-authored-by: DaiFu<daifu2@huawei.com> # message auto-generated for no-merge-commit merge: !4342 merge 2603dsa into master fix deterministic in LIG Created-by: daifu1234567 Commit-by: DaiFu 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能力等内容) LIG中确定性计算参数修改为从context中获取 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已补充ut,精度问题算子侧定位中  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4342 | 5 个月前 | |
[fix] Refine shape inference for optional outputs of LI and SFA operators. Co-authored-by: zzzyh22<zhangyaohui22@huawei.com> # message auto-generated for no-merge-commit merge: !4400 merge master into master [fix] Refine shape inference for optional outputs of LI and SFA operators. Created-by: zzzyh22 Commit-by: zzzyh22 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能力等内容) LI和SFA算子,当输出flag为false时,可选输出shape推导为[0]。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4400 | 5 个月前 | |
[feat]support linalg_cholesky Co-authored-by: zqwenn<zhangqiongwen@huawei.com> # message auto-generated for no-merge-commit merge: !3648 merge master_linalg_cholesky into master [feat]support linalg_cholesky Created-by: zqwenn Commit-by: zqwenn 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**: 新增linalg_cholesky的适配 **Special notes for your reviewers**: 已atk验证,ut后面补下 See merge request: Ascend/op-plugin!3648 | 8 个月前 | |
fix linalg_cross bug Co-authored-by: zzhongmin<zhongmin23@huawei.com> # message auto-generated for no-merge-commit merge: !4338 merge fix_linalg_cross_bug into master fix linalg_cross bug Created-by: zzhongmin Commit-by: zzhongmin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1.linalg_cross op_api分支自动生成生成时没有校验逻辑,改为手写实现,并添加校验逻辑 2.做cross维度为3检查,通过wrap_dim校验支持dim传入负数,对齐cuda # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4338 | 5 个月前 | |
[feat] support aclnnLinalgVectorNorm Co-authored-by: ffmh<fengminghao2@huawei.com> # message auto-generated for no-merge-commit merge: !4340 merge linalg_vector_norm into master [feat] support aclnnLinalgVectorNorm Created-by: ffmh Commit-by: ffmh 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能力等内容) 新cann版本去除aclop拦截 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ut中删除 ord=[-2.2.'nuc'] 场景,为已知算子错误,并非前向兼容问题,依赖 pr https://gitcode.com/cann/ops-math/pull/1128,本地更新cann包验证结果:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4340 | 5 个月前 | |
[fix] Refine error message of linalg_qr. Co-authored-by: maoyuanpeng1<maoyuanpeng@huawei.com> # message auto-generated for no-merge-commit merge: !4278 merge br_fix_linalg_qr_log into master [fix] Refine error message of linalg_qr. Created-by: maoyuanpeng1 Commit-by: maoyuanpeng1 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > https://gitcode.com/Ascend/pytorch/issues/1546 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 linalg.qr 算子 当输入的维度小于2时(即不是一个矩阵时),报错信息与原生torch不一致。 修改报错信息,对齐原生torch。 aclop和opapi一同修改。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 只修改报错信息 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4278 | 5 个月前 | |
fix mixed-dtype handling in linalg.solve_triangular Co-authored-by: zzhongmin<zhongmin23@huawei.com> # message auto-generated for no-merge-commit merge: !4351 merge fix_linalg_lu_factor_ex_bug into master fix mixed-dtype handling in linalg.solve_triangular Created-by: zzhongmin Commit-by: zzhongmin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 本次修改在LinalgSolveTriangularKernelNpuOpApi.cpp中补充了mixed dtype兜底逻辑 1.校验逻辑对齐cuda,不对A b的类型做一致性检查 2.当broadcast后B和A的dtype不一致时,将B对齐到A的dtype(暂不考虑显存增加问题) # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 通过用例test_ops.py -v -k test_fake_crossref_backward_amp_linalg_lu_factor_ex_npu_float32 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4351 | 4 个月前 | |
fix: revert structured SVD implementation Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !5175 merge revertSvd into 26.1.0 fix: revert structured SVD implementation Created-by: yvjc Commit-by: yvjc Merged-by: ascend-robot Description: https://gitcode.com/Ascend/pytorch/issues/2384 <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 当前版本的svd 接口显存占用过高, 回退到显存正常版本. # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 测试svd的显存占用与标杆对齐. # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5175 | 2 个月前 | |
[fix] Enable cube_math_type passthrough for matmul-related ops Co-authored-by: adelaideliu<adelaideliu@163.com> # message auto-generated for no-merge-commit merge: !4618 merge master_cube_math_type into master [fix] Enable cube_math_type passthrough for matmul-related ops Created-by: adelaideliu Commit-by: adelaideliu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 aclnnAddmv, aclnnAddbmm, aclnnBaddbmm, aclnnInplaceAddbmm, aclnnInplaceBaddbmm, aclnnBatchMatMul, aclnnBatchMatMulWeightNz, aclnnFusedMatmul, aclnnGemm, aclnnAddmm, aclnnInplaceAddmm, aclnnAddmmWeightNz, aclnnMatmul, aclnnMatmulWeightNz, aclnnMm, aclnnMv, aclnnTransposeBatchMatMul, aclnnTransposeBatchMatMulWeightNz增加cube_math_type接口 # 【资料变更】 “不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4618 | 4 个月前 | |
!1713 fix ops * fix ops | 2 年前 | |
| 1 年前 | ||
!1713 fix ops * fix ops | 2 年前 | |
修复logspace算子报错信息不一致和非连续精度问题 Co-authored-by: maoyuanpeng1<maoyuanpeng@huawei.com> # message auto-generated for no-merge-commit merge: !4235 merge br_fix_log_space into master 修复logspace算子报错信息不一致和非连续精度问题 Created-by: maoyuanpeng1 Commit-by: maoyuanpeng1 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > https://gitcode.com/Ascend/pytorch/issues/1546 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 API一致性问题: 1. logspace算子未正确报错。当start或end为复数,dtype为非复数时,应该报错。 2. logspace.out算子精度问题。当输入的out其shape不等于steps且非连续时计算结果有错误。 3. linalg.qr算子报错信息与原生torch不一致。当输入不是一个matrix,报错信息不一致。 # 【修改方案】 ### 问题一: 复现脚本: with self.assertRaisesRegex(RuntimeError, r"torch.logspace\(\): inferred dtype"): torch.logspace(0, 1j, 5, device=device, dtype=dtype) **原因**: 原生logspace算子走的是组合算子流程。 yaml - func: logspace(Scalar start, Scalar end, int steps, float base=10.0, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor dispatch: CompositeExplicitAutograd: logspace 原生实现: Tensor logspace( const Scalar& start, const Scalar& end, int64_t steps, double base, std::optional<ScalarType> dtype, std::optional<Layout> layout, std::optional<Device> device, std::optional<bool> pin_memory) { // See [Note: hacky wrapper removal for TensorOptions] TensorOptions options = TensorOptions().dtype(dtype).layout(layout).device(device).pinned_memory( pin_memory); TORCH_CHECK(steps >= 0, "number of steps must be non-negative"); auto result_options = linspace_logspace_infer_options(start, end, options, "torch.logspace()"); Tensor result = at::empty({steps}, result_options); return at::logspace_out(result, start, end, steps, base); } 原生实现在linspace_logspace_infer_options进行了类型检测,并最终调用了empty和logspace_out算子。 **解决方法**: 删除 aten::logspace 在 privateuse1 上的注册和实现,改为复用原生 torch 在 CompositeExplicitAutograd 上的实现。 ### 问题二: 复现脚本: x = torch.zeros(2, 3, device='npu', dtype=torch.float32) torch.logspace(0, 3, 4, base=2, out=x.narrow(1, 1, 2)) x结果应为[[0, 1, 2[, [0, 4, 8]],但结果为[[0, 1, 2[, [4, 8, 0]] **原因**: out=x.narrow(1,1,2) 是一个非连续视图,元数据是 size=[2,2], stride=[3,1], storage_offset=1,正确写入位置应是物理索引 [1,2,4,5]。 当前实现里 CheckOut(..., {steps}) 在 out.shape != {steps} 时会触发 resize_,把 out 重排成一维连续张量(stride 变成连续),写入映射变成 [1,2,3,4]。 因此 4,8 被写到了第二行前两列,结果变成 [[0,1,2],[4,8,0]],而不是 [[0,1,2],[0,4,8]]。本质是 resize_ 破坏了原非连续视图的 stride 语义。 **解决方法:** 1. 只在 out.numel() != steps 时才 out.resize_({steps})(容量不匹配才重置)。 2. out.numel() == steps 时保持原 out 的 shape/stride,不要改元数据; 3. LogSpaceD 对输出要求为1维,当out不为1维时,使用view生成临时1维张量。 ### 问题三: **解决方法**: 优化 linalg_qr 在输入维度 <= 2 时的报错信息。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4235 | 6 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
pta支持aclnn_lstm_cell算子 Co-authored-by: lby<liubuyu1@huawei.com> # message auto-generated for no-merge-commit merge: !4214 merge master into master pta支持aclnn_lstm_cell算子 Created-by: liubuyu1 Commit-by: lby Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 新增aclnn lstmcell算子接入,对标torch _thnn_fused_lstm_cell算子 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 atk用例执行pass ut用例pass 正反向执行pass # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4214 | 5 个月前 | |
feat: Ascend950比较类算子device校验及平台隔离 Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !5286 merge brc_pta_fix_26.1.0 into 26.1.0 feat: Ascend950比较类算子device校验及平台隔离 Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: ascend-robot Description: # 【合入来源】 - [x] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 关联 Issue:https://gitcode.com/Ascend/op-plugin/issues/198 # 【修改方案】 1. 为比较类算子(equal、greater、greater_equal、less、less_equal、not_equal、maximum、minimum)在 Ascend950 平台上补充 device 校验逻辑,确保算子在 950 硬件上正确执行 2. 新增平台隔离判断,在 op_api_common.h 中添加 950 平台的设备类型检查工具函数 3. 各算子 op_api 层引入 950 分支的 device 校验路径,对不支持的数据类型和平台组合进行拦截 涉及文件: - op_plugin/utils/op_api_common.h:新增 950 平台 device 校验公共函数 - op_plugin/ops/opapi/EqKernelNpuOpApi.cpp:equal 算子 950 device 校验 - op_plugin/ops/opapi/GeKernelNpuOpApi.cpp:greater_equal 算子 950 device 校验 - op_plugin/ops/opapi/GtKernelNpuOpApi.cpp:greater 算子 950 device 校验 - op_plugin/ops/opapi/LeKernelNpuOpApi.cpp:less_equal 算子 950 device 校验 - op_plugin/ops/opapi/LtKernelNpuOpApi.cpp:less 算子 950 device 校验 - op_plugin/ops/opapi/NeKernelNpuOpApi.cpp:not_equal 算子 950 device 校验 - op_plugin/ops/opapi/MaxKernelNpuOpApi.cpp:maximum 算子 950 device 校验 - op_plugin/ops/opapi/MinKernelNpuOpApi.cpp:minimum 算子 950 device 校验 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 - 比较类算子在 Ascend950 平台上的 device 校验路径覆盖 - 不支持的 dtype/platform 组合被正确拦截 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5286 | 1 个月前 | |
!1713 fix ops * fix ops | 2 年前 | |
!1713 fix ops * fix ops | 2 年前 | |
| 1 年前 | ||
| 1 年前 | ||
修改AllGatherMatmul&MatmulAllReduceScatter&MatmulAllReduce算子的comm_mode默认值为ai_cpu Co-authored-by: Wangshuying5<wangshuying5@huawei.com> # message auto-generated for no-merge-commit merge: !5375 merge aicpu into 26.1.0 修改AllGatherMatmul&MatmulAllReduceScatter&MatmulAllReduce算子的comm_mode默认值为ai_cpu Created-by: WangShuying5 Commit-by: Wangshuying5 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/113 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 将comm_mode的默认值改为ai_cpu # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图    # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5375 | 1 个月前 | |
feat: MatmulAlltoAll AICPU适配 新增通信引擎参数comm_mode Co-authored-by: tongzy1242<tongzeyun@huawei.com> # message auto-generated for no-merge-commit merge: !4943 merge mma2a_commmode into master feat: MatmulAlltoAll AICPU适配 新增通信引擎参数comm_mode Created-by: tongzy1242 Commit-by: tongzy1242 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> 为了在MatmulAlltoAll和QuantMatmulAlltoAll算子中,支持用户指定HCCL通信引擎(AICPU或CCU),为算子PTA接口新增一个可选入参comm_mode。 [#2481](https://gitcode.com/cann/ops-transformer/issues/2481) - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) MatmulAlltoAll和QuantMatmulAlltoAll算子的PTA接口新增一个数据类型为str的可选入参comm_mode,默认值是None。 接口内部从aclnnV1接口改为调用aclnnV2接口,aclnnV2接口根据comm_mode调用通信引擎。如果传入的是None,则按空字符串调用aclnnV1接口。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” MatmulAlltoAll和QuantMatmulAlltoAll算子的PTA接口新增一个数据类型为str的可选入参comm_mode,默认值是None。 - func: npu_matmul_all_to_all(Tensor x1, Tensor x2, str hcom, int world_size, Tensor? bias=None, int[]? all2all_axes=None, **str? comm_mode=None**) -> Tensor - func: npu_quant_matmul_all_to_all(Tensor x1, Tensor x2, str hcom, int world_size, Tensor? bias=None, Tensor? x1_scale=None, Tensor? x2_scale=None, Tensor? common_scale=None, Tensor? x1_offset=None, Tensor? x2_offset=None, int? x1_quant_mode=None, int? x2_quant_mode=None, int? common_quant_mode=None, int[]? group_sizes=None, int[]? all2all_axes=None, int? comm_quant_dtype=None, int? x1_dtype=None, int? x2_dtype=None, int? x1_scale_dtype=None, int? x2_scale_dtype=None, int? output_scale_dtype=None, int? comm_scale_dtype=None, int? y_dtype=None, **str? comm_mode=None**) -> Tensor # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 本地验证pass  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4943 | 2 个月前 | |
[fix] Enable cube_math_type passthrough for matmul-related ops Co-authored-by: adelaideliu<adelaideliu@163.com> # message auto-generated for no-merge-commit merge: !4618 merge master_cube_math_type into master [fix] Enable cube_math_type passthrough for matmul-related ops Created-by: adelaideliu Commit-by: adelaideliu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 aclnnAddmv, aclnnAddbmm, aclnnBaddbmm, aclnnInplaceAddbmm, aclnnInplaceBaddbmm, aclnnBatchMatMul, aclnnBatchMatMulWeightNz, aclnnFusedMatmul, aclnnGemm, aclnnAddmm, aclnnInplaceAddmm, aclnnAddmmWeightNz, aclnnMatmul, aclnnMatmulWeightNz, aclnnMm, aclnnMv, aclnnTransposeBatchMatMul, aclnnTransposeBatchMatMulWeightNz增加cube_math_type接口 # 【资料变更】 “不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4618 | 4 个月前 | |
【feature】添加npu_matmul_compress_dequant pta接口 Co-authored-by: hellokitty911<lizhixi2@huawei.com> # message auto-generated for no-merge-commit merge: !4372 merge _matmul_compress_dequant into master 【feature】添加npu_matmul_compress_dequant pta接口 Created-by: hellokitty911 Commit-by: hellokitty911 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 offsetW 当前仅支持空指针传入 即:调用时不能传有效的 Tensor,只能传 None/空。 offsetX 当前仅支持 0 即:只能取 0,其它值不支持。 compressInfo 数组固定为:{8, 8, k, n, 1} k:由 x1 的第 2 维(即 x1.size(1))决定 n:由 scale 的第 2 维(即 scale.size(1))决定 输出形状 输出 Tensor 形状为 [M, N] M:x1 的第 1 维(即 x1.size(0)) N:bias 的第 2 维(即 bias.size(1)) 输出格式与数据类型 格式:ND(对应 ACL_FORMAT_ND) 数据类型:DT_FLOAT16 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及,添加npu_matmul_compress_dequant 接口的说明文档。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4372 | 5 个月前 | |
[fix] Enable cube_math_type passthrough for matmul-related ops Co-authored-by: adelaideliu<adelaideliu@163.com> # message auto-generated for no-merge-commit merge: !4618 merge master_cube_math_type into master [fix] Enable cube_math_type passthrough for matmul-related ops Created-by: adelaideliu Commit-by: adelaideliu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 aclnnAddmv, aclnnAddbmm, aclnnBaddbmm, aclnnInplaceAddbmm, aclnnInplaceBaddbmm, aclnnBatchMatMul, aclnnBatchMatMulWeightNz, aclnnFusedMatmul, aclnnGemm, aclnnAddmm, aclnnInplaceAddmm, aclnnAddmmWeightNz, aclnnMatmul, aclnnMatmulWeightNz, aclnnMm, aclnnMv, aclnnTransposeBatchMatMul, aclnnTransposeBatchMatMulWeightNz增加cube_math_type接口 # 【资料变更】 “不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4618 | 4 个月前 | |
[fix] Enable cube_math_type passthrough for matmul-related ops Co-authored-by: adelaideliu<adelaideliu@163.com> # message auto-generated for no-merge-commit merge: !4618 merge master_cube_math_type into master [fix] Enable cube_math_type passthrough for matmul-related ops Created-by: adelaideliu Commit-by: adelaideliu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 aclnnAddmv, aclnnAddbmm, aclnnBaddbmm, aclnnInplaceAddbmm, aclnnInplaceBaddbmm, aclnnBatchMatMul, aclnnBatchMatMulWeightNz, aclnnFusedMatmul, aclnnGemm, aclnnAddmm, aclnnInplaceAddmm, aclnnAddmmWeightNz, aclnnMatmul, aclnnMatmulWeightNz, aclnnMm, aclnnMv, aclnnTransposeBatchMatMul, aclnnTransposeBatchMatMulWeightNz增加cube_math_type接口 # 【资料变更】 “不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4618 | 4 个月前 | |
[fix][ops]MatmulReduceScatter算子修复string_view悬空指针 Co-authored-by: 陈佳乐<chenjiale56@huawei.com> # message auto-generated for no-merge-commit merge: !5383 merge 26.1.0 into 26.1.0 [fix][ops]MatmulReduceScatter算子修复string_view悬空指针 Created-by: chenjiale56 Commit-by: 陈佳乐 Merged-by: ascend-robot Description: Issue [#248](https://gitcode.com/Ascend/op-plugin/issues/248) <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修复MatmulReduceScatter算子base/quant接口下c10::string_view 悬空指针导致非阻塞模式下 group 名读到脏数据的问题。由于 EXEC_NPU_CMD 可能以非阻塞方式执行,string_view 所引用的原始字符串可能在此之前析构,导致指针悬空、读取脏数据。 修改方案:将 string_view 的内容复制到局部 std::string 对象中,再从中获取指针,确保在函数调用期间指针始终有效 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 测试用例来源:MC2自验证用例 结果:PASS  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5383 | 1 个月前 | |
feat: Ascend950比较类算子device校验及平台隔离 Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !5286 merge brc_pta_fix_26.1.0 into 26.1.0 feat: Ascend950比较类算子device校验及平台隔离 Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: ascend-robot Description: # 【合入来源】 - [x] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 关联 Issue:https://gitcode.com/Ascend/op-plugin/issues/198 # 【修改方案】 1. 为比较类算子(equal、greater、greater_equal、less、less_equal、not_equal、maximum、minimum)在 Ascend950 平台上补充 device 校验逻辑,确保算子在 950 硬件上正确执行 2. 新增平台隔离判断,在 op_api_common.h 中添加 950 平台的设备类型检查工具函数 3. 各算子 op_api 层引入 950 分支的 device 校验路径,对不支持的数据类型和平台组合进行拦截 涉及文件: - op_plugin/utils/op_api_common.h:新增 950 平台 device 校验公共函数 - op_plugin/ops/opapi/EqKernelNpuOpApi.cpp:equal 算子 950 device 校验 - op_plugin/ops/opapi/GeKernelNpuOpApi.cpp:greater_equal 算子 950 device 校验 - op_plugin/ops/opapi/GtKernelNpuOpApi.cpp:greater 算子 950 device 校验 - op_plugin/ops/opapi/LeKernelNpuOpApi.cpp:less_equal 算子 950 device 校验 - op_plugin/ops/opapi/LtKernelNpuOpApi.cpp:less 算子 950 device 校验 - op_plugin/ops/opapi/NeKernelNpuOpApi.cpp:not_equal 算子 950 device 校验 - op_plugin/ops/opapi/MaxKernelNpuOpApi.cpp:maximum 算子 950 device 校验 - op_plugin/ops/opapi/MinKernelNpuOpApi.cpp:minimum 算子 950 device 校验 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 - 比较类算子在 Ascend950 平台上的 device 校验路径覆盖 - 不支持的 dtype/platform 组合被正确拦截 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5286 | 1 个月前 | |
fix maxpool1d bug Co-authored-by: zzhongmin<zhongmin23@huawei.com> # message auto-generated for no-merge-commit merge: !4341 merge fix_maxpool1d_bug_new into master fix maxpool1d bug Created-by: zzhongmin Commit-by: zzhongmin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1.当环境变量TORCH_NPU_USE_COMPATIBLE_IMPL开启时,maxpool1d/maxpool2d走aclnnMaxPool2dWithIndices算子实现,输出结果的第二个值(indices),返回正确shape 2.A2 A3上maxpool1d/maxpool2d返回结果的第二个值(indices)的dtype,沿用A5方案(返回int32),暂不与cuda实现一致(返回int64) 3.接入aclnnMaxPool2dWithIndices算子后,补齐maxpool1dwithindices/maxpool2dwithindices正反向测试用例 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 test_ops.py中test_compare_cpu_nn_functional_max_pool1d_npu_float32测试用例通过 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4341 | 5 个月前 | |
fix maxpool1d bug Co-authored-by: zzhongmin<zhongmin23@huawei.com> # message auto-generated for no-merge-commit merge: !4341 merge fix_maxpool1d_bug_new into master fix maxpool1d bug Created-by: zzhongmin Commit-by: zzhongmin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1.当环境变量TORCH_NPU_USE_COMPATIBLE_IMPL开启时,maxpool1d/maxpool2d走aclnnMaxPool2dWithIndices算子实现,输出结果的第二个值(indices),返回正确shape 2.A2 A3上maxpool1d/maxpool2d返回结果的第二个值(indices)的dtype,沿用A5方案(返回int32),暂不与cuda实现一致(返回int64) 3.接入aclnnMaxPool2dWithIndices算子后,补齐maxpool1dwithindices/maxpool2dwithindices正反向测试用例 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 test_ops.py中test_compare_cpu_nn_functional_max_pool1d_npu_float32测试用例通过 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4341 | 5 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
| 11 个月前 | ||
[feat] add mhc_pre_backward Co-authored-by: hyhhh14<huangyuehua6@huawei.com> # message auto-generated for no-merge-commit merge: !4615 merge pre_grad into master [feat] add mhc_pre_backward Created-by: hyhhh14 Commit-by: hyhhh14 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 针对流形约束超连接架构(mHC)模块的需求,库上已有正向接口npu_mhc_pre,新增反向接口npu_mhc_pre_backward。 # 【资料变更】 不涉及 # 【接口变更】 新增npu_mhc_pre_backward算子的接口 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 1、单算子模式功能测试: 测试多个shape,精度均通过。 start test cases:[(1, 1024, 4, 5120)] current test case (1, 1024, 4, 5120) dx name:dx,a shapetorch.Size([1, 1024, 4, 5120]), b shapetorch.Size([1, 1024, 4, 5120]),c shapetorch.Size([1, 1024, 4, 5120]) 均方根误差 tensor(0.0090, dtype=torch.float64) tensor(0.0090, dtype=torch.float64) mare_rate=tensor(1., dtype=torch.float64)(2), mere_rate=tensor(0.3636, dtype=torch.float64)(1.2), rmse_rate=tensor(1.0000, dtype=torch.float64)(1.2) rmse_npu=tensor(0.0090, dtype=torch.float64), rmse_high_type=tensor(0.0090, dtype=torch.float64) PASS dphi name:dphi,a shapetorch.Size([24, 20480]), b shapetorch.Size([24, 20480]),c shapetorch.Size([24, 20480]) 均方根误差 tensor(0.0006, dtype=torch.float64) tensor(0.0006, dtype=torch.float64) mare_rate=tensor(1.0023, dtype=torch.float64)(2), mere_rate=tensor(0.0133, dtype=torch.float64)(1.2), rmse_rate=tensor(0.1618, dtype=torch.float64)(1.2) rmse_npu=tensor(0.0006, dtype=torch.float64), rmse_high_type=tensor(0.0006, dtype=torch.float64) PASS dalpha name:dalpha,a shapetorch.Size([3]), b shapetorch.Size([3]),c shapetorch.Size([3]) 均方根误差 tensor(0.0030, dtype=torch.float64) tensor(0.0038, dtype=torch.float64) mare_rate=tensor(0.0231, dtype=torch.float64)(2), mere_rate=tensor(0.0109, dtype=torch.float64)(1.2), rmse_rate=tensor(0.7697, dtype=torch.float64)(1.2) rmse_npu=tensor(0.0030, dtype=torch.float64), rmse_high_type=tensor(0.0038, dtype=torch.float64) PASS dbias name:dbias,a shapetorch.Size([24]), b shapetorch.Size([24]),c shapetorch.Size([24]) 均方根误差 tensor(0.0006, dtype=torch.float64) tensor(0.0006, dtype=torch.float64) mare_rate=tensor(0.0168, dtype=torch.float64)(2), mere_rate=tensor(0.0027, dtype=torch.float64)(1.2), rmse_rate=tensor(0.1503, dtype=torch.float64)(1.2) rmse_npu=tensor(0.0006, dtype=torch.float64), rmse_high_type=tensor(0.0006, dtype=torch.float64) PASS dgamma name:dgamma,a shapetorch.Size([20480]), b shapetorch.Size([20480]),c shapetorch.Size([20480]) 均方根误差 tensor(0.0031, dtype=torch.float64) tensor(0.0031, dtype=torch.float64) mare_rate=tensor(0.9998, dtype=torch.float64)(2), mere_rate=tensor(0.0267, dtype=torch.float64)(1.2), rmse_rate=tensor(0.7930, dtype=torch.float64)(1.2) rmse_npu=tensor(0.0031, dtype=torch.float64), rmse_high_type=tensor(0.0031, dtype=torch.float64) PASS 2、 ACLNNFUZZ框架测试单算子通路,门槛用例精度均通过。 使用ACLNNFUZZ框架进行泛化测试,结果均符合预期。 3、新增UT测试用例看护,自验证截图如下  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4615 | 3 个月前 | |
[feat] add mhc_pre_backward Co-authored-by: hyhhh14<huangyuehua6@huawei.com> # message auto-generated for no-merge-commit merge: !4615 merge pre_grad into master [feat] add mhc_pre_backward Created-by: hyhhh14 Commit-by: hyhhh14 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 针对流形约束超连接架构(mHC)模块的需求,库上已有正向接口npu_mhc_pre,新增反向接口npu_mhc_pre_backward。 # 【资料变更】 不涉及 # 【接口变更】 新增npu_mhc_pre_backward算子的接口 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 1、单算子模式功能测试: 测试多个shape,精度均通过。 start test cases:[(1, 1024, 4, 5120)] current test case (1, 1024, 4, 5120) dx name:dx,a shapetorch.Size([1, 1024, 4, 5120]), b shapetorch.Size([1, 1024, 4, 5120]),c shapetorch.Size([1, 1024, 4, 5120]) 均方根误差 tensor(0.0090, dtype=torch.float64) tensor(0.0090, dtype=torch.float64) mare_rate=tensor(1., dtype=torch.float64)(2), mere_rate=tensor(0.3636, dtype=torch.float64)(1.2), rmse_rate=tensor(1.0000, dtype=torch.float64)(1.2) rmse_npu=tensor(0.0090, dtype=torch.float64), rmse_high_type=tensor(0.0090, dtype=torch.float64) PASS dphi name:dphi,a shapetorch.Size([24, 20480]), b shapetorch.Size([24, 20480]),c shapetorch.Size([24, 20480]) 均方根误差 tensor(0.0006, dtype=torch.float64) tensor(0.0006, dtype=torch.float64) mare_rate=tensor(1.0023, dtype=torch.float64)(2), mere_rate=tensor(0.0133, dtype=torch.float64)(1.2), rmse_rate=tensor(0.1618, dtype=torch.float64)(1.2) rmse_npu=tensor(0.0006, dtype=torch.float64), rmse_high_type=tensor(0.0006, dtype=torch.float64) PASS dalpha name:dalpha,a shapetorch.Size([3]), b shapetorch.Size([3]),c shapetorch.Size([3]) 均方根误差 tensor(0.0030, dtype=torch.float64) tensor(0.0038, dtype=torch.float64) mare_rate=tensor(0.0231, dtype=torch.float64)(2), mere_rate=tensor(0.0109, dtype=torch.float64)(1.2), rmse_rate=tensor(0.7697, dtype=torch.float64)(1.2) rmse_npu=tensor(0.0030, dtype=torch.float64), rmse_high_type=tensor(0.0038, dtype=torch.float64) PASS dbias name:dbias,a shapetorch.Size([24]), b shapetorch.Size([24]),c shapetorch.Size([24]) 均方根误差 tensor(0.0006, dtype=torch.float64) tensor(0.0006, dtype=torch.float64) mare_rate=tensor(0.0168, dtype=torch.float64)(2), mere_rate=tensor(0.0027, dtype=torch.float64)(1.2), rmse_rate=tensor(0.1503, dtype=torch.float64)(1.2) rmse_npu=tensor(0.0006, dtype=torch.float64), rmse_high_type=tensor(0.0006, dtype=torch.float64) PASS dgamma name:dgamma,a shapetorch.Size([20480]), b shapetorch.Size([20480]),c shapetorch.Size([20480]) 均方根误差 tensor(0.0031, dtype=torch.float64) tensor(0.0031, dtype=torch.float64) mare_rate=tensor(0.9998, dtype=torch.float64)(2), mere_rate=tensor(0.0267, dtype=torch.float64)(1.2), rmse_rate=tensor(0.7930, dtype=torch.float64)(1.2) rmse_npu=tensor(0.0031, dtype=torch.float64), rmse_high_type=tensor(0.0031, dtype=torch.float64) PASS 2、 ACLNNFUZZ框架测试单算子通路,门槛用例精度均通过。 使用ACLNNFUZZ框架进行泛化测试,结果均符合预期。 3、新增UT测试用例看护,自验证截图如下  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4615 | 3 个月前 | |
Modify mhcsinkhorn PTA and mtea with outflag for backward Co-authored-by: fengjiawei1<fengjiawei5@huawei.com> # message auto-generated for no-merge-commit merge: !4814 merge mhc_opca into master Modify mhcsinkhorn PTA and mtea with outflag for backward Created-by: fengjiawei1 Commit-by: fengjiawei1 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能力等内容) 适配训练场景下mhcSinkHorn接口,修改mtea适配可选入参 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4814 | 3 个月前 | |
feat: Ascend950比较类算子device校验及平台隔离 Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !5286 merge brc_pta_fix_26.1.0 into 26.1.0 feat: Ascend950比较类算子device校验及平台隔离 Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: ascend-robot Description: # 【合入来源】 - [x] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 关联 Issue:https://gitcode.com/Ascend/op-plugin/issues/198 # 【修改方案】 1. 为比较类算子(equal、greater、greater_equal、less、less_equal、not_equal、maximum、minimum)在 Ascend950 平台上补充 device 校验逻辑,确保算子在 950 硬件上正确执行 2. 新增平台隔离判断,在 op_api_common.h 中添加 950 平台的设备类型检查工具函数 3. 各算子 op_api 层引入 950 分支的 device 校验路径,对不支持的数据类型和平台组合进行拦截 涉及文件: - op_plugin/utils/op_api_common.h:新增 950 平台 device 校验公共函数 - op_plugin/ops/opapi/EqKernelNpuOpApi.cpp:equal 算子 950 device 校验 - op_plugin/ops/opapi/GeKernelNpuOpApi.cpp:greater_equal 算子 950 device 校验 - op_plugin/ops/opapi/GtKernelNpuOpApi.cpp:greater 算子 950 device 校验 - op_plugin/ops/opapi/LeKernelNpuOpApi.cpp:less_equal 算子 950 device 校验 - op_plugin/ops/opapi/LtKernelNpuOpApi.cpp:less 算子 950 device 校验 - op_plugin/ops/opapi/NeKernelNpuOpApi.cpp:not_equal 算子 950 device 校验 - op_plugin/ops/opapi/MaxKernelNpuOpApi.cpp:maximum 算子 950 device 校验 - op_plugin/ops/opapi/MinKernelNpuOpApi.cpp:minimum 算子 950 device 校验 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 - 比较类算子在 Ascend950 平台上的 device 校验路径覆盖 - 不支持的 dtype/platform 组合被正确拦截 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5286 | 1 个月前 | |
!1713 fix ops * fix ops | 2 年前 | |
[prologv1 prologv2] 接口退出告警 Co-authored-by: m0_59336986<wulei154@huawei.com> # message auto-generated for no-merge-commit merge: !4286 merge master into master [prologv1 prologv2] 接口退出告警 Created-by: m0_59336986 Commit-by: m0_59336986 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 [prologv1 prologv2] 接口退出告警 - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4286 | 5 个月前 | |
prolog support hifloat8 Co-authored-by: Le_666<yuanle2@huawei.com> # message auto-generated for no-merge-commit merge: !4495 merge master into master prolog support hifloat8 Created-by: Le_666 Commit-by: Le_666 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 需求任务prologv3算子开发全量化场景,适配hifloat8数据类型。新增相关接口参数,用以包装使用自定义hifloat8数据格式。对输入处理后,调用算子进行计算,推理得到hifloat8类型的输出参数,根据不同场景,对输出值进行不同处理 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4495 | 4 个月前 | |
mm/bmm/addmm新增可选参数outdtype支持16输入32输出 Co-authored-by: szhexin<shangzhexin@huawei.com> # message auto-generated for no-merge-commit merge: !4621 merge 16cast32 into master mm/bmm/addmm新增可选参数outdtype支持16输入32输出 Created-by: szhexin Commit-by: szhexin 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能力等内容) 对于mm/bmm/addmm算子新增可选的outdtype参数支持16进32出功能 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 为 addmm,mm,bmm 算子新增一个可选的 output_dtype 参数,修改out属性参数 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 python test3.py [W428 10:59:59.898223213 NPUCachingAllocator.cpp:199] Warning: The current CANN and HDK(driver) versions require processing for 32 padding size, with memory allocation. (function operator()) tensor([[ 41.0088, -17.6637, 25.1173, ..., 19.7653, -4.7765, 20.2126], [ 50.0003, 0.3563, -39.6718, ..., 13.7644, 33.4176, -44.0560], [-63.0215, 34.7173, 31.2306, ..., 21.1989, -33.6981, 4.8218], ..., [-38.6704, 11.0927, -7.9519, ..., 44.5631, -40.6803, 51.0583], [ 0.1018, -8.2804, -19.9418, ..., -41.9277, 5.7565, 31.8019], [ 18.3456, -32.4753, 58.5550, ..., -7.7001, 6.5927, 1.3557]]) # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4621 | 3 个月前 | |
combineARN norm_eps数据类型修复 Co-authored-by: jiangxiuhan1<jiangxiuhan@huawei.com> # message auto-generated for no-merge-commit merge: !4892 merge master into master combineARN norm_eps数据类型修复 Created-by: jiangxiuhan1 Commit-by: jiangxiuhan1 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 PTA接口与op_api传参数据类型不一致,在PTA调用aclnn之前强转norm_eps数据类型 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4892 | 3 个月前 | |
| 1 年前 | ||
PTA适配dispatch\combine性能打点 Co-authored-by: lyt_claire<luyitong1@huawei.com> # message auto-generated for no-merge-commit merge: !3768 merge performanceFix into master PTA适配dispatch\combine性能打点 Created-by: lyt_claire Commit-by: lyt_claire 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**: PTA适配dispatch\combine性能打点,修复v3接口performance_info传空tensor拦截问题 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3768 | 7 个月前 | |
| 1 年前 | ||
fix incorrect dynamic scales calculation when tp_world_size is 0 Co-authored-by: zhong-zixin<zhongzixin@huawei.com> # message auto-generated for no-merge-commit merge: !4740 merge tp_0_1 into master fix incorrect dynamic scales calculation when tp_world_size is 0 Created-by: zhong-zixin Commit-by: zhong-zixin 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能力等内容) tp_world_size 为 0/1 均表示无 TP 域通信,但 dispatch v2 dynamic_scales_shape 推导在 tp_world_size 传入 0/1 时逻辑不一致,需要修复。改动涉及 op_plugin/ops/opapi/MoeDistributeDispatchV2KernelOpApi.cpp 以及 _meta_registrations_.py 对应 dispatch v2 部分。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 改动后经过算子测试脚本验证,传入 tp_world_size 为 0 / 1 时均通过,结果如下:  已添加UT测试用例看护,新增测试用例自验证结果如下:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4740 | 3 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
【950】op-plugin回合主仓:moe_re_routing/moe_init_routing_v2/scaled_masked_softmax/group_norm_silu/moe_gating_top_k_softmax_v2 Co-authored-by: xujiachen8<xujiachen8@h-partners.com> # message auto-generated for no-merge-commit merge: !3429 merge vector-prs into master 【950】op-plugin回合主仓:moe_re_routing/moe_init_routing_v2/scaled_masked_softmax/group_norm_silu/moe_gating_top_k_softmax_v2 Created-by: xujiachen8 Commit-by: xujiachen8 Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** op-plugin回合主仓: 1) npu_group_norm_silu支持混合精度 (部分平台) 2) npu_moe_re_routing 支持float8 (部分平台) 3) npu_moe_init_routing_v2 修复参数active_expert_range导致的空指针异常 4) npu_scaled_masked_softmax 支持路径5 5) npu_moe_gating_top_k_softmax_v2 支持PTA **What does this PR do / why do we need it**: **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3429 | 8 个月前 | |
!1713 fix ops * fix ops | 2 年前 | |
| 11 个月前 | ||
【feat】moe_init_routing_v3算子增加fp8_perblock/int4动态量化 Co-authored-by: t00620168<tujun6@huawei.com> # message auto-generated for no-merge-commit merge: !5009 merge mirv3_add_fp8_quant into master 【feat】moe_init_routing_v3算子增加fp8_perblock/int4动态量化 Created-by: tujun6 Commit-by: t00620168 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 1、fp8_perblock量化为内部低精度量化需求 2、int4量化为外部issue:https://gitcode.com/cann/ops-transformer/issues/1855 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) ### 1、fp8_perblock量化 ### 支持的输入输出类型 **quant_mode=11 (FP8_PERBLOCK_E5M2)**: Input: x(FLOAT16/BF16), expert_idx(INT32), scale(FLOAT32), offset(FLOAT32) Output: expanded_x(FLOAT8_E5M2), expanded_row_idx(INT32), expert_tokens_count(INT64), expanded_scale(FLOAT32) **quant_mode=12 (FP8_PERBLOCK_E4M3FN)**: Input: x(FLOAT16/BF16), expert_idx(INT32), scale(FLOAT32), offset(FLOAT32) Output: expanded_x(FLOAT8_E4M3FN), expanded_row_idx(INT32), expert_tokens_count(INT64), expanded_scale(FLOAT32) **expanded_scale shape**:[active_num, CeilDiv(H, 256), 2](三维布局) ### 2、int4动态量化 复用quantmode=1 # 【资料变更】 不涉及 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 不涉及 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 fp8量化torch单算子验证:  fp8量化torch图模式验证:  int4 torch单算子验证:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5009 | 2 个月前 | |
【feat】MoeReRouting支持HIF8 + FP4 Co-authored-by: wuxiyuan<wuxiyuan@huawei.com> # message auto-generated for no-merge-commit merge: !4778 merge master into master 【feat】MoeReRouting支持HIF8 + FP4 Created-by: wuxiyuan Commit-by: wuxiyuan 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/72 MoeReRouting支持HIF8 + FP4 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 950上MoeReRouting: 新增支持hif8 + fp4 # 【资料变更】 新增输入输出支持 hif8 + fp4 数据类型 # 【接口变更】 npu_moe_re_routing 接口新增tokens_dtype入参 # 【功能验证】 已经通过torch单算子及图融合模式验证功能通路。 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4778 | 3 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 11 个月前 | ||
!1713 fix ops * fix ops | 2 年前 | |
| 1 年前 | ||
| 11 个月前 | ||
[fix] Enable cube_math_type passthrough for matmul-related ops Co-authored-by: adelaideliu<adelaideliu@163.com> # message auto-generated for no-merge-commit merge: !4618 merge master_cube_math_type into master [fix] Enable cube_math_type passthrough for matmul-related ops Created-by: adelaideliu Commit-by: adelaideliu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 aclnnAddmv, aclnnAddbmm, aclnnBaddbmm, aclnnInplaceAddbmm, aclnnInplaceBaddbmm, aclnnBatchMatMul, aclnnBatchMatMulWeightNz, aclnnFusedMatmul, aclnnGemm, aclnnAddmm, aclnnInplaceAddmm, aclnnAddmmWeightNz, aclnnMatmul, aclnnMatmulWeightNz, aclnnMm, aclnnMv, aclnnTransposeBatchMatMul, aclnnTransposeBatchMatMulWeightNz增加cube_math_type接口 # 【资料变更】 “不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4618 | 4 个月前 | |
| 1 年前 | ||
!1713 fix ops * fix ops | 2 年前 | |
| 1 年前 | ||
| 1 年前 | ||
!1713 fix ops * fix ops | 2 年前 | |
[fix] torch.nanmean backward bug Co-authored-by: nomiz<1606135114@qq.com> # message auto-generated for no-merge-commit merge: !5037 merge master into master [fix] torch.nanmean backward bug Created-by: nomiz Commit-by: nomiz 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/126 - [ ] 需求 - [X] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 删除nanmean不带out版本的过适配,保证npu反向正常计算 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ut测试通过截图: 反向通过截图: # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5037 | 2 个月前 | |
Add nanmean op support for NPU Co-authored-by: nomiz<1606135114@qq.com> # message auto-generated for no-merge-commit merge: !4684 merge master into master Add nanmean op support for NPU Created-by: nomiz Commit-by: nomiz Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4684 | 3 个月前 | |
[Feature] [Randomness] Add randomness compatible blacklist handling Co-authored-by: wang_ziqi<wangziqi4@huawei.com> # message auto-generated for no-merge-commit merge: !5441 merge compatible_randomness_26.1.0 into 26.1.0 [Feature] [Randomness] Add randomness compatible blacklist handling Created-by: wang-ziqi-code Commit-by: wang_ziqi 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/2853 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 在 op_plugin/utils/RandomUtil.h 中集中实现 randomness compatible 处理逻辑,通过 torch_npu CheckCompatibleImplBlackListFor(CompatibleKey::Randomness) 查询 randomness 是否配置 legacy 实现。 2. 新增 randomness counter offset 统一入口 calc_final_counter_offset,compatible 场景使用 GPU/PyTorch 对齐 offset 计算,legacy 场景使用 LEGACY_RAND_COUNTER_OFFSET。 3. 新增 CANN random mode 配置封装 ConfigureCannRandomnessOnce,同一进程内只配置一次。配置值为 CANN_RANDOM_MODE_LEGACY = 0 或 CANN_RANDOM_MODE_COMPAT = 1。 4. PrepareRandomnessCompatible 负责组合 A5 aclnn-only 判断、randomness blacklist 查询和 CANN random mode 配置结果,返回当前是否使用 compatible randomness。 5. A5 supported randomness 调用点会显式配置 CANN random mode;aclnnSetPytorchRandom 符号不存在时打印 INFO 日志,并按 compatible randomness 处理。 6. 当前接入 supported randomness API:torch.nn.init.normal_、torch.randn、torch.normal 相关 overload、torch.nn.init.xavier_uniform_、Tensor.uniform_、Tensor.random_(from, to) / Tensor.random_(to)。 7. 当前 Tensor.random_() without from/to、Tensor.exponential_、torch_npu.npu_sim_exponential_、dropout 使用 support_cann_random_switch=false,不触发 CANN random mode 配置。 8. dropout 路径选择仍由 IsAclnnOnly() 控制;A5 aclnnDropoutV3 分支调用 PrepareRandomnessCompatible(false),当前返回值保持 compatible offset 行为。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及跨仓 C++ 接口依赖、环境变量配置和 CANN 接口依赖,不新增 Python API。 依赖 torch_npu C++ 接口: cpp bool CheckCompatibleImplBlackListFor(CompatibleKey compatible_key); 依赖环境变量: bash TORCH_NPU_LEGACY_IMPL_LIST=randomness 依赖 CANN 接口: cpp aclnnStatus aclnnSetPytorchRandom(int32_t pytorchRandom); # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已执行静态检查: bash git -C op-plugin diff --check 验证场景: 1. A2/A3:配置或不配置 TORCH_NPU_LEGACY_IMPL_LIST=randomness,randomness API 正常执行,保持 A2/A3 路径行为。 2. A5 + 未配置 TORCH_NPU_LEGACY_IMPL_LIST:supported randomness API 正常执行,使用 compatible offset,并配置 CANN random mode 为 1。 3. A5 + TORCH_NPU_LEGACY_IMPL_LIST=randomness:supported randomness API 正常执行,使用 legacy offset,并配置 CANN random mode 为 0。 4. A5 + aclnnSetPytorchRandom 符号不存在:打印 INFO 日志,supported randomness API 正常执行,使用 compatible offset。 5. support_cann_random_switch=false 的调用点正常执行,不触发 CANN random mode 配置。 6. dropout 训练路径正常执行,p == 0、p == 1、train == false 快捷路径正常执行。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5441 | 1 个月前 | |
| 1 年前 | ||
feat: Ascend950比较类算子device校验及平台隔离 Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !5286 merge brc_pta_fix_26.1.0 into 26.1.0 feat: Ascend950比较类算子device校验及平台隔离 Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: ascend-robot Description: # 【合入来源】 - [x] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 关联 Issue:https://gitcode.com/Ascend/op-plugin/issues/198 # 【修改方案】 1. 为比较类算子(equal、greater、greater_equal、less、less_equal、not_equal、maximum、minimum)在 Ascend950 平台上补充 device 校验逻辑,确保算子在 950 硬件上正确执行 2. 新增平台隔离判断,在 op_api_common.h 中添加 950 平台的设备类型检查工具函数 3. 各算子 op_api 层引入 950 分支的 device 校验路径,对不支持的数据类型和平台组合进行拦截 涉及文件: - op_plugin/utils/op_api_common.h:新增 950 平台 device 校验公共函数 - op_plugin/ops/opapi/EqKernelNpuOpApi.cpp:equal 算子 950 device 校验 - op_plugin/ops/opapi/GeKernelNpuOpApi.cpp:greater_equal 算子 950 device 校验 - op_plugin/ops/opapi/GtKernelNpuOpApi.cpp:greater 算子 950 device 校验 - op_plugin/ops/opapi/LeKernelNpuOpApi.cpp:less_equal 算子 950 device 校验 - op_plugin/ops/opapi/LtKernelNpuOpApi.cpp:less 算子 950 device 校验 - op_plugin/ops/opapi/NeKernelNpuOpApi.cpp:not_equal 算子 950 device 校验 - op_plugin/ops/opapi/MaxKernelNpuOpApi.cpp:maximum 算子 950 device 校验 - op_plugin/ops/opapi/MinKernelNpuOpApi.cpp:minimum 算子 950 device 校验 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 - 比较类算子在 Ascend950 平台上的 device 校验路径覆盖 - 不支持的 dtype/platform 组合被正确拦截 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5286 | 1 个月前 | |
| 11 个月前 | ||
| 1 年前 | ||
support aclnnNorm Co-authored-by: lzy0920232<liziyin1@huawei.com> # message auto-generated for no-merge-commit merge: !4359 merge code_op_torch_norm into master support aclnnNorm Created-by: lzy0920232 Commit-by: lzy0920232 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能力等内容) 新cann版本去除aclop拦截 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4359 | 5 个月前 | |
[feat][A5] random number computation logic alian to PyTorch/GPU Co-authored-by: wanglijun55<wanglijun54@huawei.com> Co-authored-by: 贾剑勇<jiajianyong123@hisilicon.com> # message auto-generated for no-merge-commit merge: !5010 merge master into master [feat][A5] random number computation logic alian to PyTorch/GPU Created-by: wanglijun55 Commit-by: wanglijun55;贾剑勇 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/104 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、counter_offset原先硬编码10,改成和GPU一致,根据tensor计算 2、normal在A5且输入为double类型时,调用aclnnInplaceRandomWithoutFromTo;否则走原逻辑; # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 test_uniform_.py  test_normal.py  test_random.py  demo对比A5和H20,指数分布和均匀分布下,生成的随机数分布严格一致  # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5010 | 2 个月前 | |
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
fix npu_one_hot presition Co-authored-by: alfengyuan<yuanyaofeng@h-partners.com> # message auto-generated for no-merge-commit merge: !4324 merge master into master fix npu_one_hot presition Created-by: alfengyuan Commit-by: alfengyuan 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能力等内容) 校验on_value 数据类型 是否和 off_value 数据类型是否一致。 一致的情况下将此数据类型指定给out # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 修改前:   修改后:   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4324 | 5 个月前 | |
| 1 年前 | ||
[fix]fix_ones_like_bug_on_cpu_device Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !4388 merge master into master [fix]fix_ones_like_bug_on_cpu_device 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/工单 社区用例458 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 修复ones_like在device="cpu"情况下调用NPU算子的问题修复了在非NPU设备(如CPU)上执行 ones_like 操作时,因调用自定义填充函数导致行为不一致的问题 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 已补充ut # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4388 | 5 个月前 | |
| 11 个月前 | ||
| 11 个月前 | ||
| 1 年前 | ||
add scalar convert for torch.pow Co-authored-by: nomiz<1606135114@qq.com> # message auto-generated for no-merge-commit merge: !4489 merge master into master add scalar convert for torch.pow Created-by: nomiz Commit-by: nomiz Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) torch.pow新增scalar tensor cpu到npu隐式转换,目前结构化适配无法做到,所以将涉及到的三个接口单独非结构化适配,其余保持不变 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4489 | 4 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
!1713 fix ops * fix ops | 2 年前 | |
新增qkv_rms_norm_rope_cache算子 Co-authored-by: fengqiuyue<fengqiuyue@huawei.com> # message auto-generated for no-merge-commit merge: !4028 merge QKV_NO_DOC into master 新增qkv_rms_norm_rope_cache算子 Created-by: fengqiuyue Commit-by: fengqiuyue 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 feature **What does this PR do / why do we need it**: add qkv_rms_norm_rope_cache **Special notes for your reviewers**: See merge request: Ascend/op-plugin!4028 | 7 个月前 | |
add pta for op quantbatchmatmulinplaceadd Co-authored-by: kknan<xukenan@huawei.com> # message auto-generated for no-merge-commit merge: !3989 merge qbmmia into master add pta for op quantbatchmatmulinplaceadd Created-by: kknan Commit-by: kknan Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > /kind feature **What does this PR do / why do we need it**: add pta for op quantbatchmatmulinplaceadd **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3989 | 6 个月前 | |
add pta for op quantbatchmatmulinplaceadd Co-authored-by: kknan<xukenan@huawei.com> # message auto-generated for no-merge-commit merge: !3989 merge qbmmia into master add pta for op quantbatchmatmulinplaceadd Created-by: kknan Commit-by: kknan Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > /kind feature **What does this PR do / why do we need it**: add pta for op quantbatchmatmulinplaceadd **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3989 | 6 个月前 | |
[fix] remove unnecessary same logs Co-authored-by: chenshuai<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !5211 merge cherry-pick-mr-5193-1781745481070-auto into 26.1.0 [fix] remove unnecessary same logs 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 这部分日志对用户来说没什么意义,没必要直接打屏呈现给用户,可以删除 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 不涉及逻辑变更 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5211 | 1 个月前 | |
alltoallvquantgmm&quantgmmalltoallv算子增加comm_mode通信引擎参数 Co-authored-by: wuziyu<wuziyu11@huawei.com> # message auto-generated for no-merge-commit merge: !5036 merge quantaclnn into master alltoallvquantgmm&quantgmmalltoallv算子增加comm_mode通信引擎参数 Created-by: wuziyu Commit-by: wuziyu 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/119 # 【修改方案】 QuantGroupedMatmulAlltoAllv和AlltoAllvQuantGroupedMatmul算子的PTA接口新增一个数据类型为str的可选入参comm_mode,默认值是None。 接口内部从aclnnV1接口改为调用aclnnV2接口,aclnnV2接口根据comm_mode调用通信引擎。如果传入的是None,则按空字符串调用aclnnV1接口。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 npu_alltoallv_quant_gmm接口新增可选参数comm_mode,npu_quant_gmm_alltoallv接口新增可选参数comm_mode。 # 【功能验证】 本地通路验证,验证结果通过。   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5036 | 2 个月前 | |
npu_quant_matmul and npu_add_quant_gmm_ changed group_sizes' type to be int[]? Co-authored-by: liyinghao10<liyinghao10@h-partners.com> # message auto-generated for no-merge-commit merge: !3871 merge gmm into master npu_quant_matmul and npu_add_quant_gmm_ changed group_sizes' type to be int[]? Created-by: liyinghao10 Commit-by: liyinghao10 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!3871 | 7 个月前 | |
【weightNZ接口调用规范整改】npu_quant_grouped_matmul_dequant添加weightnz接口调用 Co-authored-by: hellokitty911<lizhixi2@huawei.com> # message auto-generated for no-merge-commit merge: !4550 merge w_nz into master 【weightNZ接口调用规范整改】npu_quant_grouped_matmul_dequant添加weightnz接口调用 Created-by: hellokitty911 Commit-by: hellokitty911 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 新增aclnnQuantGroupedMatmulDequantWeightNZ,符合pta weightnz类接口封装规范,使npu_quant_grouped_matmul_dequant支持weightnz数据类型输入 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 依赖新增weightnz接口的cann包 import torch import torch_npu torch_npu.npu.set_compile_mode(jit_compile=False) G = 4 M = 64 K = 256 N = 512 torch_npu.npu.set_compile_mode(jit_compile=False) x = torch.randn(M, K).half().npu() quantized_weight = torch.randint(-5, 5, (G, K, N), dtype=torch.int8) quantized_weight_npu = quantized_weight.transpose(1, 2).contiguous().npu() torch_npu.npu_format_cast_(quantized_weight_npu, 29) perchannel_scale = torch.randn(G, N).float().npu() group_list = torch.tensor([7, 29, 31, 64]).npu() pertoken_scale = (torch.max(torch.abs(x), 1)[0].float() / 127.0).npu() x_float = x.transpose(0, 1).float() y = torch_npu.npu_quant_grouped_matmul_dequant(x, quantized_weight_npu, perchannel_scale, group_list, quant_mode='pertoken') x_quantized = torch_npu.npu_quantize(x_float, (1.0 / pertoken_scale), None, torch.qint8, axis=-1, div_mode=False) x_quantized = x_quantized.transpose(0, 1) y_golden = [] start_m = 0 for i in range(G): end_m = group_list[i].item() tmp = torch.matmul(x_quantized[start_m:end_m, :].float(), quantized_weight.npu()[i, :, :].float()) \ * perchannel_scale[i, :] * (pertoken_scale[start_m:end_m].reshape(-1, 1)) y_golden.append(tmp.half()) start_m = end_m y_golden = torch.cat(y_golden) print((y - y_golden).abs().max()) 自验脚本  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4550 | 4 个月前 | |
npu_quant_matmul and npu_add_quant_gmm_ changed group_sizes' type to be int[]? Co-authored-by: liyinghao10<liyinghao10@h-partners.com> # message auto-generated for no-merge-commit merge: !3871 merge gmm into master npu_quant_matmul and npu_add_quant_gmm_ changed group_sizes' type to be int[]? Created-by: liyinghao10 Commit-by: liyinghao10 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!3871 | 7 个月前 | |
QLI rollback stride0 Co-authored-by: number-2-bo-bo<jinying22@huawei.com> # message auto-generated for no-merge-commit merge: !4817 merge callback_stride_1 into master QLI rollback stride0 Created-by: jinyingbo Commit-by: number-2-bo-bo 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能力等内容) stride参数修改为从aclnn接口传入 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4817 | 3 个月前 | |
feat: MatmulAlltoAll AICPU适配 新增通信引擎参数comm_mode Co-authored-by: tongzy1242<tongzeyun@huawei.com> # message auto-generated for no-merge-commit merge: !4943 merge mma2a_commmode into master feat: MatmulAlltoAll AICPU适配 新增通信引擎参数comm_mode Created-by: tongzy1242 Commit-by: tongzy1242 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> 为了在MatmulAlltoAll和QuantMatmulAlltoAll算子中,支持用户指定HCCL通信引擎(AICPU或CCU),为算子PTA接口新增一个可选入参comm_mode。 [#2481](https://gitcode.com/cann/ops-transformer/issues/2481) - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) MatmulAlltoAll和QuantMatmulAlltoAll算子的PTA接口新增一个数据类型为str的可选入参comm_mode,默认值是None。 接口内部从aclnnV1接口改为调用aclnnV2接口,aclnnV2接口根据comm_mode调用通信引擎。如果传入的是None,则按空字符串调用aclnnV1接口。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” MatmulAlltoAll和QuantMatmulAlltoAll算子的PTA接口新增一个数据类型为str的可选入参comm_mode,默认值是None。 - func: npu_matmul_all_to_all(Tensor x1, Tensor x2, str hcom, int world_size, Tensor? bias=None, int[]? all2all_axes=None, **str? comm_mode=None**) -> Tensor - func: npu_quant_matmul_all_to_all(Tensor x1, Tensor x2, str hcom, int world_size, Tensor? bias=None, Tensor? x1_scale=None, Tensor? x2_scale=None, Tensor? common_scale=None, Tensor? x1_offset=None, Tensor? x2_offset=None, int? x1_quant_mode=None, int? x2_quant_mode=None, int? common_quant_mode=None, int[]? group_sizes=None, int[]? all2all_axes=None, int? comm_quant_dtype=None, int? x1_dtype=None, int? x2_dtype=None, int? x1_scale_dtype=None, int? x2_scale_dtype=None, int? output_scale_dtype=None, int? comm_scale_dtype=None, int? y_dtype=None, **str? comm_mode=None**) -> Tensor # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 本地验证pass  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4943 | 2 个月前 | |
【feature】新增适配QuantMatmulGelu融合算子,支持A4W4/A8W8输入 Co-authored-by: Sunshine_Youngster<saiyao@huawei.com> # message auto-generated for no-merge-commit merge: !4186 merge add_quant_matmal_gelu into master 【feature】新增适配QuantMatmulGelu融合算子,支持A4W4/A8W8输入 Created-by: Sunshine_Youngster Commit-by: Sunshine_Youngster Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [X] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 UT自测:  fake_tensor自测:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4186 | 5 个月前 | |
[fix] Determine which offset to pass in aclnn Co-authored-by: liyinghao10<liyinghao10@h-partners.com> # message auto-generated for no-merge-commit merge: !4562 merge qbmm into master [fix] Determine which offset to pass in aclnn Created-by: liyinghao10 Commit-by: liyinghao10 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/op-plugin!4562 | 4 个月前 | |
[fix][ops]MatmulReduceScatter算子修复string_view悬空指针 Co-authored-by: 陈佳乐<chenjiale56@huawei.com> # message auto-generated for no-merge-commit merge: !5383 merge 26.1.0 into 26.1.0 [fix][ops]MatmulReduceScatter算子修复string_view悬空指针 Created-by: chenjiale56 Commit-by: 陈佳乐 Merged-by: ascend-robot Description: Issue [#248](https://gitcode.com/Ascend/op-plugin/issues/248) <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修复MatmulReduceScatter算子base/quant接口下c10::string_view 悬空指针导致非阻塞模式下 group 名读到脏数据的问题。由于 EXEC_NPU_CMD 可能以非阻塞方式执行,string_view 所引用的原始字符串可能在此之前析构,导致指针悬空、读取脏数据。 修改方案:将 string_view 的内容复制到局部 std::string 对象中,再从中获取指针,确保在函数调用期间指针始终有效 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 测试用例来源:MC2自验证用例 结果:PASS  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5383 | 1 个月前 | |
| 11 个月前 | ||
【feat】新增QuantMax算子,新增npu_quant_max pta接口 Co-authored-by: Hana77<wangtianqi27@huawei.com> # message auto-generated for no-merge-commit merge: !4867 merge bak into master 【feat】新增QuantMax算子,新增npu_quant_max pta接口 Created-by: Hana77 Commit-by: Hana77 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 本次PR新增了一个名为 npu_quant_max 的自定义算子。该算子在对输入做量化的同时计算输入绝对值的最大值 首先,在YAML配置文件中注册了该算子的接口定义。其次,在C++层实现了算子的核心API,并最终调用底层硬件加速内核执行计算。同时,在JSON配置文件中更新了算子API模式测试的schema。最后,新增了对应的Python单元测试,用于验证算子在特定数据类型和分组场景下的功能正确性。整个方案覆盖了算子生命周期的配置、实现与验证环节。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ut通过截图:  atk验证通过截图:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4867 | 3 个月前 | |
rename 910_95 Co-authored-by: MrMC-<shiqunze@h-partners.com> # message auto-generated for no-merge-commit merge: !4108 merge master-re950 into master rename 910_95 Created-by: MrMC- Commit-by: MrMC- 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!4108 | 6 个月前 | |
【950】cast && quant类算子回合 Co-authored-by: 李根<ligen75@h-partners.com> Co-authored-by: Wang_Xing001<wangxing73@huawei.com> Co-authored-by: lilongqianxi<lilongqianxi@h-partners.com> Co-authored-by: 田野<tianye82@huawei.com> Co-authored-by: 季骏<jijun1@huawei.com> Co-authored-by: luo-yongqing<luoyongqing4@h-partners.com> Co-authored-by: 赵珩<zhaoheng32@h-partners.com> # message auto-generated for no-merge-commit merge: !3431 merge pta_plugin_sync into master 【950】cast && quant类算子回合 Created-by: yuanbin_22 Commit-by: 赵珩;luo-yongqing;季骏;lilongqianxi;Wang_Xing001;田野;李根 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**: A5代码回合主线: 1)npu_dtype_cast支持float4和float8数据类型 2)新增npu_gelu_quant,npu_grouped_dynamic_mx_quant,npu_dynamic_mx_quant,npu_dynamic_block_quant接口 3)QuantUpdateScatter 图模式设置输出dtype,以适配hifp8 4)【Quantize】输出y设置 desc dtype **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3431 | 8 个月前 | |
【950】cast && quant类算子回合 Co-authored-by: 李根<ligen75@h-partners.com> Co-authored-by: Wang_Xing001<wangxing73@huawei.com> Co-authored-by: lilongqianxi<lilongqianxi@h-partners.com> Co-authored-by: 田野<tianye82@huawei.com> Co-authored-by: 季骏<jijun1@huawei.com> Co-authored-by: luo-yongqing<luoyongqing4@h-partners.com> Co-authored-by: 赵珩<zhaoheng32@h-partners.com> # message auto-generated for no-merge-commit merge: !3431 merge pta_plugin_sync into master 【950】cast && quant类算子回合 Created-by: yuanbin_22 Commit-by: 赵珩;luo-yongqing;季骏;lilongqianxi;Wang_Xing001;田野;李根 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**: A5代码回合主线: 1)npu_dtype_cast支持float4和float8数据类型 2)新增npu_gelu_quant,npu_grouped_dynamic_mx_quant,npu_dynamic_mx_quant,npu_dynamic_block_quant接口 3)QuantUpdateScatter 图模式设置输出dtype,以适配hifp8 4)【Quantize】输出y设置 desc dtype **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3431 | 8 个月前 | |
【950】cast && quant类算子回合 Co-authored-by: 李根<ligen75@h-partners.com> Co-authored-by: Wang_Xing001<wangxing73@huawei.com> Co-authored-by: lilongqianxi<lilongqianxi@h-partners.com> Co-authored-by: 田野<tianye82@huawei.com> Co-authored-by: 季骏<jijun1@huawei.com> Co-authored-by: luo-yongqing<luoyongqing4@h-partners.com> Co-authored-by: 赵珩<zhaoheng32@h-partners.com> # message auto-generated for no-merge-commit merge: !3431 merge pta_plugin_sync into master 【950】cast && quant类算子回合 Created-by: yuanbin_22 Commit-by: 赵珩;luo-yongqing;季骏;lilongqianxi;Wang_Xing001;田野;李根 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**: A5代码回合主线: 1)npu_dtype_cast支持float4和float8数据类型 2)新增npu_gelu_quant,npu_grouped_dynamic_mx_quant,npu_dynamic_mx_quant,npu_dynamic_block_quant接口 3)QuantUpdateScatter 图模式设置输出dtype,以适配hifp8 4)【Quantize】输出y设置 desc dtype **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3431 | 8 个月前 | |
!1713 fix ops * fix ops | 2 年前 | |
[Feature] [Randomness] Add randomness compatible blacklist handling Co-authored-by: wang_ziqi<wangziqi4@huawei.com> # message auto-generated for no-merge-commit merge: !5441 merge compatible_randomness_26.1.0 into 26.1.0 [Feature] [Randomness] Add randomness compatible blacklist handling Created-by: wang-ziqi-code Commit-by: wang_ziqi 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/2853 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 在 op_plugin/utils/RandomUtil.h 中集中实现 randomness compatible 处理逻辑,通过 torch_npu CheckCompatibleImplBlackListFor(CompatibleKey::Randomness) 查询 randomness 是否配置 legacy 实现。 2. 新增 randomness counter offset 统一入口 calc_final_counter_offset,compatible 场景使用 GPU/PyTorch 对齐 offset 计算,legacy 场景使用 LEGACY_RAND_COUNTER_OFFSET。 3. 新增 CANN random mode 配置封装 ConfigureCannRandomnessOnce,同一进程内只配置一次。配置值为 CANN_RANDOM_MODE_LEGACY = 0 或 CANN_RANDOM_MODE_COMPAT = 1。 4. PrepareRandomnessCompatible 负责组合 A5 aclnn-only 判断、randomness blacklist 查询和 CANN random mode 配置结果,返回当前是否使用 compatible randomness。 5. A5 supported randomness 调用点会显式配置 CANN random mode;aclnnSetPytorchRandom 符号不存在时打印 INFO 日志,并按 compatible randomness 处理。 6. 当前接入 supported randomness API:torch.nn.init.normal_、torch.randn、torch.normal 相关 overload、torch.nn.init.xavier_uniform_、Tensor.uniform_、Tensor.random_(from, to) / Tensor.random_(to)。 7. 当前 Tensor.random_() without from/to、Tensor.exponential_、torch_npu.npu_sim_exponential_、dropout 使用 support_cann_random_switch=false,不触发 CANN random mode 配置。 8. dropout 路径选择仍由 IsAclnnOnly() 控制;A5 aclnnDropoutV3 分支调用 PrepareRandomnessCompatible(false),当前返回值保持 compatible offset 行为。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及跨仓 C++ 接口依赖、环境变量配置和 CANN 接口依赖,不新增 Python API。 依赖 torch_npu C++ 接口: cpp bool CheckCompatibleImplBlackListFor(CompatibleKey compatible_key); 依赖环境变量: bash TORCH_NPU_LEGACY_IMPL_LIST=randomness 依赖 CANN 接口: cpp aclnnStatus aclnnSetPytorchRandom(int32_t pytorchRandom); # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已执行静态检查: bash git -C op-plugin diff --check 验证场景: 1. A2/A3:配置或不配置 TORCH_NPU_LEGACY_IMPL_LIST=randomness,randomness API 正常执行,保持 A2/A3 路径行为。 2. A5 + 未配置 TORCH_NPU_LEGACY_IMPL_LIST:supported randomness API 正常执行,使用 compatible offset,并配置 CANN random mode 为 1。 3. A5 + TORCH_NPU_LEGACY_IMPL_LIST=randomness:supported randomness API 正常执行,使用 legacy offset,并配置 CANN random mode 为 0。 4. A5 + aclnnSetPytorchRandom 符号不存在:打印 INFO 日志,supported randomness API 正常执行,使用 compatible offset。 5. support_cann_random_switch=false 的调用点正常执行,不触发 CANN random mode 配置。 6. dropout 训练路径正常执行,p == 0、p == 1、train == false 快捷路径正常执行。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5441 | 1 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
add RGDR op-plugin Co-authored-by: NeverLCY<liuchunyuan@huawei.com> # message auto-generated for no-merge-commit merge: !3476 merge RGDR into master add RGDR op-plugin Created-by: NeverLCY Commit-by: NeverLCY 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!3476 | 8 个月前 | |
torch_npu api support 0-d cpu tensor input Co-authored-by: XianglongZeng<zengxianglong1@huawei.com> # message auto-generated for no-merge-commit merge: !4958 merge myop into master torch_npu api support 0-d cpu tensor input 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] 需求 - [ ] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 - 对 22 个 API 进行适配,使其在输入包含 0-d CPU Tensor 时与 GPU 行为一致 - 采用两层适配策略:代码生成模板适配(自动生成 API)+ 接入层手写适配(手写 API) - 有标量专用 aclnn 算子时优先调用标量算子(零拷贝),无标量专用算子时使用 copy_scalar_to_device 详细设计和修改方案见RFC文档:https://gitcode.com/Ascend/pytorch/issues/1919 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4958 | 2 个月前 | |
[fix] Tensor.renorm 反向 dtype :float---> double 问题修复 Co-authored-by: l00881990<lixinyu68@huawei.com> # message auto-generated for no-merge-commit merge: !5367 merge renorm-26.1.0 into 26.1.0 [fix] Tensor.renorm 反向 dtype :float---> double 问题修复 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 重写原生方法。dtype float--->float # 【资料变更】 不涉及 # 【接口变更】 新增,已评审通过 # 【功能验证】  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5367 | 1 个月前 | |
| 1 年前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
add op_api npu_reshape Co-authored-by: xftxyz<pangxiaoyu@h-partners.com> # message auto-generated for no-merge-commit merge: !4064 merge master-2601170 into master add op_api npu_reshape Created-by: xftxyz Commit-by: xftxyz 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!4064 | 6 个月前 | |
[feature]接入算子aclnnRingAttentionUpdateV2 Co-authored-by: TrHan<hantianrui1@huawei.com> # message auto-generated for no-merge-commit merge: !4946 merge pr_op_ring_attention_update_0514 into master [feature]接入算子aclnnRingAttentionUpdateV2 Created-by: TrHan Commit-by: TrHan Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 [#2029](https://gitcode.com/Ascend/pytorch/issues/2029) # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 接入aclnnRingAttentionUpdateV2算子,[算子说明文档](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/900/API/aolapi/context/ops-transformer/aclnnRingAttentionUpdateV2.md) 接入后提供接口: # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及,[接口说明文档](https://gitcode.com/Ascend/op-plugin/blob/c457d73c391661f8e043289a310d82387f95eb7d/docs/zh/custom_APIs/torch_npu/torch_npu-npu_ring_attention_update.md) # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及,新增接口torch_npu.npu_ring_attention_update,[接口说明文档](https://gitcode.com/Ascend/op-plugin/blob/c457d73c391661f8e043289a310d82387f95eb7d/docs/zh/custom_APIs/torch_npu/torch_npu-npu_ring_attention_update.md) # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ## 用例覆盖 测试文件: text op-plugin/test/test_custom_ops/test_npu_ring_attention_update.py 覆盖的测试项: | TestCase | Layout | dtype 覆盖 | 校验内容 | |---|---|---|---| | test_npu_ring_attention_update_sbh | SBH | float16, float32, bfloat16 | attn_out, softmax_max, softmax_sum 与 Python golden 对比 | | test_npu_ring_attention_update_tnd | TND | float16, float32, bfloat16 | attn_out, softmax_max, softmax_sum 与 Python golden 对比 | Golden 逻辑: text softmax_max = max(prev_max, cur_max) softmax_sum = prev_sum * exp(prev_max - softmax_max) + cur_sum * exp(cur_max - softmax_max) attn_out = prev_attn * prev_factor + cur_attn * cur_factor 其中: text prev_factor = prev_scale * prev_sum / softmax_sum cur_factor = cur_scale * cur_sum / softmax_sum ## 执行结果 | 项目 | 数量 | |---|---:| | Passed | 2 | | Failed | 0 | | Error | 0 | | Skipped | 0 | 结果摘要: text .. ---------------------------------------------------------------------- Ran 2 tests in 8.615s OK # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4946 | 2 个月前 | |
| 1 年前 | ||
feat: add new api (add)rms_norm_dynamic_mx_quant Co-authored-by: liiu-qii<liuqi330@huawei.com> # message auto-generated for no-merge-commit merge: !4429 merge dyn_dev into master feat: add new api (add)rms_norm_dynamic_mx_quant Created-by: liiu-qii Commit-by: liiu-qii Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 新增AddRmsNormDynamicMxQuant和RmsNormDynamicMxQuant算子的torch_npu接口 # 【资料变更】 > 不涉及 # 【接口变更】 > 新增npu_add_rms_norm_dynamic_mx_quant和npu_rms_norm_dynamic_mx_quant接口 # 【功能验证】 > 新增两个接口的test ut用例 npu_add_rms_norm_dynamic_mx_quant:  npu_rms_norm_dynamic_mx_quant:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4429 | 4 个月前 | |
| 1 年前 | ||
npu_rms_norm_quant接口新增dst_dtype参数 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !4169 merge RNQ_add_dst_type into master npu_rms_norm_quant接口新增dst_dtype参数 Created-by: cai-chengchao Commit-by: cai-chengchao 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 feature **What does this PR do / why do we need it**: npu_rms_norm_quant接口新增dst_dtype参数, 支持int8,int4,hifloat8,float8_e4m3fn, float8_e5m2数据类型输出 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!4169 | 6 个月前 | |
[Fix]fix rtsd infer shape Co-authored-by: ego<pengcong27@h-partners.com> # message auto-generated for no-merge-commit merge: !5072 merge master into master [Fix]fix rtsd infer shape Created-by: p30032434 Commit-by: ego Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 [修复rms_norm_quant_v2接口rstd的shape推导](https://gitcode.com/Ascend/op-plugin/issues/130) - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 用例覆盖 测试文件:op-plugin/test/test_custom_ops/test_npu_rms_norm_quant_v2.py  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5072 | 2 个月前 | |
!1713 fix ops * fix ops | 2 年前 | |
| 1 年前 | ||
| 1 年前 | ||
add torch_npu-npu_mrope.md Co-authored-by: zhangyihuiben<zhangyihui16@h-partners.com> # message auto-generated for no-merge-commit merge: !4563 merge master into master add torch_npu-npu_mrope.md Created-by: zhangyihuiben Commit-by: zhangyihuiben Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1、增加接口npu_mrope的相关文档 2、把接口npu_mrope的参数判定放到RopeWithCosCacheKernelNpuOpApi.cpp中 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 增加接口npu_mrope的相关文档 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4563 | 4 个月前 | |
rename 910_95 Co-authored-by: MrMC-<shiqunze@h-partners.com> # message auto-generated for no-merge-commit merge: !4108 merge master-re950 into master rename 910_95 Created-by: MrMC- Commit-by: MrMC- 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!4108 | 6 个月前 | |
rename 910_95 Co-authored-by: MrMC-<shiqunze@h-partners.com> # message auto-generated for no-merge-commit merge: !4108 merge master-re950 into master rename 910_95 Created-by: MrMC- Commit-by: MrMC- 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!4108 | 6 个月前 | |
[feat]RotateQuant算子新增支持mx量化类型 Co-authored-by: yushan-kite<zhangyushan11@huawei.com> # message auto-generated for no-merge-commit merge: !5027 merge master into master [feat]RotateQuant算子新增支持mx量化类型 Created-by: yushan-kite Commit-by: yushan-kite Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> [#133](https://gitcode.com/Ascend/op-plugin/issues/133) - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) RotateQuant算子新增支持mxfp4,mxfp8数据流。根据不同的dst_dtype对应不同的量化输出类型,执行对应的torch计算。 输入:x,rotation,alpha(可选)。输出:量化结果y,量化因子scale。 RotateQuant算子计算后的y,scale,可以用于后续的矩阵乘计算。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 补充相关描述:修改alpha为可选输入tensor,新增dst_dtype、axis、round_mode、scale_alg、dst_type_max、transpose_y参数。输出y根据dst_dtype决定;mx量化时输出scale类型时float8_e8m0,int场景时scale的类型是float # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” alpha为可选输入tensor,新增dst_dtype、axis、round_mode、scale_alg、dst_type_max、transpose_y参数。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5027 | 2 个月前 | |
Change the error message to match aclnnRound Co-authored-by: qq_43150381<zhugelu1@h-partners.com> # message auto-generated for no-merge-commit merge: !3687 merge master into master Change the error message to match aclnnRound Created-by: qq_43150381 Commit-by: qq_43150381 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!3687 | 8 个月前 | |
sdpa use component impl when the input is fp32 and its last dim is not the multiple of 4 Co-authored-by: XianglongZeng<zengxianglong1@huawei.com> # message auto-generated for no-merge-commit merge: !5217 merge 26.1.0 into 26.1.0 sdpa use component impl when the input is fp32 and its last dim is not the multiple of 4 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 新增ut用例的执行结果:  atk失败用例及修改后的执行结果:   # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5217 | 1 个月前 | |
Add api:_scaled_grouped_mm, _scaled_grouped_mm_v2, and uts Co-authored-by: wencaiwen<caiwen13@huawei.com> # message auto-generated for no-merge-commit merge: !5050 merge extend into master [feat]Add api:_scaled_grouped_mm, _scaled_grouped_mm_v2, and uts Created-by: wencaiwen Commit-by: wencaiwen 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/122 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 接入aclnnQuantMatmulV5算子,实现原生API torch._scaled_mm和torch._scaled_mm_v2,支持FP8/MXFP8 Matmul。当前仅实现API部分功能(不支持FP4与swizzle),入参约束与社区GPU版本存在差异。 接入aclnnGroupedMatmulV5算子,实现原生API torch._scaled_grouped_mm、torch._scaled_grouped_mm_v2(封装得到torch.nn.functional.scaled_grouped_mm),支持FP8/MXFP8 Grouped Matmul。当前仅实现API部分功能(不支持FP4与swizzle),**入参约束与社区GPU版本存在差异**。 ### 支持PyTorch版本 torch._scaled_mm:2.7.1+ torch._scaled_mm_v2:2.10.0+ torch._scaled_grouped_mm:2.7.1+ torch._scaled_grouped_mm_v2:2.10.0+ torch.nn.functional.scaled_grouped_mm:2.10.0+ ### 硬件要求 ### torch._scaled_mm参数说明 | 参数 | 类型 | 社区GPU版本入参说明 | NPU实现约束 | | ---------------- | -------------- | --------------------------------------------------- | ----------------------------------------------------- | | self (mat_a) | Tensor, [M, K] | 输入矩阵,FP8 (e4m3fn/e5m2) <br>或 FP4 (float4_e2m1fn_x2) | FP4暂不支持 | | mat2 (mat_b) | Tensor, [K, N] | 同上 | 同上 | | scale_a | Tensor | mat_a 缩放因子, shape/dtype 决定缩放模式 | 若dtype为float8_e8m0fnu,<br>排布需满足aclnnQuantMatmulV5入参要求 | | scale_b | Tensor | mat_b 缩放因子 | 同上 | | bias | Tensor? | 可选 bias, [N], bf16/fp16 | | | scale_result | Tensor? | 可选输出缩放因子, fp32 scalar | | | out_dtype | ScalarType? | 输出精度(默认 fp8,常用 bf16) | | | use_fast_accum | bool | 快速累加 (Hopper Tensor Core) | 按false处理 | | **return** | Tensor, [M, N] | 输出矩阵 | | scale的dtype为fp32或float8_e8m0fnu,分别对应FP8和MXFP8计算;**aclnnQuantMatmulV5关于MXFP8的入参要求如下:** | 参数 | shape | | -------------------- | -------------------- | | self(mat_a) | [M, K] | | mat2(mat_b) | [K, N] | | scale_a | [M, ceil(K/64), 2] | | scale_b | [ceil(K/64), N, 2] | ### torch._scaled_mm_v2参数说明 torch._scaled_mm_v2是torch._scaled_mm的升级版,核心差异在于**通过 recipe 显式指定缩放模式**,不再自动推断。社区GPU版本支持更多高级特性包括多级缩放(如 NVFP4 两级缩放)、swizzle 参数和 contraction_dim,但这些特性**当前暂不支持**,因此核心功能与torch._scaled_mm相同(NPU上FP8/MXFP8计算入参要求与aclnnQuantMatmulV5保持一致)。 | 参数 | 类型 | 社区GPU版本入参说明 | 本需求实现约束 | | --------------- | -------------- | ----------------------------------------------- | ---------------- | | self (mat_a) | Tensor, [M, K] | 输入矩阵,FP8 (e4m3fn/e5m2) 或 FP4 (float4_e2m1fn_x2) | FP4暂不支持 | | mat2 (mat_b) | Tensor, [K, N] | 输入矩阵,同上 | 同上 | | scale_a | Tensor[] | mat_a 的缩放因子数组,长度 1(单级)或 2(两级) | 仅支持单级缩放,长度1 | | recipe_a | int[] | ScalingType 枚举值数组,长度匹配 scale_a | 不支持BlockWise1x16 | | swizzle_a | int[] | SwizzleType 枚举值数组,MX/NVFP4 格式时必传 | 按NO_SWIZZLE处理 | | scale_b | Tensor[] | mat_b 的缩放因子数组 | 仅支持单级缩放,长度1 | | recipe_b | int[] | ScalingType 枚举值数组 | 不支持BlockWise1x16 | | swizzle_b | int[] | SwizzleType 枚举值数组 | 按NO_SWIZZLE处理 | | bias | Tensor? | 可选 bias, [N], bf16 或 fp16 | | | out_dtype | ScalarType? | 输出精度,默认 bfloat16 | | | contraction_dim | int[] | 指定 contraction 维度(默认 []),"<1B 格式"需指定 | 不处理该参数 | | use_fast_accum | bool | 快速累加 (Hopper Tensor Core) | 按false处理 | <div style="display: flex; gap: 20px; align-items: flex-start; overflow-x: auto;"> <!-- 左侧表格:ScaleType --> <div style="flex: 1; min-width: 300px;"> <div style="font-weight: bold; margin-bottom: 8px; font-size: 1.1em;">ScaleType</div> <table> <thead> <tr> <th>枚举值</th> <th>int 值</th> <th>scale dtype</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>TensorWise</td> <td>0</td> <td>float32</td> <td>整个张量一个缩放因子</td> </tr> <tr> <td>RowWise</td> <td>1</td> <td>float32</td> <td>每行/列一个缩放因子</td> </tr> <tr> <td>BlockWise1x16</td> <td>2</td> <td>float8_e4m3fn</td> <td>NVFP4 块级缩放</td> </tr> <tr> <td>BlockWise1x32</td> <td>3</td> <td>float8_e8m0fnu</td> <td>OCP MX microscaling</td> </tr> <tr> <td>BlockWise1x128</td> <td>4</td> <td>float32</td> <td>DeepSeek 1x128 块</td> </tr> <tr> <td>BlockWise128x128</td> <td>5</td> <td>float32</td> <td>DeepSeek 128x128 块</td> </tr> </tbody> </table> </div> <!-- 右侧表格:SwizzleType --> <div style="flex: 1; min-width: 300px;"> <div style="font-weight: bold; margin-bottom: 8px; font-size: 1.1em;">SwizzleType</div> <table> <thead> <tr> <th>枚举值</th> <th>int 值</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>NO_SWIZZLE</td> <td>0</td> <td>无 swizzle</td> </tr> <tr> <td>SWIZZLE_32_4_4</td> <td>1</td> <td>32x4x4 swizzle (Blackwell 优化)</td> </tr> </tbody> </table> </div> </div> ### _scaled_grouped_mm量化模式限制 当前实现仅支持: - ROWWISE_ROWWISE(FP8) - MXFP8_MXFP8 在MXFP8模式下,scale_a和scale_b的dtype均为float8_e8m0fnu,排布遵循aclnnQuantMatmul/aclnnGroupedMatmul的要求。Grouped Matmul实现分组矩阵乘的功能,对每一组矩阵乘(mat_a, mat_b): | Tensor | shape | | ---------------------- | ----------------- | | mat_a| [M, K] | | mat_b | [K, N] | | scale_a | [M, ceil(K/64), 2]| | scale_b | [ceil(K/64), N, 2)| # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及资料变更。新增API包括: 涉及资料变更。新增API包括: - torch._scaled_mm - torch._scaled_mm_v2 - torch.nn.functional.scaled_mm 其中,torch.nn.functional.scaled_mm由torch._scaled_mm_v2封装实现,从PyTorch 2.10.0版本开始支持。功能约束与torch._scaled_mm_v2相同。 - torch._scaled_grouped_mm - torch._scaled_grouped_mm_v2 - torch.nn.functional.scaled_grouped_mm 其中,torch.nn.functional.scaled_grouped_mm由torch._scaled_grouped_mm_v2封装实现,从PyTorch 2.10.0版本开始支持。功能约束与torch._scaled_grouped_mm_v2相同。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 新增上述六个API。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 [TypeM_E1] 对比结果: 形状: CPU=torch.Size([128, 64]), NPU=torch.Size([128, 64]) 绝对误差: max=0.001953, mean=0.000000 相对误差: max=0.006531, mean=0.000001 最大误差位置: (tensor(65), tensor(29)) 该位置 CPU=-0.298828, NPU=-0.296875 [PASS] ✓ 结果一致 (mean_rel_err=0.0000) [scaled_mm_MXFp8] 对比结果: 形状: CPU=torch.Size([128, 64]), NPU=torch.Size([128, 64]) 绝对误差: max=0.000000, mean=0.000000 相对误差: max=0.000000, mean=0.000000 最大误差位置: (tensor(0), tensor(0)) 该位置 CPU=8.437500, NPU=8.437500 [PASS] ✓ 结果一致 (mean_rel_err=0.0000) # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5050 | 2 个月前 | |
Add api:_scaled_grouped_mm, _scaled_grouped_mm_v2, and uts Co-authored-by: wencaiwen<caiwen13@huawei.com> # message auto-generated for no-merge-commit merge: !5050 merge extend into master [feat]Add api:_scaled_grouped_mm, _scaled_grouped_mm_v2, and uts Created-by: wencaiwen Commit-by: wencaiwen 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/122 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 接入aclnnQuantMatmulV5算子,实现原生API torch._scaled_mm和torch._scaled_mm_v2,支持FP8/MXFP8 Matmul。当前仅实现API部分功能(不支持FP4与swizzle),入参约束与社区GPU版本存在差异。 接入aclnnGroupedMatmulV5算子,实现原生API torch._scaled_grouped_mm、torch._scaled_grouped_mm_v2(封装得到torch.nn.functional.scaled_grouped_mm),支持FP8/MXFP8 Grouped Matmul。当前仅实现API部分功能(不支持FP4与swizzle),**入参约束与社区GPU版本存在差异**。 ### 支持PyTorch版本 torch._scaled_mm:2.7.1+ torch._scaled_mm_v2:2.10.0+ torch._scaled_grouped_mm:2.7.1+ torch._scaled_grouped_mm_v2:2.10.0+ torch.nn.functional.scaled_grouped_mm:2.10.0+ ### 硬件要求 ### torch._scaled_mm参数说明 | 参数 | 类型 | 社区GPU版本入参说明 | NPU实现约束 | | ---------------- | -------------- | --------------------------------------------------- | ----------------------------------------------------- | | self (mat_a) | Tensor, [M, K] | 输入矩阵,FP8 (e4m3fn/e5m2) <br>或 FP4 (float4_e2m1fn_x2) | FP4暂不支持 | | mat2 (mat_b) | Tensor, [K, N] | 同上 | 同上 | | scale_a | Tensor | mat_a 缩放因子, shape/dtype 决定缩放模式 | 若dtype为float8_e8m0fnu,<br>排布需满足aclnnQuantMatmulV5入参要求 | | scale_b | Tensor | mat_b 缩放因子 | 同上 | | bias | Tensor? | 可选 bias, [N], bf16/fp16 | | | scale_result | Tensor? | 可选输出缩放因子, fp32 scalar | | | out_dtype | ScalarType? | 输出精度(默认 fp8,常用 bf16) | | | use_fast_accum | bool | 快速累加 (Hopper Tensor Core) | 按false处理 | | **return** | Tensor, [M, N] | 输出矩阵 | | scale的dtype为fp32或float8_e8m0fnu,分别对应FP8和MXFP8计算;**aclnnQuantMatmulV5关于MXFP8的入参要求如下:** | 参数 | shape | | -------------------- | -------------------- | | self(mat_a) | [M, K] | | mat2(mat_b) | [K, N] | | scale_a | [M, ceil(K/64), 2] | | scale_b | [ceil(K/64), N, 2] | ### torch._scaled_mm_v2参数说明 torch._scaled_mm_v2是torch._scaled_mm的升级版,核心差异在于**通过 recipe 显式指定缩放模式**,不再自动推断。社区GPU版本支持更多高级特性包括多级缩放(如 NVFP4 两级缩放)、swizzle 参数和 contraction_dim,但这些特性**当前暂不支持**,因此核心功能与torch._scaled_mm相同(NPU上FP8/MXFP8计算入参要求与aclnnQuantMatmulV5保持一致)。 | 参数 | 类型 | 社区GPU版本入参说明 | 本需求实现约束 | | --------------- | -------------- | ----------------------------------------------- | ---------------- | | self (mat_a) | Tensor, [M, K] | 输入矩阵,FP8 (e4m3fn/e5m2) 或 FP4 (float4_e2m1fn_x2) | FP4暂不支持 | | mat2 (mat_b) | Tensor, [K, N] | 输入矩阵,同上 | 同上 | | scale_a | Tensor[] | mat_a 的缩放因子数组,长度 1(单级)或 2(两级) | 仅支持单级缩放,长度1 | | recipe_a | int[] | ScalingType 枚举值数组,长度匹配 scale_a | 不支持BlockWise1x16 | | swizzle_a | int[] | SwizzleType 枚举值数组,MX/NVFP4 格式时必传 | 按NO_SWIZZLE处理 | | scale_b | Tensor[] | mat_b 的缩放因子数组 | 仅支持单级缩放,长度1 | | recipe_b | int[] | ScalingType 枚举值数组 | 不支持BlockWise1x16 | | swizzle_b | int[] | SwizzleType 枚举值数组 | 按NO_SWIZZLE处理 | | bias | Tensor? | 可选 bias, [N], bf16 或 fp16 | | | out_dtype | ScalarType? | 输出精度,默认 bfloat16 | | | contraction_dim | int[] | 指定 contraction 维度(默认 []),"<1B 格式"需指定 | 不处理该参数 | | use_fast_accum | bool | 快速累加 (Hopper Tensor Core) | 按false处理 | <div style="display: flex; gap: 20px; align-items: flex-start; overflow-x: auto;"> <!-- 左侧表格:ScaleType --> <div style="flex: 1; min-width: 300px;"> <div style="font-weight: bold; margin-bottom: 8px; font-size: 1.1em;">ScaleType</div> <table> <thead> <tr> <th>枚举值</th> <th>int 值</th> <th>scale dtype</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>TensorWise</td> <td>0</td> <td>float32</td> <td>整个张量一个缩放因子</td> </tr> <tr> <td>RowWise</td> <td>1</td> <td>float32</td> <td>每行/列一个缩放因子</td> </tr> <tr> <td>BlockWise1x16</td> <td>2</td> <td>float8_e4m3fn</td> <td>NVFP4 块级缩放</td> </tr> <tr> <td>BlockWise1x32</td> <td>3</td> <td>float8_e8m0fnu</td> <td>OCP MX microscaling</td> </tr> <tr> <td>BlockWise1x128</td> <td>4</td> <td>float32</td> <td>DeepSeek 1x128 块</td> </tr> <tr> <td>BlockWise128x128</td> <td>5</td> <td>float32</td> <td>DeepSeek 128x128 块</td> </tr> </tbody> </table> </div> <!-- 右侧表格:SwizzleType --> <div style="flex: 1; min-width: 300px;"> <div style="font-weight: bold; margin-bottom: 8px; font-size: 1.1em;">SwizzleType</div> <table> <thead> <tr> <th>枚举值</th> <th>int 值</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>NO_SWIZZLE</td> <td>0</td> <td>无 swizzle</td> </tr> <tr> <td>SWIZZLE_32_4_4</td> <td>1</td> <td>32x4x4 swizzle (Blackwell 优化)</td> </tr> </tbody> </table> </div> </div> ### _scaled_grouped_mm量化模式限制 当前实现仅支持: - ROWWISE_ROWWISE(FP8) - MXFP8_MXFP8 在MXFP8模式下,scale_a和scale_b的dtype均为float8_e8m0fnu,排布遵循aclnnQuantMatmul/aclnnGroupedMatmul的要求。Grouped Matmul实现分组矩阵乘的功能,对每一组矩阵乘(mat_a, mat_b): | Tensor | shape | | ---------------------- | ----------------- | | mat_a| [M, K] | | mat_b | [K, N] | | scale_a | [M, ceil(K/64), 2]| | scale_b | [ceil(K/64), N, 2)| # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及资料变更。新增API包括: 涉及资料变更。新增API包括: - torch._scaled_mm - torch._scaled_mm_v2 - torch.nn.functional.scaled_mm 其中,torch.nn.functional.scaled_mm由torch._scaled_mm_v2封装实现,从PyTorch 2.10.0版本开始支持。功能约束与torch._scaled_mm_v2相同。 - torch._scaled_grouped_mm - torch._scaled_grouped_mm_v2 - torch.nn.functional.scaled_grouped_mm 其中,torch.nn.functional.scaled_grouped_mm由torch._scaled_grouped_mm_v2封装实现,从PyTorch 2.10.0版本开始支持。功能约束与torch._scaled_grouped_mm_v2相同。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 新增上述六个API。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 [TypeM_E1] 对比结果: 形状: CPU=torch.Size([128, 64]), NPU=torch.Size([128, 64]) 绝对误差: max=0.001953, mean=0.000000 相对误差: max=0.006531, mean=0.000001 最大误差位置: (tensor(65), tensor(29)) 该位置 CPU=-0.298828, NPU=-0.296875 [PASS] ✓ 结果一致 (mean_rel_err=0.0000) [scaled_mm_MXFp8] 对比结果: 形状: CPU=torch.Size([128, 64]), NPU=torch.Size([128, 64]) 绝对误差: max=0.000000, mean=0.000000 相对误差: max=0.000000, mean=0.000000 最大误差位置: (tensor(0), tensor(0)) 该位置 CPU=8.437500, NPU=8.437500 [PASS] ✓ 结果一致 (mean_rel_err=0.0000) # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5050 | 2 个月前 | |
rename 910_95 Co-authored-by: MrMC-<shiqunze@h-partners.com> # message auto-generated for no-merge-commit merge: !4108 merge master-re950 into master rename 910_95 Created-by: MrMC- Commit-by: MrMC- 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!4108 | 6 个月前 | |
Add api:_scaled_grouped_mm, _scaled_grouped_mm_v2, and uts Co-authored-by: wencaiwen<caiwen13@huawei.com> # message auto-generated for no-merge-commit merge: !5050 merge extend into master [feat]Add api:_scaled_grouped_mm, _scaled_grouped_mm_v2, and uts Created-by: wencaiwen Commit-by: wencaiwen 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/122 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 接入aclnnQuantMatmulV5算子,实现原生API torch._scaled_mm和torch._scaled_mm_v2,支持FP8/MXFP8 Matmul。当前仅实现API部分功能(不支持FP4与swizzle),入参约束与社区GPU版本存在差异。 接入aclnnGroupedMatmulV5算子,实现原生API torch._scaled_grouped_mm、torch._scaled_grouped_mm_v2(封装得到torch.nn.functional.scaled_grouped_mm),支持FP8/MXFP8 Grouped Matmul。当前仅实现API部分功能(不支持FP4与swizzle),**入参约束与社区GPU版本存在差异**。 ### 支持PyTorch版本 torch._scaled_mm:2.7.1+ torch._scaled_mm_v2:2.10.0+ torch._scaled_grouped_mm:2.7.1+ torch._scaled_grouped_mm_v2:2.10.0+ torch.nn.functional.scaled_grouped_mm:2.10.0+ ### 硬件要求 ### torch._scaled_mm参数说明 | 参数 | 类型 | 社区GPU版本入参说明 | NPU实现约束 | | ---------------- | -------------- | --------------------------------------------------- | ----------------------------------------------------- | | self (mat_a) | Tensor, [M, K] | 输入矩阵,FP8 (e4m3fn/e5m2) <br>或 FP4 (float4_e2m1fn_x2) | FP4暂不支持 | | mat2 (mat_b) | Tensor, [K, N] | 同上 | 同上 | | scale_a | Tensor | mat_a 缩放因子, shape/dtype 决定缩放模式 | 若dtype为float8_e8m0fnu,<br>排布需满足aclnnQuantMatmulV5入参要求 | | scale_b | Tensor | mat_b 缩放因子 | 同上 | | bias | Tensor? | 可选 bias, [N], bf16/fp16 | | | scale_result | Tensor? | 可选输出缩放因子, fp32 scalar | | | out_dtype | ScalarType? | 输出精度(默认 fp8,常用 bf16) | | | use_fast_accum | bool | 快速累加 (Hopper Tensor Core) | 按false处理 | | **return** | Tensor, [M, N] | 输出矩阵 | | scale的dtype为fp32或float8_e8m0fnu,分别对应FP8和MXFP8计算;**aclnnQuantMatmulV5关于MXFP8的入参要求如下:** | 参数 | shape | | -------------------- | -------------------- | | self(mat_a) | [M, K] | | mat2(mat_b) | [K, N] | | scale_a | [M, ceil(K/64), 2] | | scale_b | [ceil(K/64), N, 2] | ### torch._scaled_mm_v2参数说明 torch._scaled_mm_v2是torch._scaled_mm的升级版,核心差异在于**通过 recipe 显式指定缩放模式**,不再自动推断。社区GPU版本支持更多高级特性包括多级缩放(如 NVFP4 两级缩放)、swizzle 参数和 contraction_dim,但这些特性**当前暂不支持**,因此核心功能与torch._scaled_mm相同(NPU上FP8/MXFP8计算入参要求与aclnnQuantMatmulV5保持一致)。 | 参数 | 类型 | 社区GPU版本入参说明 | 本需求实现约束 | | --------------- | -------------- | ----------------------------------------------- | ---------------- | | self (mat_a) | Tensor, [M, K] | 输入矩阵,FP8 (e4m3fn/e5m2) 或 FP4 (float4_e2m1fn_x2) | FP4暂不支持 | | mat2 (mat_b) | Tensor, [K, N] | 输入矩阵,同上 | 同上 | | scale_a | Tensor[] | mat_a 的缩放因子数组,长度 1(单级)或 2(两级) | 仅支持单级缩放,长度1 | | recipe_a | int[] | ScalingType 枚举值数组,长度匹配 scale_a | 不支持BlockWise1x16 | | swizzle_a | int[] | SwizzleType 枚举值数组,MX/NVFP4 格式时必传 | 按NO_SWIZZLE处理 | | scale_b | Tensor[] | mat_b 的缩放因子数组 | 仅支持单级缩放,长度1 | | recipe_b | int[] | ScalingType 枚举值数组 | 不支持BlockWise1x16 | | swizzle_b | int[] | SwizzleType 枚举值数组 | 按NO_SWIZZLE处理 | | bias | Tensor? | 可选 bias, [N], bf16 或 fp16 | | | out_dtype | ScalarType? | 输出精度,默认 bfloat16 | | | contraction_dim | int[] | 指定 contraction 维度(默认 []),"<1B 格式"需指定 | 不处理该参数 | | use_fast_accum | bool | 快速累加 (Hopper Tensor Core) | 按false处理 | <div style="display: flex; gap: 20px; align-items: flex-start; overflow-x: auto;"> <!-- 左侧表格:ScaleType --> <div style="flex: 1; min-width: 300px;"> <div style="font-weight: bold; margin-bottom: 8px; font-size: 1.1em;">ScaleType</div> <table> <thead> <tr> <th>枚举值</th> <th>int 值</th> <th>scale dtype</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>TensorWise</td> <td>0</td> <td>float32</td> <td>整个张量一个缩放因子</td> </tr> <tr> <td>RowWise</td> <td>1</td> <td>float32</td> <td>每行/列一个缩放因子</td> </tr> <tr> <td>BlockWise1x16</td> <td>2</td> <td>float8_e4m3fn</td> <td>NVFP4 块级缩放</td> </tr> <tr> <td>BlockWise1x32</td> <td>3</td> <td>float8_e8m0fnu</td> <td>OCP MX microscaling</td> </tr> <tr> <td>BlockWise1x128</td> <td>4</td> <td>float32</td> <td>DeepSeek 1x128 块</td> </tr> <tr> <td>BlockWise128x128</td> <td>5</td> <td>float32</td> <td>DeepSeek 128x128 块</td> </tr> </tbody> </table> </div> <!-- 右侧表格:SwizzleType --> <div style="flex: 1; min-width: 300px;"> <div style="font-weight: bold; margin-bottom: 8px; font-size: 1.1em;">SwizzleType</div> <table> <thead> <tr> <th>枚举值</th> <th>int 值</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>NO_SWIZZLE</td> <td>0</td> <td>无 swizzle</td> </tr> <tr> <td>SWIZZLE_32_4_4</td> <td>1</td> <td>32x4x4 swizzle (Blackwell 优化)</td> </tr> </tbody> </table> </div> </div> ### _scaled_grouped_mm量化模式限制 当前实现仅支持: - ROWWISE_ROWWISE(FP8) - MXFP8_MXFP8 在MXFP8模式下,scale_a和scale_b的dtype均为float8_e8m0fnu,排布遵循aclnnQuantMatmul/aclnnGroupedMatmul的要求。Grouped Matmul实现分组矩阵乘的功能,对每一组矩阵乘(mat_a, mat_b): | Tensor | shape | | ---------------------- | ----------------- | | mat_a| [M, K] | | mat_b | [K, N] | | scale_a | [M, ceil(K/64), 2]| | scale_b | [ceil(K/64), N, 2)| # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及资料变更。新增API包括: 涉及资料变更。新增API包括: - torch._scaled_mm - torch._scaled_mm_v2 - torch.nn.functional.scaled_mm 其中,torch.nn.functional.scaled_mm由torch._scaled_mm_v2封装实现,从PyTorch 2.10.0版本开始支持。功能约束与torch._scaled_mm_v2相同。 - torch._scaled_grouped_mm - torch._scaled_grouped_mm_v2 - torch.nn.functional.scaled_grouped_mm 其中,torch.nn.functional.scaled_grouped_mm由torch._scaled_grouped_mm_v2封装实现,从PyTorch 2.10.0版本开始支持。功能约束与torch._scaled_grouped_mm_v2相同。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 新增上述六个API。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 [TypeM_E1] 对比结果: 形状: CPU=torch.Size([128, 64]), NPU=torch.Size([128, 64]) 绝对误差: max=0.001953, mean=0.000000 相对误差: max=0.006531, mean=0.000001 最大误差位置: (tensor(65), tensor(29)) 该位置 CPU=-0.298828, NPU=-0.296875 [PASS] ✓ 结果一致 (mean_rel_err=0.0000) [scaled_mm_MXFp8] 对比结果: 形状: CPU=torch.Size([128, 64]), NPU=torch.Size([128, 64]) 绝对误差: max=0.000000, mean=0.000000 相对误差: max=0.000000, mean=0.000000 最大误差位置: (tensor(0), tensor(0)) 该位置 CPU=8.437500, NPU=8.437500 [PASS] ✓ 结果一致 (mean_rel_err=0.0000) # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5050 | 2 个月前 | |
Add api:_scaled_grouped_mm, _scaled_grouped_mm_v2, and uts Co-authored-by: wencaiwen<caiwen13@huawei.com> # message auto-generated for no-merge-commit merge: !5050 merge extend into master [feat]Add api:_scaled_grouped_mm, _scaled_grouped_mm_v2, and uts Created-by: wencaiwen Commit-by: wencaiwen 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/122 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 接入aclnnQuantMatmulV5算子,实现原生API torch._scaled_mm和torch._scaled_mm_v2,支持FP8/MXFP8 Matmul。当前仅实现API部分功能(不支持FP4与swizzle),入参约束与社区GPU版本存在差异。 接入aclnnGroupedMatmulV5算子,实现原生API torch._scaled_grouped_mm、torch._scaled_grouped_mm_v2(封装得到torch.nn.functional.scaled_grouped_mm),支持FP8/MXFP8 Grouped Matmul。当前仅实现API部分功能(不支持FP4与swizzle),**入参约束与社区GPU版本存在差异**。 ### 支持PyTorch版本 torch._scaled_mm:2.7.1+ torch._scaled_mm_v2:2.10.0+ torch._scaled_grouped_mm:2.7.1+ torch._scaled_grouped_mm_v2:2.10.0+ torch.nn.functional.scaled_grouped_mm:2.10.0+ ### 硬件要求 ### torch._scaled_mm参数说明 | 参数 | 类型 | 社区GPU版本入参说明 | NPU实现约束 | | ---------------- | -------------- | --------------------------------------------------- | ----------------------------------------------------- | | self (mat_a) | Tensor, [M, K] | 输入矩阵,FP8 (e4m3fn/e5m2) <br>或 FP4 (float4_e2m1fn_x2) | FP4暂不支持 | | mat2 (mat_b) | Tensor, [K, N] | 同上 | 同上 | | scale_a | Tensor | mat_a 缩放因子, shape/dtype 决定缩放模式 | 若dtype为float8_e8m0fnu,<br>排布需满足aclnnQuantMatmulV5入参要求 | | scale_b | Tensor | mat_b 缩放因子 | 同上 | | bias | Tensor? | 可选 bias, [N], bf16/fp16 | | | scale_result | Tensor? | 可选输出缩放因子, fp32 scalar | | | out_dtype | ScalarType? | 输出精度(默认 fp8,常用 bf16) | | | use_fast_accum | bool | 快速累加 (Hopper Tensor Core) | 按false处理 | | **return** | Tensor, [M, N] | 输出矩阵 | | scale的dtype为fp32或float8_e8m0fnu,分别对应FP8和MXFP8计算;**aclnnQuantMatmulV5关于MXFP8的入参要求如下:** | 参数 | shape | | -------------------- | -------------------- | | self(mat_a) | [M, K] | | mat2(mat_b) | [K, N] | | scale_a | [M, ceil(K/64), 2] | | scale_b | [ceil(K/64), N, 2] | ### torch._scaled_mm_v2参数说明 torch._scaled_mm_v2是torch._scaled_mm的升级版,核心差异在于**通过 recipe 显式指定缩放模式**,不再自动推断。社区GPU版本支持更多高级特性包括多级缩放(如 NVFP4 两级缩放)、swizzle 参数和 contraction_dim,但这些特性**当前暂不支持**,因此核心功能与torch._scaled_mm相同(NPU上FP8/MXFP8计算入参要求与aclnnQuantMatmulV5保持一致)。 | 参数 | 类型 | 社区GPU版本入参说明 | 本需求实现约束 | | --------------- | -------------- | ----------------------------------------------- | ---------------- | | self (mat_a) | Tensor, [M, K] | 输入矩阵,FP8 (e4m3fn/e5m2) 或 FP4 (float4_e2m1fn_x2) | FP4暂不支持 | | mat2 (mat_b) | Tensor, [K, N] | 输入矩阵,同上 | 同上 | | scale_a | Tensor[] | mat_a 的缩放因子数组,长度 1(单级)或 2(两级) | 仅支持单级缩放,长度1 | | recipe_a | int[] | ScalingType 枚举值数组,长度匹配 scale_a | 不支持BlockWise1x16 | | swizzle_a | int[] | SwizzleType 枚举值数组,MX/NVFP4 格式时必传 | 按NO_SWIZZLE处理 | | scale_b | Tensor[] | mat_b 的缩放因子数组 | 仅支持单级缩放,长度1 | | recipe_b | int[] | ScalingType 枚举值数组 | 不支持BlockWise1x16 | | swizzle_b | int[] | SwizzleType 枚举值数组 | 按NO_SWIZZLE处理 | | bias | Tensor? | 可选 bias, [N], bf16 或 fp16 | | | out_dtype | ScalarType? | 输出精度,默认 bfloat16 | | | contraction_dim | int[] | 指定 contraction 维度(默认 []),"<1B 格式"需指定 | 不处理该参数 | | use_fast_accum | bool | 快速累加 (Hopper Tensor Core) | 按false处理 | <div style="display: flex; gap: 20px; align-items: flex-start; overflow-x: auto;"> <!-- 左侧表格:ScaleType --> <div style="flex: 1; min-width: 300px;"> <div style="font-weight: bold; margin-bottom: 8px; font-size: 1.1em;">ScaleType</div> <table> <thead> <tr> <th>枚举值</th> <th>int 值</th> <th>scale dtype</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>TensorWise</td> <td>0</td> <td>float32</td> <td>整个张量一个缩放因子</td> </tr> <tr> <td>RowWise</td> <td>1</td> <td>float32</td> <td>每行/列一个缩放因子</td> </tr> <tr> <td>BlockWise1x16</td> <td>2</td> <td>float8_e4m3fn</td> <td>NVFP4 块级缩放</td> </tr> <tr> <td>BlockWise1x32</td> <td>3</td> <td>float8_e8m0fnu</td> <td>OCP MX microscaling</td> </tr> <tr> <td>BlockWise1x128</td> <td>4</td> <td>float32</td> <td>DeepSeek 1x128 块</td> </tr> <tr> <td>BlockWise128x128</td> <td>5</td> <td>float32</td> <td>DeepSeek 128x128 块</td> </tr> </tbody> </table> </div> <!-- 右侧表格:SwizzleType --> <div style="flex: 1; min-width: 300px;"> <div style="font-weight: bold; margin-bottom: 8px; font-size: 1.1em;">SwizzleType</div> <table> <thead> <tr> <th>枚举值</th> <th>int 值</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>NO_SWIZZLE</td> <td>0</td> <td>无 swizzle</td> </tr> <tr> <td>SWIZZLE_32_4_4</td> <td>1</td> <td>32x4x4 swizzle (Blackwell 优化)</td> </tr> </tbody> </table> </div> </div> ### _scaled_grouped_mm量化模式限制 当前实现仅支持: - ROWWISE_ROWWISE(FP8) - MXFP8_MXFP8 在MXFP8模式下,scale_a和scale_b的dtype均为float8_e8m0fnu,排布遵循aclnnQuantMatmul/aclnnGroupedMatmul的要求。Grouped Matmul实现分组矩阵乘的功能,对每一组矩阵乘(mat_a, mat_b): | Tensor | shape | | ---------------------- | ----------------- | | mat_a| [M, K] | | mat_b | [K, N] | | scale_a | [M, ceil(K/64), 2]| | scale_b | [ceil(K/64), N, 2)| # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及资料变更。新增API包括: 涉及资料变更。新增API包括: - torch._scaled_mm - torch._scaled_mm_v2 - torch.nn.functional.scaled_mm 其中,torch.nn.functional.scaled_mm由torch._scaled_mm_v2封装实现,从PyTorch 2.10.0版本开始支持。功能约束与torch._scaled_mm_v2相同。 - torch._scaled_grouped_mm - torch._scaled_grouped_mm_v2 - torch.nn.functional.scaled_grouped_mm 其中,torch.nn.functional.scaled_grouped_mm由torch._scaled_grouped_mm_v2封装实现,从PyTorch 2.10.0版本开始支持。功能约束与torch._scaled_grouped_mm_v2相同。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 新增上述六个API。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 [TypeM_E1] 对比结果: 形状: CPU=torch.Size([128, 64]), NPU=torch.Size([128, 64]) 绝对误差: max=0.001953, mean=0.000000 相对误差: max=0.006531, mean=0.000001 最大误差位置: (tensor(65), tensor(29)) 该位置 CPU=-0.298828, NPU=-0.296875 [PASS] ✓ 结果一致 (mean_rel_err=0.0000) [scaled_mm_MXFp8] 对比结果: 形状: CPU=torch.Size([128, 64]), NPU=torch.Size([128, 64]) 绝对误差: max=0.000000, mean=0.000000 相对误差: max=0.000000, mean=0.000000 最大误差位置: (tensor(0), tensor(0)) 该位置 CPU=8.437500, NPU=8.437500 [PASS] ✓ 结果一致 (mean_rel_err=0.0000) # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5050 | 2 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
!1713 fix ops * fix ops | 2 年前 | |
| 1 年前 | ||
add cache_mode for npu_scatter_pa_kv_cache Co-authored-by: DaiFu<daifu2@huawei.com> # message auto-generated for no-merge-commit merge: !4664 merge 2604scatter into master add cache_mode for npu_scatter_pa_kv_cache Created-by: daifu1234567 Commit-by: DaiFu 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能力等内容) npu_scatter_pa_kv_cache接口新增可选参数cache_mode,以支持ND格式输入 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及,对应docs.py和.md已修改 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及,新增可选入参 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已本地验证,功能精度正常:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4664 | 4 个月前 | |
!1713 fix ops * fix ops | 2 年前 | |
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
rename 910_95 Co-authored-by: MrMC-<shiqunze@h-partners.com> # message auto-generated for no-merge-commit merge: !4108 merge master-re950 into master rename 910_95 Created-by: MrMC- Commit-by: MrMC- 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!4108 | 6 个月前 | |
[Feature] [Randomness] Add randomness compatible blacklist handling Co-authored-by: wang_ziqi<wangziqi4@huawei.com> # message auto-generated for no-merge-commit merge: !5441 merge compatible_randomness_26.1.0 into 26.1.0 [Feature] [Randomness] Add randomness compatible blacklist handling Created-by: wang-ziqi-code Commit-by: wang_ziqi 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/2853 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. 在 op_plugin/utils/RandomUtil.h 中集中实现 randomness compatible 处理逻辑,通过 torch_npu CheckCompatibleImplBlackListFor(CompatibleKey::Randomness) 查询 randomness 是否配置 legacy 实现。 2. 新增 randomness counter offset 统一入口 calc_final_counter_offset,compatible 场景使用 GPU/PyTorch 对齐 offset 计算,legacy 场景使用 LEGACY_RAND_COUNTER_OFFSET。 3. 新增 CANN random mode 配置封装 ConfigureCannRandomnessOnce,同一进程内只配置一次。配置值为 CANN_RANDOM_MODE_LEGACY = 0 或 CANN_RANDOM_MODE_COMPAT = 1。 4. PrepareRandomnessCompatible 负责组合 A5 aclnn-only 判断、randomness blacklist 查询和 CANN random mode 配置结果,返回当前是否使用 compatible randomness。 5. A5 supported randomness 调用点会显式配置 CANN random mode;aclnnSetPytorchRandom 符号不存在时打印 INFO 日志,并按 compatible randomness 处理。 6. 当前接入 supported randomness API:torch.nn.init.normal_、torch.randn、torch.normal 相关 overload、torch.nn.init.xavier_uniform_、Tensor.uniform_、Tensor.random_(from, to) / Tensor.random_(to)。 7. 当前 Tensor.random_() without from/to、Tensor.exponential_、torch_npu.npu_sim_exponential_、dropout 使用 support_cann_random_switch=false,不触发 CANN random mode 配置。 8. dropout 路径选择仍由 IsAclnnOnly() 控制;A5 aclnnDropoutV3 分支调用 PrepareRandomnessCompatible(false),当前返回值保持 compatible offset 行为。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及跨仓 C++ 接口依赖、环境变量配置和 CANN 接口依赖,不新增 Python API。 依赖 torch_npu C++ 接口: cpp bool CheckCompatibleImplBlackListFor(CompatibleKey compatible_key); 依赖环境变量: bash TORCH_NPU_LEGACY_IMPL_LIST=randomness 依赖 CANN 接口: cpp aclnnStatus aclnnSetPytorchRandom(int32_t pytorchRandom); # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 已执行静态检查: bash git -C op-plugin diff --check 验证场景: 1. A2/A3:配置或不配置 TORCH_NPU_LEGACY_IMPL_LIST=randomness,randomness API 正常执行,保持 A2/A3 路径行为。 2. A5 + 未配置 TORCH_NPU_LEGACY_IMPL_LIST:supported randomness API 正常执行,使用 compatible offset,并配置 CANN random mode 为 1。 3. A5 + TORCH_NPU_LEGACY_IMPL_LIST=randomness:supported randomness API 正常执行,使用 legacy offset,并配置 CANN random mode 为 0。 4. A5 + aclnnSetPytorchRandom 符号不存在:打印 INFO 日志,supported randomness API 正常执行,使用 compatible offset。 5. support_cann_random_switch=false 的调用点正常执行,不触发 CANN random mode 配置。 6. dropout 训练路径正常执行,p == 0、p == 1、train == false 快捷路径正常执行。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5441 | 1 个月前 | |
| 11 个月前 | ||
!1713 fix ops * fix ops | 2 年前 | |
| 1 年前 | ||
【950】cast && quant类算子回合 Co-authored-by: 李根<ligen75@h-partners.com> Co-authored-by: Wang_Xing001<wangxing73@huawei.com> Co-authored-by: lilongqianxi<lilongqianxi@h-partners.com> Co-authored-by: 田野<tianye82@huawei.com> Co-authored-by: 季骏<jijun1@huawei.com> Co-authored-by: luo-yongqing<luoyongqing4@h-partners.com> Co-authored-by: 赵珩<zhaoheng32@h-partners.com> # message auto-generated for no-merge-commit merge: !3431 merge pta_plugin_sync into master 【950】cast && quant类算子回合 Created-by: yuanbin_22 Commit-by: 赵珩;luo-yongqing;季骏;lilongqianxi;Wang_Xing001;田野;李根 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**: A5代码回合主线: 1)npu_dtype_cast支持float4和float8数据类型 2)新增npu_gelu_quant,npu_grouped_dynamic_mx_quant,npu_dynamic_mx_quant,npu_dynamic_block_quant接口 3)QuantUpdateScatter 图模式设置输出dtype,以适配hifp8 4)【Quantize】输出y设置 desc dtype **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3431 | 8 个月前 | |
bugfix: eliminate redundant operations in sort. Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !5130 merge shangfa into 26.1.0 bugfix: eliminate redundant operations in sort. Created-by: yvjc Commit-by: yvjc Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 消除sort中的冗余操作, 减少内存占用. # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 sort操作的内存占用和标杆对齐, 内存差异在5%以内. # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5130 | 2 个月前 | |
add dsa Co-authored-by: DaiFu<daifu2@huawei.com> # message auto-generated for no-merge-commit merge: !3529 merge 2511dsa into master add dsa Created-by: daifu1234567 Commit-by: DaiFu Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > /kind task **What does this PR do / why do we need it**: 新增LIG、SFAG及SLIGKLoss适配。 **Special notes for your reviewers**: 已本地单api和模型侧验证,无功能问题。用例及对外文档后续补充。    See merge request: Ascend/op-plugin!3529 | 8 个月前 | |
[fix] Refine shape inference for optional outputs of LI and SFA operators. Co-authored-by: zzzyh22<zhangyaohui22@huawei.com> # message auto-generated for no-merge-commit merge: !4400 merge master into master [fix] Refine shape inference for optional outputs of LI and SFA operators. Created-by: zzzyh22 Commit-by: zzzyh22 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能力等内容) LI和SFA算子,当输出flag为false时,可选输出shape推导为[0]。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4400 | 5 个月前 | |
add dsa Co-authored-by: DaiFu<daifu2@huawei.com> # message auto-generated for no-merge-commit merge: !3529 merge 2511dsa into master add dsa Created-by: daifu1234567 Commit-by: DaiFu Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > /kind task **What does this PR do / why do we need it**: 新增LIG、SFAG及SLIGKLoss适配。 **Special notes for your reviewers**: 已本地单api和模型侧验证,无功能问题。用例及对外文档后续补充。    See merge request: Ascend/op-plugin!3529 | 8 个月前 | |
[fix]split_with_sizes_copy performance reduction Co-authored-by: zqwenn<zhangqiongwen@huawei.com> # message auto-generated for no-merge-commit merge: !3466 merge master_split_fix into master [fix]split_with_sizes_copy performance reduction Created-by: zqwenn Commit-by: zqwenn 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**: 融合算子只在部分场景性能有优化,非优化场景下aclnn的性能劣于小算子拼接性能。这个pr修复性能出现劣化的场景,只保留特定场景接入aclnn,其余场景走小算子。 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3466 | 8 个月前 | |
fix(npu): correction 非整数时对 std/var 走 CPU 回退 Co-authored-by: Margaret_wangrui<wangrui178@huawei.com> # message auto-generated for no-merge-commit merge: !4997 merge std into master fix(npu): correction 非整数时对 std/var 走 CPU 回退 Created-by: Margaret_wangrui Commit-by: Margaret_wangrui Merged-by: ascend-robot Description: # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/2069 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. **新增工具函数**: - 在 op_plugin/utils/StdVarCorrectionUtils.h 中新增 correction_fits_aclnn_int64 函数 - 该函数用于检查 correction 参数是否可以精确转换为 int64 类型 - 检查逻辑包括:无值情况、整数类型、非浮点数类型、浮点数范围和精度检查 2. **Std 函数修复**: - 在 op_plugin/ops/aclops/StdKernelNpu.cpp 中的 std_out、std、std_mean 函数中添加 CPU 回退逻辑 - 当 correction 不适合 aclnn 处理时,将计算回退到 CPU 执行,以保证精度 3. **Var 函数修复**: - 在 op_plugin/ops/aclops/VarKernelNpu.cpp 中的 var_out、var、var_mean 函数中添加相同的 CPU 回退逻辑 - 实现方式与 Std 函数类似,确保语义一致性 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图    1. **测试场景**: - 整数 correction 情况:确保 NPU 加速正常工作 - 非整数 correction 情况:确保结果与 CPU 版本一致 - 边界值测试:如 correction 为负数、零、大数等情况 - 不同数据类型和维度的张量测试 2. **测试方法**: - 运行现有的 test_std.py 和 test_var.py 测试用例 - 新增针对非整数 correction 的测试用例 - 对比 NPU 和 CPU 版本的计算结果 3. **UT测试**: - 已适配现有 UT 测试用例 - 测试用例覆盖各种 correction 类型和边界情况 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 \[ ] 为 \[x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4997 | 2 个月前 | |
fix(npu): correction 非整数时对 std/var 走 CPU 回退 Co-authored-by: Margaret_wangrui<wangrui178@huawei.com> # message auto-generated for no-merge-commit merge: !4997 merge std into master fix(npu): correction 非整数时对 std/var 走 CPU 回退 Created-by: Margaret_wangrui Commit-by: Margaret_wangrui Merged-by: ascend-robot Description: # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/2069 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. **新增工具函数**: - 在 op_plugin/utils/StdVarCorrectionUtils.h 中新增 correction_fits_aclnn_int64 函数 - 该函数用于检查 correction 参数是否可以精确转换为 int64 类型 - 检查逻辑包括:无值情况、整数类型、非浮点数类型、浮点数范围和精度检查 2. **Std 函数修复**: - 在 op_plugin/ops/aclops/StdKernelNpu.cpp 中的 std_out、std、std_mean 函数中添加 CPU 回退逻辑 - 当 correction 不适合 aclnn 处理时,将计算回退到 CPU 执行,以保证精度 3. **Var 函数修复**: - 在 op_plugin/ops/aclops/VarKernelNpu.cpp 中的 var_out、var、var_mean 函数中添加相同的 CPU 回退逻辑 - 实现方式与 Std 函数类似,确保语义一致性 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图    1. **测试场景**: - 整数 correction 情况:确保 NPU 加速正常工作 - 非整数 correction 情况:确保结果与 CPU 版本一致 - 边界值测试:如 correction 为负数、零、大数等情况 - 不同数据类型和维度的张量测试 2. **测试方法**: - 运行现有的 test_std.py 和 test_var.py 测试用例 - 新增针对非整数 correction 的测试用例 - 对比 NPU 和 CPU 版本的计算结果 3. **UT测试**: - 已适配现有 UT 测试用例 - 测试用例覆盖各种 correction 类型和边界情况 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 \[ ] 为 \[x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4997 | 2 个月前 | |
fix torch.stft bug on ouput shape when input is empty tensor Co-authored-by: XianglongZeng<zengxianglong1@huawei.com> # message auto-generated for no-merge-commit merge: !5332 merge 26.1.0 into 26.1.0 fix torch.stft bug on ouput shape when input is empty tensor 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 此前torch.stft在 get_output_size 中,使用 batch > 0 来判定是否在输出形状中包含 batch 维度,若batch = 0则舍弃batch维,导致空tensor输入场景下和标杆的输出shape不对齐,改为空tensor下绕过算子调用,直接返回shape正确的空tensor输出 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 atk用例:  ut用例:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5332 | 1 个月前 | |
| 1 年前 | ||
| 11 个月前 | ||
[feat]新增swiglu_backward_mx_quant_with_dual_axis接口 Co-authored-by: ZhangW<zhangwei1176@huawei.com> # message auto-generated for no-merge-commit merge: !4927 merge swiglu_backward into master [feat]新增swiglu_backward_mx_quant_with_dual_axis接口 Created-by: ZhangWei1176 Commit-by: ZhangW Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求https://gitcode.com/Ascend/op-plugin/issues/128 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 本次PR新增了一个名为 _npu_swiglu_backward_mx_quant_with_dual_axis 的自定义算子。该算子支持在双轴(dual axis)模式下进行混合精度量化,旨在为深度学习模型推理提供更灵活、高效的量化选项,以优化计算性能和内存使用。 首先,在YAML配置文件中注册了该算子的接口定义。其次,在C++层实现了算子的核心API,包括输入校验、输出张量形状计算、内存分配,并最终调用底层硬件加速内核执行计算。同时,在JSON配置文件中更新了算子API模式测试的schema。最后,新增了对应的Python单元测试,用于验证算子在特定数据类型(如float8_e4m3fn)的功能正确性。整个方案覆盖了算子生命周期的配置、实现与验证环节。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ut通过截图:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4927 | 2 个月前 | |
feat:新增算子SwigluMxQuant接口 Co-authored-by: cao-ren-lei<caorenlei@huawei.com> # message auto-generated for no-merge-commit merge: !4552 merge master into master feat:新增算子SwigluMxQuant接口 Created-by: caorenlei Commit-by: cao-ren-lei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 新增SwigluMxQuant算子的torch_npu接口 # 【资料变更】 不涉及 # 【接口变更】 新增SwigluMxQuant算子的torch_npu接口 # 【功能验证】 新增接口的test ut用例执行成功  本地用例自测成功:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4552 | 4 个月前 | |
[feat]修改SwigluMxQuantWithDualAxis在无group_index场景下的shape推导 Co-authored-by: cao-ren-lei<caorenlei@huawei.com> # message auto-generated for no-merge-commit merge: !4968 merge 0518 into master [feat]修改SwigluMxQuantWithDualAxis在无group_index场景下的shape推导 Created-by: caorenlei Commit-by: cao-ren-lei 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/108 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 修改SwigluMxQuantWithDualAxis算子在无group_index场景下的shape推导。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 1.取pr流水线构建包进行本地验证,安装正常。 2.当前shape修改内容,ci-ut已通过。 3.本地自验证:  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4968 | 2 个月前 | |
add torch_npu.npu_swiglu_quant api, based on aclnnSwiGluQuantV2 Co-authored-by: zhaoyu20121997<nanzhaogang@qq.com> # message auto-generated for no-merge-commit merge: merge swiglu_pr into master add torch_npu.npu_swiglu_quant api, based on aclnnSwiGluQuantV2 Created-by: zhaoyu20121997 Commit-by: zhaoyu20121997 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 feature **What does this PR do / why do we need it**: 新增torch_npu.npu_swiglu_quant接口,接入aclnnSwiGluQuantV2算子 **Special notes for your reviewers**: 接口说明请参考提交的文件docs/context/torch_npu-npu_swiglu_quant.md See merge request: Ascend/op-plugin!3167 | 10 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
fix the indices dtype bug in topk and add instance in test_topk Co-authored-by: jjt_3<1926550527@qq.com> # message auto-generated for no-merge-commit merge: !4075 merge topk_indices_bug into master fix the indices dtype bug in topk and add instance in test_topk Created-by: jjt_3 Commit-by: jjt_3 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!4075 | 6 个月前 | |
修复topktoppsample兼容性问题 Co-authored-by: zerosaki_admin<chenzhaominyi1@huawei.com> # message auto-generated for no-merge-commit merge: !4607 merge topktoppfix_master into master 修复topktoppsample兼容性问题 Created-by: zerosaki_admin Commit-by: zerosaki_admin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 去除接口中的*,将关键字参数变为位置参数。并将参数顺序换为原接口的顺序。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 将参数顺序换为原接口的顺序。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 将参数顺序换为原接口的顺序。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 UT文件test_top_k_top_p_sample.py验证通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4607 | 4 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
[fix] Enable cube_math_type passthrough for matmul-related ops Co-authored-by: adelaideliu<adelaideliu@163.com> # message auto-generated for no-merge-commit merge: !4618 merge master_cube_math_type into master [fix] Enable cube_math_type passthrough for matmul-related ops Created-by: adelaideliu Commit-by: adelaideliu Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 aclnnAddmv, aclnnAddbmm, aclnnBaddbmm, aclnnInplaceAddbmm, aclnnInplaceBaddbmm, aclnnBatchMatMul, aclnnBatchMatMulWeightNz, aclnnFusedMatmul, aclnnGemm, aclnnAddmm, aclnnInplaceAddmm, aclnnAddmmWeightNz, aclnnMatmul, aclnnMatmulWeightNz, aclnnMm, aclnnMv, aclnnTransposeBatchMatMul, aclnnTransposeBatchMatMulWeightNz增加cube_math_type接口 # 【资料变更】 “不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4618 | 4 个月前 | |
TQBMM算子增加NZ输入的单算子通路,增加x1_dtype和x2_dtype可选输入 Co-authored-by: jgx12<jingaoxiang@huawei.com> # message auto-generated for no-merge-commit merge: !4890 merge tqbmm_nz into master TQBMM算子增加NZ输入的单算子通路,增加x1_dtype和x2_dtype可选输入 Created-by: jgx12 Commit-by: jgx12 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/111 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) op-plugin(PyTorch 扩展层):新增 KernelNpuOpApi 实现,根据 x2 格式分支调用不同 ACLNN 接口 at::Tensor npu_transpose_quant_batchmatmul(...) { // ... 参数处理与 output size 计算 ... bool is_nd_nz_format = op_plugin::utils::is_nz_format(x2) && !op_plugin::utils::is_nz_format(x1); if (is_nd_nz_format) { // x2 为 NZ 格式,调用 WeightNz 版本的 ACLNN 接口 EXEC_NPU_CMD(aclnnTransposeQuantBatchMatMulWeightNz, x1, x2, bias_real, ...); } else { // x2 为 ND 格式,调用标准 ACLNN 接口 EXEC_NPU_CMD(aclnnTransposeQuantBatchMatMul, x1, x2, bias_real, ...); } return result; } # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及接口变更,增加x1_dtype和x2_dtype可选输入。用于当x1,x2为hifloat8时,torch原生不支持,使用x1_dtype和x2_dtype传入对应数据类型 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图  # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4890 | 2 个月前 | |
[fix] update unfold_backward check cann version Co-authored-by: zqwenn<zhangqiongwen@huawei.com> # message auto-generated for no-merge-commit merge: merge master_unfold_backward_cann_check into master [fix] update unfold_backward check cann version Created-by: zqwenn Commit-by: zqwenn 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!3215 | 10 个月前 | |
[feat][A5] random number computation logic alian to PyTorch/GPU Co-authored-by: wanglijun55<wanglijun54@huawei.com> Co-authored-by: 贾剑勇<jiajianyong123@hisilicon.com> # message auto-generated for no-merge-commit merge: !5010 merge master into master [feat][A5] random number computation logic alian to PyTorch/GPU Created-by: wanglijun55 Commit-by: wanglijun55;贾剑勇 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/104 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、counter_offset原先硬编码10,改成和GPU一致,根据tensor计算 2、normal在A5且输入为double类型时,调用aclnnInplaceRandomWithoutFromTo;否则走原逻辑; # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 test_uniform_.py  test_normal.py  test_random.py  demo对比A5和H20,指数分布和均匀分布下,生成的随机数分布严格一致  # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5010 | 2 个月前 | |
Delete code for v1.11.0 and v2.0 (6/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge new into master Delete code for v1.11.0 and v2.0 (6/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3186 | 10 个月前 | |
solve the problem of high memory usage in tensor.unique_consecutive Co-authored-by: zhaoyu20121997<nanzhaogang@qq.com> # message auto-generated for no-merge-commit merge: merge uniqueConsecutive into master solve the problem of high memory usage in tensor.unique_consecutive Created-by: zhaoyu20121997 Commit-by: zhaoyu20121997 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**: 解决tensor.unique_consecutive接口显存占用过高的问题: **Special notes for your reviewers**: 之前的逻辑:当传入的dim不为空时就为y_inverse和y_counts申请显存; 修改后的逻辑:当return_inverse、return_counts为True时,才为y_inverse和y_counts申请显存,否则为其赋值空tensor,避免申请大量无意义的显存; See merge request: Ascend/op-plugin!3184 | 10 个月前 | |
| 1 年前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
Delete code for v1.11.0 and v2.0 (6/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge new into master Delete code for v1.11.0 and v2.0 (6/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3186 | 10 个月前 | |
Delete code for v1.11.0 and v2.0 (6/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge new into master Delete code for v1.11.0 and v2.0 (6/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3186 | 10 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
Delete code for v1.11.0 and v2.0 (6/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge new into master Delete code for v1.11.0 and v2.0 (6/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3186 | 10 个月前 | |
修改了upsample_binlinear_2d中scales_h_attr、scales_w_attr传入的默认值 Co-authored-by: jjt_3<1926550527@qq.com> # message auto-generated for no-merge-commit merge: !4144 merge modupsamplebilinear2d into master 修改了upsample_binlinear_2d中scales_h_attr、scales_w_attr传入的默认值 Created-by: jjt_3 Commit-by: jjt_3 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!4144 | 5 个月前 | |
Delete code for v1.11.0 and v2.0 (6/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge new into master Delete code for v1.11.0 and v2.0 (6/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3186 | 10 个月前 | |
Delete code for v1.11.0 and v2.0 (6/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge new into master Delete code for v1.11.0 and v2.0 (6/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3186 | 10 个月前 | |
Delete code for v1.11.0 and v2.0 (6/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge new into master Delete code for v1.11.0 and v2.0 (6/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3186 | 10 个月前 | |
Delete code for v1.11.0 and v2.0 (6/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge new into master Delete code for v1.11.0 and v2.0 (6/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3186 | 10 个月前 | |
Delete code for v1.11.0 and v2.0 (6/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge new into master Delete code for v1.11.0 and v2.0 (6/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3186 | 10 个月前 | |
Delete code for v1.11.0 and v2.0 (6/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge new into master Delete code for v1.11.0 and v2.0 (6/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3186 | 10 个月前 | |
Delete code for v1.11.0 and v2.0 (6/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge new into master Delete code for v1.11.0 and v2.0 (6/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3186 | 10 个月前 | |
Delete code for v1.11.0 and v2.0 (6/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge new into master Delete code for v1.11.0 and v2.0 (6/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3186 | 10 个月前 | |
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
Delete code for v1.11.0 and v2.0 (6/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge new into master Delete code for v1.11.0 and v2.0 (6/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3186 | 10 个月前 | |
Delete code for v1.11.0 and v2.0 (6/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge new into master Delete code for v1.11.0 and v2.0 (6/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3186 | 10 个月前 | |
fix(npu): correction 非整数时对 std/var 走 CPU 回退 Co-authored-by: Margaret_wangrui<wangrui178@huawei.com> # message auto-generated for no-merge-commit merge: !4997 merge std into master fix(npu): correction 非整数时对 std/var 走 CPU 回退 Created-by: Margaret_wangrui Commit-by: Margaret_wangrui Merged-by: ascend-robot Description: # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> https://gitcode.com/Ascend/pytorch/issues/2069 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 1. **新增工具函数**: - 在 op_plugin/utils/StdVarCorrectionUtils.h 中新增 correction_fits_aclnn_int64 函数 - 该函数用于检查 correction 参数是否可以精确转换为 int64 类型 - 检查逻辑包括:无值情况、整数类型、非浮点数类型、浮点数范围和精度检查 2. **Std 函数修复**: - 在 op_plugin/ops/aclops/StdKernelNpu.cpp 中的 std_out、std、std_mean 函数中添加 CPU 回退逻辑 - 当 correction 不适合 aclnn 处理时,将计算回退到 CPU 执行,以保证精度 3. **Var 函数修复**: - 在 op_plugin/ops/aclops/VarKernelNpu.cpp 中的 var_out、var、var_mean 函数中添加相同的 CPU 回退逻辑 - 实现方式与 Std 函数类似,确保语义一致性 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图    1. **测试场景**: - 整数 correction 情况:确保 NPU 加速正常工作 - 非整数 correction 情况:确保结果与 CPU 版本一致 - 边界值测试:如 correction 为负数、零、大数等情况 - 不同数据类型和维度的张量测试 2. **测试方法**: - 运行现有的 test_std.py 和 test_var.py 测试用例 - 新增针对非整数 correction 的测试用例 - 对比 NPU 和 CPU 版本的计算结果 3. **UT测试**: - 已适配现有 UT 测试用例 - 测试用例覆盖各种 correction 类型和边界情况 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 \[ ] 为 \[x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4997 | 2 个月前 | |
| 11 个月前 | ||
| 11 个月前 | ||
rename 910_95 Co-authored-by: MrMC-<shiqunze@h-partners.com> # message auto-generated for no-merge-commit merge: !4108 merge master-re950 into master rename 910_95 Created-by: MrMC- Commit-by: MrMC- 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!4108 | 6 个月前 | |
fix where for scalar tensor Co-authored-by: DaiFu<daifu2@huawei.com> # message auto-generated for no-merge-commit merge: !3730 merge 2512where into master fix where for scalar tensor Created-by: daifu1234567 Commit-by: DaiFu Merged-by: ascend-robot Description: <!-- Thanks for sending a pull request! --> **What type of PR is this?** > Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line: > > /kind bug **What does this PR do / why do we need it**: fix where for scalar tensor **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3730 | 8 个月前 | |
Delete code for v1.11.0 and v2.0 (6/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge new into master Delete code for v1.11.0 and v2.0 (6/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3186 | 10 个月前 | |
[fix] remove zeros_like over adapt to support _native_mha in compile Co-authored-by: zqwenn<zhangqiongwen@huawei.com> # message auto-generated for no-merge-commit merge: !3693 merge master_remove_zeros_like into master [fix] remove zeros_like over adapt to support _native_mha in compile Created-by: zqwenn Commit-by: zqwenn 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!3693 | 7 个月前 | |
[sync] PR-5022:新增_npu_rms_norm_backward_quant 融合算子接口 Co-authored-by: guoxu7<guoxu48@huawei.com> # message auto-generated for no-merge-commit merge: !5149 merge RmsNormBackwardQuant-26.1.0 into 26.1.0 [sync] PR-5022:新增_npu_rms_norm_backward_quant 融合算子接口 Created-by: guoxu7 Commit-by: guoxu7 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/op-plugin/issues/139 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 新增 _npu_rms_norm_backward_quant 融合算子,将 RmsNorm 反向梯度计算与量化操作融合为单一算子调用,减少中间 Tensor 分配和内核启动开销。 具体实现: 1. 在 op_plugin/ops/opapi/_RmsNormBackwardQuantKernelNpuOpApi.cpp 中实现算子逻辑,通过 EXEC_NPU_CMD(aclnnRmsNormGradQuant, ...) 调用底层融合内核 2. 在 op_plugin/config/op_plugin_functions.yaml 中注册算子签名,适配 all_version 3. 在 op_plugin/python/meta/_meta_registrations.py 中添加 Meta 函数注册,支持 FakeTensor 推导 算子签名: _npu_rms_norm_backward_quant(Tensor dy, Tensor x, Tensor rstd, Tensor gamma, Tensor scale_x, *, Tensor? offset_x=None, bool? div_mode=True, str quant_mode="static", int? dst_type=1) -> (Tensor, Tensor) 输出: - dx_out:量化后的梯度,shape 与 dy 相同,dtype 由 dst_type 指定(默认 INT8) - dgamma_out:gamma 梯度,shape 与 gamma 相同,dtype 为 FLOAT32 # 【资料变更】 不涉及 # 【接口变更】 新增 torch_npu._npu_rms_norm_backward_quant 接口,参数说明: - dy (Tensor): 上游梯度 - x (Tensor): 前向输入 - rstd (Tensor): 前向计算的 rstd(float32) - gamma (Tensor): 归一化权重 - scale_x (Tensor): 量化 scale - offset_x (Tensor, optional): 量化 offset - div_mode (bool, optional): 量化除法模式,默认 True - quant_mode (str, optional): 量化模式,默认 "static" - dst_type (int, optional): 输出数据类型枚举值,默认 1(INT8) # 【功能验证】 新增 test/test_custom_ops/test_npu_rms_norm_backward_quant.py 自验证用例,在 Ascend950 上对比 npu_rms_norm_backward + npu_quantize 拆分方案与融合算子的输出一致性,测试通过。 同时在 test/core_tests/test_fake_tensor.py 中新增 FakeTensor 推导测试。 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!5149 | 2 个月前 | |
Delete code for v1.11.0 and v2.0 (5/n) Co-authored-by: 刘嘉巍<843972097@qq.com> # message auto-generated for no-merge-commit merge: merge dev into master Delete code for v1.11.0 and v2.0 (5/n) Created-by: liu-jiaweikf Commit-by: 刘嘉巍 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**: 删除代码中仅支持v1.11/v2.0的部分 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3187 | 10 个月前 | |
convolution-meta Co-authored-by: cuiduo<cuiduo1@huawei.com> # message auto-generated for no-merge-commit merge: !4188 merge master into master convolution-meta Created-by: cuiduo Commit-by: cuiduo Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 >1. 新增convolution_算子的meta注册,确保convolution_算子可以入图。 >2.将 __ior__ 算子绑定至bitwise_or_ 以确保与标杆行为一致。 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 ## _convolution测试代码 > 测试代码: @parametrize('shape', [(1, 3, 32, 32)]) @parametrize('dtype', ['float32']) def test_convolution(self, shape, dtype): def op_calc(first_element, second_element, ele): result = torch.ops.aten._convolution(first_element, second_element, bias=None, stride=[1,1], padding=[0,0], dilation=[1,1], transposed=False, output_padding=[0,0], groups=1, benchmark=False, deterministic=False, cudnn_enabled=False) result += ele return result first_element = self._generate_tensor(shape, dtype) second_element = self._generate_tensor((16, 3, 3, 3), dtype) ele = self._generate_tensor((1, 16, 30, 30), dtype) std_sum = op_calc(first_element, second_element, ele) compiled_op_calc = torch.compile(op_calc, backend="inductor",dynamic=False) inductor_sum = compiled_op_calc(first_element, second_element, ele) self.assertEqual(std_sum, inductor_sum) 输出fx图: class <lambda>(torch.nn.Module): def forward(self, arg0_1: "f32[1, 16, 30, 30]", arg1_1: "f32[16, 3, 3, 3]", arg2_1: "f32[1, 3, 32, 32]", arg3_1: "f32[1, 16, 30, 30]"): # File: /home/cuiduo/jiekou_test/test_api.py/aten_convolution_out.py:44 in op_calc, code: torch.ops.aten._convolution.out(first_element, _convolution: "f32[1, 16, 30, 30]" = torch.ops.aten._convolution.default(arg2_1, arg1_1, None, [1, 1], [0, 0], [1, 1], False, [0, 0], 1, False, False, False, True); arg2_1 = arg1_1 = None # File: /home/cuiduo/jiekou_test/test_api.py/aten_convolution_out.py:58 in op_calc, code: output += ele add: "f32[1, 16, 30, 30]" = torch.ops.aten.add.Tensor(_convolution, arg3_1); _convolution = arg3_1 = None copy_: "f32[1, 16, 30, 30]" = torch.ops.aten.copy_.default(arg0_1, add); arg0_1 = add = None return (copy_,) ## __ior__测试代码 @parametrize('shape', [(4, 4)]) @parametrize('dtype', ['int32']) def test_ior_(self, shape, dtype): def op_calc(first_element, second_element): result = torch.ops.aten.__ior__(first_element, second_element) result += first_element return result first_element = self._generate_tensor(shape, dtype) second_element = self._generate_tensor(shape, dtype) std_sum = op_calc(first_element, second_element) compiled_op_calc = torch.compile(op_calc, backend="inductor", dynamic=False) inductor_sum = compiled_op_calc(first_element, second_element) self.assertEqual(std_sum, inductor_sum) 输出fx图: class <lambda>(torch.nn.Module): def forward(self, arg0_1: "i32[4, 4]", arg1_1: "i32[4, 4]"): # File: /home/cuiduo/jiekou_test/test_api.py/aten_ior.py:12 in op_calc, code: result = torch.ops.aten.__ior__(first_element, second_element) bitwise_or: "i32[4, 4]" = torch.ops.aten.bitwise_or.Tensor(arg1_1, arg0_1); arg0_1 = None # File: /home/cuiduo/jiekou_test/test_api.py/aten_ior.py:13 in op_calc, code: result += first_element add: "i32[4, 4]" = torch.ops.aten.add.Tensor(bitwise_or, bitwise_or); bitwise_or = None copy_: "i32[4, 4]" = torch.ops.aten.copy_.default(arg1_1, add); arg1_1 = add = None return (copy_,) # 【CheckList > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!4188 | 6 个月前 | |
feat:shift ops apply aclnn Co-authored-by: chenshuai<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !3855 merge lshift_1222 into master feat:shift ops apply aclnn Created-by: culechan Commit-by: chenshuai 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!3855 | 7 个月前 | |
rshift apply aclnn Co-authored-by: SCh-zx<1325467101@qq.com> # message auto-generated for no-merge-commit merge: !3897 merge master into master rshift apply aclnn Created-by: SCh_zx Commit-by: 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**: 添加aclnn路径 修复用例没有测试标量的问题 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3897 | 7 个月前 | |
feat:shift ops apply aclnn Co-authored-by: chenshuai<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !3855 merge lshift_1222 into master feat:shift ops apply aclnn Created-by: culechan Commit-by: chenshuai 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!3855 | 7 个月前 | |
rshift apply aclnn Co-authored-by: SCh-zx<1325467101@qq.com> # message auto-generated for no-merge-commit merge: !3897 merge master into master rshift apply aclnn Created-by: SCh_zx Commit-by: 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**: 添加aclnn路径 修复用例没有测试标量的问题 **Special notes for your reviewers**: See merge request: Ascend/op-plugin!3897 | 7 个月前 | |
| 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 6 个月前 | ||
| 5 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 4 个月前 | ||
| 5 个月前 | ||
| 7 个月前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 5 个月前 | ||
| 3 个月前 | ||
| 4 个月前 | ||
| 11 个月前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 2 年前 | ||
| 10 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 9 个月前 | ||
| 5 个月前 | ||
| 2 年前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 7 个月前 | ||
| 10 个月前 | ||
| 9 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 11 个月前 | ||
| 5 个月前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 8 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 6 个月前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 6 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 3 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 6 个月前 | ||
| 9 个月前 | ||
| 10 个月前 | ||
| 8 个月前 | ||
| 2 年前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 6 个月前 | ||
| 4 个月前 | ||
| 3 个月前 | ||
| 4 个月前 | ||
| 6 个月前 | ||
| 7 个月前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 1 个月前 | ||
| 6 个月前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 年前 | ||
| 8 个月前 | ||
| 10 个月前 | ||
| 9 个月前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 5 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 6 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 11 个月前 | ||
| 4 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 11 个月前 | ||
| 2 年前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 6 个月前 | ||
| 3 个月前 | ||
| 7 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 29 天前 | ||
| 6 个月前 | ||
| 11 个月前 | ||
| 2 个月前 | ||
| 2 年前 | ||
| 5 个月前 | ||
| 1 年前 | ||
| 2 个月前 | ||
| 5 个月前 | ||
| 3 个月前 | ||
| 1 年前 | ||
| 4 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 2 个月前 | ||
| 6 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 8 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 6 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 5 个月前 | ||
| 1 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 11 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 2 年前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 1 年前 | ||
| 7 个月前 | ||
| 1 年前 | ||
| 3 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 2 年前 | ||
| 11 个月前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 11 个月前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 11 个月前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 1 个月前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 5 个月前 | ||
| 2 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 5 个月前 | ||
| 1 年前 | ||
| 5 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 7 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 7 个月前 | ||
| 4 个月前 | ||
| 7 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 11 个月前 | ||
| 3 个月前 | ||
| 6 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 2 年前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 6 个月前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 6 个月前 | ||
| 2 个月前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 4 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 2 个月前 | ||
| 8 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 6 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 4 个月前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 6 个月前 | ||
| 1 个月前 | ||
| 11 个月前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 2 个月前 | ||
| 8 个月前 | ||
| 5 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 年前 | ||
| 11 个月前 | ||
| 2 个月前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 6 个月前 | ||
| 4 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 4 个月前 | ||
| 2 个月前 | ||
| 10 个月前 | ||
| 2 个月前 | ||
| 10 个月前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 11 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 5 个月前 | ||
| 10 个月前 | ||
| 10 个月前 | ||
| 10 个月前 | ||
| 10 个月前 | ||
| 10 个月前 | ||
| 10 个月前 | ||
| 10 个月前 | ||
| 10 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 10 个月前 | ||
| 10 个月前 | ||
| 2 个月前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 6 个月前 | ||
| 8 个月前 | ||
| 10 个月前 | ||
| 7 个月前 | ||
| 2 个月前 | ||
| 10 个月前 | ||
| 6 个月前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 1 年前 |