文件最后提交记录最后更新时间
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_* 本地验证通过: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/a86b2c04-9d92-4927-bef3-dc606f9cb7fe/image.png 'image.png') 新增ut通过: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/f91cfbe2-5941-4bba-b4ec-c7f2ebb32f14/image.png 'image.png') # 【CheckList】 > PR 提交人对以下 CheckList 自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR 标题正确使用类型标签,如:feat、fix、refactor、docs、test 等 - [x] PR 持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!499625 天前
!2210 [Fix] Fix special case and add check for adaptive_avg_pool2d. Merge pull request !2210 from 刘嘉巍/dev1 年前
!2488 Refactor compability judgement. Merge pull request !2488 from 刘嘉巍/master1 年前
[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的值, 测试算子功能是否正常 测试用例: ![ScreenShot_202602.PNG](https://raw.gitcode.com/user-images/assets/7403085/0bd2fbd1-d550-43e2-98f3-5d060daa9ef6/ScreenShot_202602.PNG 'ScreenShot_202602.PNG') 适配前: ![before.PNG](https://raw.gitcode.com/user-images/assets/7403085/8f3cd87f-877a-4888-8af7-a37e93f121bd/before.PNG 'before.PNG') 适配后: ![after.PNG](https://raw.gitcode.com/user-images/assets/7403085/8550e3d4-df3d-4cf4-8080-17f7ecd7819d/after.PNG 'after.PNG') # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!41964 个月前
[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中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 构造的相关测试用例已通过 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/a9871c20-7ddd-42a3-acc8-00118fbea430/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!43163 个月前
!1713 fix ops * fix ops1 年前
!1713 fix ops * fix ops1 年前
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: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b08ca96c-7b27-4072-9557-c422bfc8ca2f/image.png 'image.png') npu_rms_norm_dynamic_mx_quant: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/326fa3c6-acd4-4f42-aff3-d276998f8afc/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!44292 个月前
【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!43213 个月前
[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!35585 个月前
[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!46182 个月前
!2770 fix fuzz addcdiv Merge pull request !2770 from zhangqiongwen/master_addcdiv_fuzz11 个月前
!2542 fix bug when addcmul broadcast Merge pull request !2542 from zhangqiongwen/master_addcmul_bug_fix1 年前
注册_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!41643 个月前
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!46211 个月前
[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!46182 个月前
!3031 add AdvanceStep to support speculative inference Merge pull request !3031 from 陈赵旻熠/AdvanceStep9 个月前
[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!46182 个月前
!2302 [5/N] cleancode Merge pull request !2302 from zhangqiongwen/master_cleancode_051 年前
[feat][ops]AllGatherMatmul/MatmulReduceScatter base接口新增代际隔离 Co-authored-by: 陈佳乐<chenjiale56@huawei.com> # message auto-generated for no-merge-commit merge: !5100 merge aicpu into master [feat][ops]AllGatherMatmul/MatmulReduceScatter base接口新增代际隔离 Created-by: chenjiale56 Commit-by: 陈佳乐 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 Issue [#114](https://gitcode.com/Ascend/op-plugin/issues/114) Issue [#113](https://gitcode.com/Ascend/op-plugin/issues/113) - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 当前950版本AllGatherMatmulV2/MatmulReduceScatterV2 算子已支持ai_cpu通信能力,但comm_mode选择逻辑与910B/910C不同,因此需要隔离芯片代际; 修改后接口首先判断芯片型号,如果为950则comm_mode默认值为""并执行aclnnV2接口;如果不为950则comm_mode默认值为"ai_cpu"并执行原接口逻辑 # 【资料变更】 涉及,需要体现950上comm_mode传参逻辑与910B/910C的差异 # 【接口变更】 涉及 接口首先判断芯片型号,如果为950则comm_mode默认值为""并执行aclnnV2接口;如果不为950则comm_mode默认值为"ai_cpu"并执行原接口逻辑 # 【功能验证】 测试场景:Ascend 950 CANN版本9.0 用例来源:MC2自验证用例 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/37f2e211-083c-43af-b5f8-7a16338399fc/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!510016 天前
allgathermatmulv2增加通信引擎 Co-authored-by: WangShuying5<wangshuying5@huawei.com> # message auto-generated for no-merge-commit merge: !4933 merge allgathermatmulv2_add_commMode into master allgathermatmulv2增加通信引擎 Created-by: WangShuying5 Commit-by: WangShuying5 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/113 # 【修改方案】 增加npu_all_gather_quant_mm接口通信引擎comm_mode参数 # 【资料变更】 涉及,增加comm_mode参数支持的字段和相关约束 # 【接口变更】 涉及,接口新增comm_mode参数,comm_mode支持四个值None、空字符串、ai_cpu、ccu。当comm_mode.has_value()为True时,使用用户传入的值,为False时表示用户未传入,使用空字符串。comm_mode值传入原始aclnn接口。 # 【功能验证】 本地验证pass ![image.png](https://raw.gitcode.com/user-images/assets/7403085/e87037c8-7040-4114-a10b-8596d7418a5f/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!493325 天前
!2260 fix cleancode Merge pull request !2260 from 詹昊/master1 年前
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 # 【功能验证】 本地自验证通过 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/612b5747-e51f-45f2-a7d7-4620b79314ce/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/ab2ab91e-40c4-416a-b116-7d2a31dcc84b/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!505821 天前
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。 # 【功能验证】 本地通路验证,验证结果通过。 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/4b619fb4-7d46-4785-825d-00b8b9335270/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/0e9cc240-44c0-4c32-898d-e1e4db1180fc/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!503621 天前
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 # 【功能验证】 本地自验证通过 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/612b5747-e51f-45f2-a7d7-4620b79314ce/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/ab2ab91e-40c4-416a-b116-7d2a31dcc84b/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!505821 天前
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 # 【功能验证】 本地自验证通过 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/612b5747-e51f-45f2-a7d7-4620b79314ce/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/ab2ab91e-40c4-416a-b116-7d2a31dcc84b/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!505821 天前
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中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/1ff501e7-1dae-421d-bd68-c77cc70aa8b0/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/ac790377-9778-4c27-8433-d9a76613314f/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/7b6dadd8-a5ab-4100-998b-b83b28adcacb/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/5afb3e82-8a45-41cd-8a75-95461c181597/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!49221 个月前
!1713 fix ops * fix ops1 年前
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!31879 个月前
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测试用例,测试自验证结果如下: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/126a4f52-9e87-4e5f-900e-e5b9cf64d2ef/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!497925 天前
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!43552 个月前
!2302 [5/N] cleancode Merge pull request !2302 from zhangqiongwen/master_cleancode_051 年前
[fix] remove unnecessary same logs Co-authored-by: chenshuai<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !5193 merge fix616 into master [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!51934 天前
[fix] remove unnecessary same logs Co-authored-by: chenshuai<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !5193 merge fix616 into master [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!51934 天前
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!33558 个月前
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中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 完善测试用例场景,都测试通过 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/712a766a-a90a-4667-bcca-c50c08423133/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!42423 个月前
!1713 fix ops * fix ops1 年前
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!34537 个月前
!2275 fix cleancode Merge pull request !2275 from 詹昊/cleancode11 年前
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 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b187c5b2-ec75-48d1-addf-769d23baf77a/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b4e2cbb6-7869-450d-a100-ef68b4f941de/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!495829 天前
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!36365 个月前
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!31769 个月前
适配支持两类算子: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!33977 个月前
[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!46182 个月前
!2204 clean code : infershape file Merge pull request !2204 from wgb/clean_code1 年前
!2302 [5/N] cleancode Merge pull request !2302 from zhangqiongwen/master_cleancode_051 年前
!1845 增加avgpool3dbackward的路径五调用 Merge pull request !1845 from 唐燕锋/avgpool3d1 年前
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!43483 个月前
baddbmm接口支持out_dtype参数 Co-authored-by: HuangKun8682<huangkun61@huawei.com> # message auto-generated for no-merge-commit merge: !5090 merge baddbmm_16in32out into master baddbmm接口支持out_dtype参数 Created-by: HuangKun8682 Commit-by: HuangKun8682 Merged-by: ascend-robot Description: # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> 保持接口能力与torch官方能力一致https://docs.pytorch.org/docs/2.12/generated/torch.baddbmm.html [#142](https://gitcode.com/Ascend/op-plugin/issues/142) - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 对于baddbmm算子新增可选的outdtype参数支持16进32出功能 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 为 baddbmm 算子新增一个可选的 output_dtype 参数,修改out属性参数 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 接口自验证截图: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b041f3d7-2861-4a3b-abd8-6a49a5c858fd/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/9a7a428f-25ff-45a9-b1e2-6d8d8a93fd57/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!509013 天前
!2274 add npu_batch_gather_matmul inplace Merge pull request !2274 from 沈珈靓/master1 年前
!1713 fix ops * fix ops1 年前
!1713 fix ops * fix ops1 年前
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!498727 天前
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实现 ![1.png](https://raw.gitcode.com/user-images/assets/7403085/09dbb184-7989-4fd7-a814-66cdd8662d31/1.png '1.png') ATK精度验证通过 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/ae6b93b8-16ce-4d99-96ae-4c3a88d26357/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!44772 个月前
!3037 Removed the overfitting of _batch_norm_impl_index, _batch_norm_impl_index_backward, and batch_norm. Merge pull request !3037 from 史佳馨/master9 个月前
[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 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/f1c16cee-6073-4dd8-a6a1-d97d50cfcdea/image.png 'image.png') > 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 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/134775d7-cc96-4712-a114-d45b31a1bbf9/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!43683 个月前
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 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b187c5b2-ec75-48d1-addf-769d23baf77a/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b4e2cbb6-7869-450d-a100-ef68b4f941de/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!495829 天前
!2328 cleancode Merge pull request !2328 from DaiFu/2503CleanCode21 年前
!2245 [Codecheck] Fix codecheck. Merge pull request !2245 from 刘嘉巍/x11 年前
!1713 fix ops * fix ops1 年前
!1713 fix ops * fix ops1 年前
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_lengthsactual_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 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/a44bdf4a-aeb1-4108-986b-b0f9e46d64da/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/e3062aeb-f96c-4a02-a3bb-21598df5b3f0/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/9298fdcc-4444-4d41-8e55-84871fbefca0/image.png 'image.png') 验证方式: - 执行 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!494527 天前
[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 ![BSA正.PNG](https://raw.gitcode.com/user-images/assets/7403085/35318348-32d5-4214-94b4-f02a33f68ffe/BSA正.PNG 'BSA正.PNG') 反向用例:test/test_custom_ops/test_npu_block_sparse_attention_backward.py ![BSA反.PNG](https://raw.gitcode.com/user-images/assets/7403085/b3503268-7634-41fd-8b62-4750b219a267/BSA反.PNG 'BSA反.PNG') 文档用例测试: ![BSA文档测试.PNG](https://raw.gitcode.com/user-images/assets/7403085/6bcf1e48-7320-455d-815a-0311bdd9be8c/BSA文档测试.PNG 'BSA文档测试.PNG') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!47951 个月前
remove extra broadcast in aclnnBatchMatmul when calling torch.matmul Co-authored-by: XianglongZeng<zengxianglong1@huawei.com> # message auto-generated for no-merge-commit merge: !5031 merge myop into master remove extra broadcast in aclnnBatchMatmul when calling torch.matmul 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/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1.通过取索引的方式,在bmm的适配层将原生torch的matmul的路由分发逻辑引入的非连续broadcast消掉,避免aclnnBatchMatmul内部再次引入broadcast转连续导致性能劣化 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/97a07f99-f4b5-4e57-b0e9-2a315ca1dcfc/image.png 'image.png') 2.新增TORCH_NPU_USE_COMPATIBLE_IMPL=1模式下的matmul和bmm的ut用例 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 以下场景会让matmul在兼容模式下走到bmm: import torch import numpy as np a = torch.tensor(np.random.rand(1, 18432, 512).astype(np.float32)).npu() b = torch.tensor(np.random.rand(64, 512, 128).astype(np.float32)).npu() c = torch.matmul(a, b) 此前兼容模式默认关闭时,走aclnnMatmul的profiling结果: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/35bbe2ac-0368-47ad-9b9e-cf37a3e87b6c/image.png 'image.png') 兼容模式开启后,走aclnnBatchMatmul时内部引入的broadcast: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/d0f3592f-d3cb-4c0c-a883-4c829fe9fe03/image.png 'image.png') 通过索引消除broadcast后: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/1d178417-af5b-4748-947c-36661a53df27/image.png 'image.png') 消除broadcast后,开启和关闭兼容模式的端到端耗时,差异很小: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/da988df6-8477-4ce7-a8cc-41014387b9b9/image.png 'image.png') ut执行结果: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/679de1b8-6a02-4b6c-9897-a705a9687a39/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/db67d7c6-d81e-4cd9-a77d-eb81d60d81af/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!503117 天前
[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') - 通路结果: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/6d7b35ee-85eb-49c3-8b0a-d3486e1353f2/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!47111 个月前
【950】Cast适配int4回合 Co-authored-by: 赵珩<zhaoheng32@h-partners.com> # message auto-generated for no-merge-commit merge: !3643 merge cast_int4 into master 【950】Cast适配int4回合 Created-by: zhao_heng Commit-by: 赵珩 Merged-by: ascend-robot Description: 950回合,Cast转int4适配 See merge request: Ascend/op-plugin!36436 个月前
support structured meta Co-authored-by: maoyuanpeng<maoyuanpeng@huawei.com> # message auto-generated for no-merge-commit merge: !5048 merge br_structured_ops into master support structured meta Created-by: maoyuanpeng1 Commit-by: maoyuanpeng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/pytorch/issues/2110 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 op-plugin仓适配 支持meta信息复用。 1.添加对structured算子的校验。 structured 与gen_opapi里面的infer逻辑和structured_inherit不兼容,会检验报错。 structured_delegate 与 gen_opapi 标签不兼容,会检验报错。 2.修改对structured算子的代码生成 当算子为structured_delegate时,不需要生成OpInterface、OpApiInterface、AclOpsInterface接口。 3.将_linalg_svd算子和_log_softmax_backward_data改造成structured算子,并编写用例测试之前社区用例未通过的情形。 # 【资料变更】 无 # 【接口变更】 无 # 【功能验证】 test_linalg_svd_out:测试torch.svd out版本的接口。当输入的out(U, S, Vh)为非预期的shape,测试是否会被resize成正确size且与cpu结果相同。 test_softmax_backward_data_half_to_float_result_dtype:测试torch.\_softmax_backward_data接口。当 torch.\_softmax_backward_data 接口中的input_dtype 被设置为 float16,测试其输出类型是否为float16。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!504821 天前
【Add】add_A5_soc_check_for_cdist_backward Co-authored-by: LG<luguang6@huawei.com> # message auto-generated for no-merge-commit merge: !5168 merge add_A5_soc_check_for_cdist_backward into master 【Add】add_A5_soc_check_for_cdist_backward Created-by: Lu_G Commit-by: LG Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/op-plugin/issues/162 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 现有_cdist_backward接口在0<=p<=2 && p=inf的情况下会调用aclop算子,但是在A5平台上不支持aclop算子导致执行报错。 在当前接口通增加对A5芯片类型检查,然后A5分支全部走aclnn;A2、A3分支仍然保持不动。 # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!51686 天前
Fix chunk_cat negative dim handling Co-authored-by: wang_ziqi<wangziqi4@huawei.com> # message auto-generated for no-merge-commit merge: !5096 merge chunk_bugfix into master Fix chunk_cat negative dim handling Created-by: wang-ziqi-code Commit-by: wang_ziqi Merged-by: ascend-robot Description: # 【合入来源】 - [ ] 需求 - [x] 问题单 https://gitcode.com/Ascend/op-plugin/issues/140 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修复 _chunk_cat / _chunk_cat.out 在 NPU opapi 路径下处理负维度时的输出 shape 推导问题。 具体修改: 1. ChunkCatKernelOpApi.cpp 中引入 ATen/native/TensorShape.h,复用 PyTorch 原生 preprocess_chunk_cat_inputsdim 做规范化。 2. _chunk_cat_chunk_cat.out 在申请输出 tensor、判断 CANN fast path、调用 fallback 前统一使用 wrapped_dim。 3. _chunk_cat.out 先执行 preprocess_chunk_cat_inputs,再访问 tensors[0],避免空 tensor list 场景下提前越界。 4. CANN 当前仅支持 dim == 0 的限制保持不变,只有 wrapped_dim == 0 且 dtype/contiguous 满足时才调用 aclnnChunkCat,其他场景继续 fallback 到 PyTorch 原生实现。 5. 测试用例补充 dim=-1 的 default/out 场景,并修复测试中 CPU bf16 tensor 直接 .numpy() 报错的问题。 兼容性说明: 1. preprocess_chunk_cat_inputs 是 PyTorch 原生 _chunk_cat 的前置校验逻辑,定义在 ATen/native/TensorShape.h 中,为 inline 函数,不依赖运行时外部符号。 2. 已确认 PyTorch 2.7.1、2.8.0、2.9.0、2.10.0、2.11.0、2.12.0 均存在 preprocess_chunk_cat_inputs 函数以及 _chunk_cat / _chunk_cat.out 原生定义。 3. 本次修改不改变 CANN aclnnChunkCat 支持范围,不新增 kernel 调用条件;仅将负维度、非法输入、空输入等前置校验与 PyTorch 原生语义对齐。 4. 对 dim=0 且满足 CANN 支持条件的原有 fast path 无影响;对 dim!=0 或不满足 CANN 条件的场景仍走原生 fallback。 # 【资料变更】 不涉及。 # 【接口变更】 不涉及对外接口变更。 本次仅修复 torch._chunk_cat 内部 NPU 适配逻辑,不新增公开 API,不修改 CANN 接口定义。 # 【功能验证】 新增/补充 UT 覆盖: 1. _chunk_cat([Tensor(1,2,3), Tensor(1,2,3)], dim=-1, num_chunks=5),验证 NPU 结果与 CPU 一致。 2. _chunk_cat.out 负维度场景,覆盖尾维长度不同的输入 tensor。 3. 保留原有 dim=0dim=1、float32/float16/bfloat16 输出 dtype 组合用例。 4. bf16 输出比较前统一转 float32 numpy,避免 CPU bfloat16.numpy() 不支持导致测试失败。 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b85422ee-2f25-4ac4-84dc-dbee08c43221/image.png 'image.png') # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:fix - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!509618 天前
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算子的接口 # 【功能验证】 单算子验证,调用通过 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/f79ed48a-8a1b-4d42-86e3-4e510c84d7d6/image.png 'image.png') 调用开发者测试脚本,验证通过 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/eadd5c23-dfdb-46cc-a73c-121371b3a58e/image.png 'image.png') ATK测试已通过 ![C5358C5E-45F5-4A28-92FF-9056CB70DAAA.png](https://raw.gitcode.com/user-images/assets/7403085/7b067a45-888e-4c1c-8760-39067f4f4fcf/C5358C5E-45F5-4A28-92FF-9056CB70DAAA.png 'C5358C5E-45F5-4A28-92FF-9056CB70DAAA.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!47961 个月前
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验证: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/d84fb441-868b-40d4-9462-b44f4a4768b0/image.png 'image.png') 新增A5平台用例执行通过。 atk验证: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/6356754c-a707-4382-bf96-72093e02b651/image.png 'image.png') atk用例执行通过。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!49091 个月前
!2326 [Task] cleancode 2/N. Merge pull request !2326 from will-devil/cleancode-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!41084 个月前
[fix] pta constant_pad adapt fp8/4 Co-authored-by: culechan<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !5115 merge pad_fp4 into master [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,包括float4_e2m1fn_x2、float8_e4m3fn float8_e5m2三种类型针对1D\2D\3D\4D场景的用例以及错误用例 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/142e618b-505a-4524-bdf5-21a7872e0139/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!511514 天前
!2149 TORCH MAIN SYNC : remove use_const_ref_for_mutable_tensors Merge pull request !2149 from dilililiwhy/main_sync_202501251 年前
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!41084 个月前
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!44082 个月前
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!44082 个月前
!2217 fix cleancode Merge pull request !2217 from 詹昊/cleancode81 年前
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中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/1ff501e7-1dae-421d-bd68-c77cc70aa8b0/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/ac790377-9778-4c27-8433-d9a76613314f/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/7b6dadd8-a5ab-4100-998b-b83b28adcacb/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/5afb3e82-8a45-41cd-8a75-95461c181597/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!49221 个月前
!2326 [Task] cleancode 2/N. Merge pull request !2326 from will-devil/cleancode-11 年前
!2326 [Task] cleancode 2/N. Merge pull request !2326 from will-devil/cleancode-11 年前
!2282 Fix codecheck. Merge pull request !2282 from 刘嘉巍/cleancode1 年前
!1713 fix ops * fix ops1 年前
!1713 fix ops * fix ops1 年前
【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!48281 个月前
【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!48281 个月前
[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 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/6319b393-aa99-45a5-a844-1c825162d2a5/image.png 'image.png') **Special notes for your reviewers**: See merge request: Ascend/op-plugin!40684 个月前
[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: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/63c5b0d5-412f-44e9-abc6-e5a2fe4cdcd0/image.png 'image.png') **Special notes for your reviewers**: See merge request: Ascend/op-plugin!40594 个月前
!2188 dequant_bias Merge pull request !2188 from liushiyu0214/master1 年前
!2103 modify op dequant_repo_quant_kv_cache file name Merge pull request !2103 from 流浪者LingLong/master1 年前
[feat]DequantSwigluQuant支持swigluMode=2 Co-authored-by: zhu-lei0614<zhulei113@huawei.com> # message auto-generated for no-merge-commit merge: !5195 merge master into master [feat]DequantSwigluQuant支持swigluMode=2 Created-by: zhu-lei0614 Commit-by: zhu-lei0614 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ https://gitcode.com/Ascend/op-plugin/issues/170 > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 DequantSwigluQuant支持swigluMode=2,删除对swigluMode=2的拦截 # 【资料变更】 DequantSwigluQuant支持swigluMode=2,swigluMode=2时表示swigluMode=0的拆分方式+swigluMode=1的计算方式 # 【接口变更】 不涉及 # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/ff3e4bc2-7075-40d1-bf0a-a1f0436e01fb/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!51954 天前
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!33727 个月前
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!33008 个月前
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!35026 个月前
!1757 [Feature] Support dropout inplace. Merge pull request !1757 from will-devil/dropout_inplace1 年前
[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!44203 个月前
【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!43302 个月前
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!45012 个月前
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!40004 个月前
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!44632 个月前
[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包接口的结果 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/054843b1-fce7-4bbb-9b54-07c79d4df39f/image.png 'image.png') ## 正确调用新接口,但是使用的旧版本CANN包结果,提醒用户使用新版本CANN包 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/26165369-658a-4fe5-9d34-81531f0c296d/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!46201 个月前
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测试用例看护,并补充测试自验证截图 本地验证通过 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/2a79ab09-b7d6-4775-99da-51af11002063/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!47102 个月前
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!41084 个月前
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!38065 个月前
!3132 Delete code for v1.11.0 and v2.0 (7/n) Merge pull request !3132 from 刘嘉巍/master-dev9 个月前
!2311 modify cleancode/9 Merge pull request !2311 from 史佳馨/master1 年前
!1666 [Feature] Codegen for multi-named tensor. Merge pull request !1666 from 刘嘉巍/master-add11 个月前
!1666 [Feature] Codegen for multi-named tensor. Merge pull request !1666 from 刘嘉巍/master-add11 个月前
sim_thread_exponential适配PTA Co-authored-by: sikaiwei<sikaiwei1@h-partners.com> # message auto-generated for no-merge-commit merge: !5013 merge sim_thread_exponential into master sim_thread_exponential适配PTA Created-by: sikaiwei Commit-by: sikaiwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/op-plugin/issues/104 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 pair获取的seed和offset不应该硬编码为4,改为调用接口动态获取。exponential接口修改为在A5时调用aclnnSimThreadExponential # 【资料变更】 不涉及 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 不涉及 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 在npu调用sim_thread_exponential和expontial接口,与gpu在相同seed和offset的情况下调用exponential算子做结果比对 经验证,npu连跑两次结果与gpu连跑两次结果一致,offset递增一致,符合预期。 ![未命名图片.jpg](https://raw.gitcode.com/user-images/assets/7403085/9dfa4999-600c-47e2-a6b8-486b50d6fc9f/未命名图片.jpg '未命名图片.jpg') > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!501325 天前
[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!42564 个月前
!3132 Delete code for v1.11.0 and v2.0 (7/n) Merge pull request !3132 from 刘嘉巍/master-dev9 个月前
!2353 [Task] cleancode 3/N. Merge pull request !2353 from will-devil/cleancode-21 年前
bugfix: eliminate redundant operations in fft. Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !5179 merge bugfix_fft into master 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!51795 天前
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!498727 天前
!1836 custimize backward for c2r and r2c to reduce aicpu calls Merge pull request !1836 from alanhe151220037/master1 年前
!1713 fix ops * fix ops1 年前
[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!37006 个月前
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!31799 个月前
适配支持两类算子: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!33977 个月前
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!498727 天前
!2311 modify cleancode/9 Merge pull request !2311 from 史佳馨/master1 年前
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验证无问题 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/3cb1ce98-aa2f-4e9d-914d-0a4cee63f1c3/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!506817 天前
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验证无问题 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/3cb1ce98-aa2f-4e9d-914d-0a4cee63f1c3/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!506817 天前
!1666 [Feature] Codegen for multi-named tensor. Merge pull request !1666 from 刘嘉巍/master-add11 个月前
[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!43003 个月前
!2317 Cleancode for ops. Merge pull request !2317 from 王夏夏/cleancode1 年前
!2309 fix cleancode Merge pull request !2309 from 詹昊/master1 年前
!2245 [Codecheck] Fix codecheck. Merge pull request !2245 from 刘嘉巍/x11 年前
!2246 [Codecheck] Fix codecheck. Merge pull request !2246 from 刘嘉巍/deformable1 年前
!2316 cleancode Merge pull request !2316 from DaiFu/2503CleanCode11 年前
!2282 Fix codecheck. Merge pull request !2282 from 刘嘉巍/cleancode1 年前
!2411 fix foreach addcdiv(/addcmul).Tensor tesnor slice bug Merge pull request !2411 from 流浪者LingLong/master1 年前
!2205 cleancode for ops. Merge pull request !2205 from 王夏夏/master1 年前
!1868 foreach_addcdiv/mul.scalarlist, foreach_addcdiv/mul.Tensor代码回退 Merge pull request !1868 from zhanghao/master1 年前
!2411 fix foreach addcdiv(/addcmul).Tensor tesnor slice bug Merge pull request !2411 from 流浪者LingLong/master1 年前
!2215 [Codecheck] Fix codecheck. Merge pull request !2215 from 刘嘉巍/x11 年前
!2311 modify cleancode/9 Merge pull request !2311 from 史佳馨/master1 年前
!2276 fix cleancode Merge pull request !2276 from 詹昊/cleancode21 年前
_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!500327 天前
!2328 cleancode Merge pull request !2328 from DaiFu/2503CleanCode21 年前
!2309 fix cleancode Merge pull request !2309 from 詹昊/master1 年前
!2218 [1/N]cleancode Format Merge pull request !2218 from zhangqiongwen/master_cleancode_011 年前
!2311 modify cleancode/9 Merge pull request !2311 from 史佳馨/master1 年前
!2005 foreach op max/min list/scalarlist Data type compatibility Merge pull request !2005 from 流浪者LingLong/master1 年前
!2328 cleancode Merge pull request !2328 from DaiFu/2503CleanCode21 年前
!2233 Fix cleancode. Merge pull request !2233 from 王夏夏/master1 年前
!2317 Cleancode for ops. Merge pull request !2317 from 王夏夏/cleancode1 年前
!2317 Cleancode for ops. Merge pull request !2317 from 王夏夏/cleancode1 年前
!2311 modify cleancode/9 Merge pull request !2311 from 史佳馨/master1 年前
!2309 fix cleancode Merge pull request !2309 from 詹昊/master1 年前
!2309 fix cleancode Merge pull request !2309 from 詹昊/master1 年前
!1800 Added foreach op erf erfc exp expm1 floor frac log log1p log10 mullist mulscalarlist compatibility processing &&Modified ut Merge pull request !1800 from 流浪者LingLong/master1 年前
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!34696 个月前
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!34696 个月前
!2235 cleancode Merge pull request !2235 from DaiFu/2503CleanCode1 年前
!1822 新增foreach部分算子V2接口 Merge pull request !1822 from 王育才/master1 年前
!2215 [Codecheck] Fix codecheck. Merge pull request !2215 from 刘嘉巍/x11 年前
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!41084 个月前
!2260 fix cleancode Merge pull request !2260 from 詹昊/master1 年前
!2233 Fix cleancode. Merge pull request !2233 from 王夏夏/master1 年前
!2323 modify cleancode_3/2 Merge pull request !2323 from 史佳馨/master1 年前
!2215 [Codecheck] Fix codecheck. Merge pull request !2215 from 刘嘉巍/x11 年前
!2316 cleancode Merge pull request !2316 from DaiFu/2503CleanCode11 年前
!1802 add foreach op reciprocal powlist powscalarlist powsclarandtensor round sin sigmoid sin sinh sqrt sub_sclarlist tan tanh zero pow_sclar sub_list sub_scalar Compatibility processing Merge pull request !1802 from 流浪者LingLong/master1 年前
!2401 foreach_sign and foreach_copy add support type Merge pull request !2401 from liujie_1234/master1 年前
!2309 fix cleancode Merge pull request !2309 from 詹昊/master1 年前
!2316 cleancode Merge pull request !2316 from DaiFu/2503CleanCode11 年前
!1802 add foreach op reciprocal powlist powscalarlist powsclarandtensor round sin sigmoid sin sinh sqrt sub_sclarlist tan tanh zero pow_sclar sub_list sub_scalar Compatibility processing Merge pull request !1802 from 流浪者LingLong/master1 年前
!1822 新增foreach部分算子V2接口 Merge pull request !1822 from 王育才/master1 年前
!1822 新增foreach部分算子V2接口 Merge pull request !1822 from 王育才/master1 年前
!2215 [Codecheck] Fix codecheck. Merge pull request !2215 from 刘嘉巍/x11 年前
!1802 add foreach op reciprocal powlist powscalarlist powsclarandtensor round sin sigmoid sin sinh sqrt sub_sclarlist tan tanh zero pow_sclar sub_list sub_scalar Compatibility processing Merge pull request !1802 from 流浪者LingLong/master1 年前
!1802 add foreach op reciprocal powlist powscalarlist powsclarandtensor round sin sigmoid sin sinh sqrt sub_sclarlist tan tanh zero pow_sclar sub_list sub_scalar Compatibility processing Merge pull request !1802 from 流浪者LingLong/master1 年前
!1926 support _fused_adamw_ in all version Merge pull request !1926 from 詹昊/master1 年前
修改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!496924 天前
修改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!496924 天前
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接口 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/3802d38b-4b1c-41ca-8593-c27195583249/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/a307db46-85c3-43b9-b033-2fddc7c98f5b/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!42603 个月前
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矩阵的静态量化参数。 # 【功能验证】 > 本地出包,自测试验证通过 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/f93bc08c-af2f-437f-b8a0-32175892b8a0/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!44452 个月前
add docs and ut for npu_fused_linear_online_max_sum/npu_fused_cross_entropy_loss_with_max_sum/fused_linear_cross_entropy_loss_with_max_sum_backward Co-authored-by: zhangyinxia<zhangyinxia@huawei.com> # message auto-generated for no-merge-commit merge: !5063 merge new_op into master add docs and ut for npu_fused_linear_online_max_sum/npu_fused_cross_entropy_loss_with_max_sum/fused_linear_cross_entropy_loss_with_max_sum_backward 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能力等内容) 详见:https://gitcode.com/Ascend/op-plugin/issues/125 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 已补充三个算子对应的资料说明 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 有接口变更,已CCB评审通过,并在新增资料中体现。 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 新增UT用例,用例通过截图: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/d1c26a9f-8437-4c25-9002-2b99d20d7682/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/1ef23f8e-1425-45a7-9e8e-b940fabd66fb/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/4f028c45-88d4-47f4-8b49-6527f098ca4f/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!50634 小时前
[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!46182 个月前
【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!48641 个月前
Align NPU gather backward sparse_grad behavior Co-authored-by: zzhongmin<zhongmin23@huawei.com> # message auto-generated for no-merge-commit merge: !4791 merge fix_gather into master Align NPU gather backward sparse_grad behavior Created-by: zzhongmin Commit-by: zzhongmin Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 - [ ] 需求 - [ ] 问题单 - [x] issue/工单https://gitcode.com/Ascend/pytorch/issues/1827 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 本次修改为 NPU 的 torch.gather 反向补充了 sparse_grad=True 的能力,使其行为与上游 CPU/CUDA 实现保持一致。 主要修改内容: - 在 npu_gather_backward 中补充 sparse backward 路径,不再直接报“不支持 sparse” - 对齐上游 gather_sparse_backward 的实现逻辑,按 COO 形式构造稀疏梯度 - 补齐标量输入、空 index 等边界场景的处理逻辑 - 保持 sparse_grad=False 时原有 dense backward 路径不变 - 同步更新 meta 注册逻辑,使 fake/meta 路径下返回结果与真实执行保持一致 - 更新相关测试用例,将原先校验报错的场景改为校验 NPU 与 CPU 结果一致,新增空 index 场景看护 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 test_gather backward.py test_gather_backward_with_empty_index_tensor_sparse_grad用例通过 ![image.png](https://raw.atomgit.com/user-images/assets/7403085/0ec711cb-2e39-4489-907d-2fc8768c3df0/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!47911 个月前
!2316 cleancode Merge pull request !2316 from DaiFu/2503CleanCode11 年前
【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!34336 个月前
!3085 [Feat] Add npu_gather_sparse_index_backward adpt Merge pull request !3085 from zhangqiongwen/master_npu_gather_sparse_index_backward9 个月前
!1713 fix ops * fix ops1 年前
!1713 fix ops * fix ops1 年前
torch.nn.functional.gelu preserves api consistency1. Co-authored-by: shi-jiaxin9<shijiaxin10@h-partners.com> # message auto-generated for no-merge-commit merge: !4151 merge master into master torch.nn.functional.gelu preserves api consistency1. 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**: **Special notes for your reviewers**: See merge request: Ascend/op-plugin!41514 个月前
注册_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!41643 个月前
【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!34316 个月前
!2208 add npu_gemma_rms_norm Merge pull request !2208 from liuyun/master1 年前
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 # 【功能验证】 本地自验证通过 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/612b5747-e51f-45f2-a7d7-4620b79314ce/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/ab2ab91e-40c4-416a-b116-7d2a31dcc84b/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!505821 天前
!2275 fix cleancode Merge pull request !2275 from 詹昊/cleancode11 年前
torchair grouped_dynamic_block_quant support dst_type_max Co-authored-by: ASCEND222<dongfei16@h-partners.com> # message auto-generated for no-merge-commit merge: !5199 merge master into master torchair grouped_dynamic_block_quant support dst_type_max Created-by: ASCEND222 Commit-by: ASCEND222 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/172 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 新增支持HIF8场景的dst_max_type参数,在计算scale时使用该参数 # 【资料变更】 新增支持HIF8场景的dst_max_type参数,可选参数,表示目标量化类型为hifloat8时的最大正数值,取值范围[0.0, 32768.0]。默认值为0.0,表示使用hifloat8类型的默认最大正数值。 # 【接口变更】 npu_grouped_dynamic_block_quant(Tensor x, Tensor group_list, *, float min_scale=0.0, str round_mode="rint", int dst_type=291, int row_block_size=1, int col_block_size=128, int group_list_type=0, float dst_type_max=0.0) -> (Tensor, Tensor) # 【功能验证】 功能正常,无精度问题 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!51994 天前
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 # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/f756f267-3173-4bf1-b9bd-b2e9229c2860/image.png 'image.png') # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!46281 个月前
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!37786 个月前
[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!47081 个月前
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,泛化测试结果如下: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/c822153c-984b-49fd-8272-b6ac650167e9/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!46611 个月前
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 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/2fa9e910-b7a7-47ab-ad47-73e841ef0589/image.png 'image.png') - test/test_custom_ops/test_npu_grouped_matmul_swiglu_quant.py ![image.png](https://raw.gitcode.com/user-images/assets/7403085/23656788-adc0-41ef-ab42-bb6a7f0a23e4/image.png 'image.png') - test/test_custom_ops/test_npu_grouped_matmul_swiglu_quant_v2.py - Ascend 950: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/2577b53a-c868-4ebb-b855-59ef8aac845e/image.png 'image.png') - Ascend 910B: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/93e137e2-1279-475b-9fbe-3d674e4d68a2/image.png 'image.png') # 【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!498628 天前
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_x2weight_scale_dtype/x_scale_dtype=torch_npu.float8_e8m0fnu。 - 校验 output/outputScale shape 和 dtype,不做数值 golden。 - **910B** ![image.png](https://raw.gitcode.com/user-images/assets/7403085/cfb0a01e-4b2b-47f2-9bdb-048dc1eb9ef0/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/c87d6fdd-3d29-4bad-9320-34d04f6a4a3d/image.png 'image.png') - **950** ![image.png](https://raw.gitcode.com/user-images/assets/7403085/56b63bf8-9018-4379-b8a0-057a915101ba/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b058a623-25a4-4020-be9f-b21e50ad107c/image.png 'image.png') # 【CheckList】 - [x] 代码注释完整,关键 shape 推导原因已说明 - [x] 参数合法性沿用现有校验逻辑 - [x] PR 标题建议使用 fix: grouped matmul swiglu quant v2 mxfp4 shape infer - [ ] CI 执行通过 ``` See merge request: Ascend/op-plugin!504919 天前
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 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b187c5b2-ec75-48d1-addf-769d23baf77a/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b4e2cbb6-7869-450d-a100-ef68b4f941de/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!495829 天前
[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中这个关于这个变动的适配。正向不变即可。 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/5a6cddfa-69cb-4931-abaa-872260c037d6/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!497830 天前
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!45652 个月前
!2353 [Task] cleancode 3/N. Merge pull request !2353 from will-devil/cleancode-21 年前
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_outindex_add 两个入口中,除了操作维度 dim 外,其他剩余维度 shape 也要验证一致。不一致抛出错误。 - PyTorch 原生 index_func_meta_implindex_add 会检查 self_sizes == source_sizes,其中 self_sizes/source_sizes 已经排除了指定维度。 2. - op_plugin/ops/opapi/IndexPutKernelNpuOpApi.cpp - op_plugin/ops/aclops/IndexPutKernelNpu.cpp - 检查 selfvalueindices,检查 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_addindex_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!488528 天前
修改aclnnInplaceIndexFill通路的cann版本 Co-authored-by: BIGWHITETEETH<jingruiyang@huawei.com> # message auto-generated for no-merge-commit merge: !5196 merge master into master 修改aclnnInplaceIndexFill通路的cann版本 Created-by: BIGWHITETEETH Commit-by: BIGWHITETEETH Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">https://gitcode.com/Ascend/op-plugin/issues/173</font> - [ ] 需求 - [x] 问题单 - [x] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 将aclnninplaceindexfillTensor接口通过cann包版本拦截,9.1.0后的A5版本,采用算子自身接口aclnninplaceindexfill # 【资料变更】 不涉及 # 【接口变更】 9.1.0cann版本的A5采用aclnninplaceindexfill接口 # 【功能验证】 已通过自验证 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!51965 天前
!3132 Delete code for v1.11.0 and v2.0 (7/n) Merge pull request !3132 from 刘嘉巍/master-dev9 个月前
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_outindex_add 两个入口中,除了操作维度 dim 外,其他剩余维度 shape 也要验证一致。不一致抛出错误。 - PyTorch 原生 index_func_meta_implindex_add 会检查 self_sizes == source_sizes,其中 self_sizes/source_sizes 已经排除了指定维度。 2. - op_plugin/ops/opapi/IndexPutKernelNpuOpApi.cpp - op_plugin/ops/aclops/IndexPutKernelNpu.cpp - 检查 selfvalueindices,检查 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_addindex_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!488528 天前
!1713 fix ops * fix ops1 年前
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 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/211b2c80-62fc-435e-a4da-2a4571df1417/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!42433 个月前
!2781 cleancode Merge pull request !2781 from DaiFu/2507Cleancode11 个月前
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验证: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/7130cda1-cc9d-4bee-ba28-931c53d7ae18/image.png 'image.png') atk验证: 存在2%用例精度不达标,已提单到对应的算子组件。不影响当前算子对接流程功能。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!49101 个月前
[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!43273 个月前
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测试用例看护,并补充测试自验证截图 已本地验证通过 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/c0298592-5dcd-43b0-8d0d-c47eb3af8586/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/82fd083d-891f-477e-8377-963aa461d99a/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!47711 个月前
!2246 [Codecheck] Fix codecheck. Merge pull request !2246 from 刘嘉巍/deformable1 年前
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!45532 个月前
[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!43363 个月前
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!43823 个月前
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!508017 天前
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!40964 个月前
torch.nn.functional.gelu preserves api consistency1. Co-authored-by: shi-jiaxin9<shijiaxin10@h-partners.com> # message auto-generated for no-merge-commit merge: !4151 merge master into master torch.nn.functional.gelu preserves api consistency1. 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**: **Special notes for your reviewers**: See merge request: Ascend/op-plugin!41514 个月前
Fix NPU ldexp integer exponent dispatch Co-authored-by: wang_ziqi<wangziqi4@huawei.com> # message auto-generated for no-merge-commit merge: !5139 merge bugfix_ldexp into master 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.ldexpTensor.ldexpoutldexp_ - 广播、零维指数、非连续输入和非连续输出 - 0inf、正负大指数等特殊值 - CPU/NPU backward 梯度对比 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!513912 天前
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 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b187c5b2-ec75-48d1-addf-769d23baf77a/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b4e2cbb6-7869-450d-a100-ef68b4f941de/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!495829 天前
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,精度问题算子侧定位中 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/37f1992f-c68e-4484-9e57-a8e8e7d72246/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!43423 个月前
[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!44003 个月前
[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!36486 个月前
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!43383 个月前
[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包验证结果: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/cce22560-c760-4426-9bf1-d6d799d3501d/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!43403 个月前
[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!42783 个月前
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!43512 个月前
fix: revert structured SVD implementation Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !5174 merge revertSvd-master into master 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!51748 天前
[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!46182 个月前
!1713 fix ops * fix ops1 年前
!2694 [Feature] Support named tensor [4/4]. Merge pull request !2694 from 刘嘉巍/named-dev11 个月前
!1713 fix ops * fix ops1 年前
修复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!42354 个月前
!2313 modify cleancode/10 Merge pull request !2313 from 史佳馨/master1 年前
!1666 [Feature] Codegen for multi-named tensor. Merge pull request !1666 from 刘嘉巍/master-add11 个月前
!2587 fix logit_backward Merge pull request !2587 from shaoyf/logit_backward1 年前
!2576 add logit and logit_backward Merge pull request !2576 from shaoyf/logit1 年前
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!42143 个月前
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 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b187c5b2-ec75-48d1-addf-769d23baf77a/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b4e2cbb6-7869-450d-a100-ef68b4f941de/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!495829 天前
!1713 fix ops * fix ops1 年前
!1713 fix ops * fix ops1 年前
!2596 [DFX] More detail info in op_log and support common OP_LOG. Merge pull request !2596 from 刘嘉巍/master-dev11 个月前
!2555 [Feature] Adapte _native_multi_head_attention. Merge pull request !2555 from 刘嘉巍/dev1 年前
mmallreduce bugfix2 Co-authored-by: wangkechen<wangkechen3@huawei.com> # message auto-generated for no-merge-commit merge: !5118 merge mmallreduce_fix2 into master mmallreduce bugfix2 Created-by: Kiana1216 Commit-by: wangkechen Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 MatmulAllReduce算子修改带comm_mode参数时per_tensor场景进入V5新接口的入参顺序,正确逻辑为pertoken_scale(x1Scale)在前,dequant_scale(x2Scale)在后。 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修改pertensor场景下传参顺序 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 本地出包自验证通过 ![ScreenShot_20260605173114.JPG](https://raw.gitcode.com/user-images/assets/7403085/1a0a53d5-328f-445f-8138-e7bbf709f720/ScreenShot_20260605173114.JPG 'ScreenShot_20260605173114.JPG') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!511817 天前
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 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/9a9f426a-565b-41fe-9710-43f263251af4/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!494323 天前
[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!46182 个月前
【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!43723 个月前
[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!46182 个月前
[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!46182 个月前
[feat][ops]AllGatherMatmul/MatmulReduceScatter base接口新增代际隔离 Co-authored-by: 陈佳乐<chenjiale56@huawei.com> # message auto-generated for no-merge-commit merge: !5100 merge aicpu into master [feat][ops]AllGatherMatmul/MatmulReduceScatter base接口新增代际隔离 Created-by: chenjiale56 Commit-by: 陈佳乐 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 Issue [#114](https://gitcode.com/Ascend/op-plugin/issues/114) Issue [#113](https://gitcode.com/Ascend/op-plugin/issues/113) - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 当前950版本AllGatherMatmulV2/MatmulReduceScatterV2 算子已支持ai_cpu通信能力,但comm_mode选择逻辑与910B/910C不同,因此需要隔离芯片代际; 修改后接口首先判断芯片型号,如果为950则comm_mode默认值为""并执行aclnnV2接口;如果不为950则comm_mode默认值为"ai_cpu"并执行原接口逻辑 # 【资料变更】 涉及,需要体现950上comm_mode传参逻辑与910B/910C的差异 # 【接口变更】 涉及 接口首先判断芯片型号,如果为950则comm_mode默认值为""并执行aclnnV2接口;如果不为950则comm_mode默认值为"ai_cpu"并执行原接口逻辑 # 【功能验证】 测试场景:Ascend 950 CANN版本9.0 用例来源:MC2自验证用例 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/37f2e211-083c-43af-b5f8-7a16338399fc/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!510016 天前
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 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b187c5b2-ec75-48d1-addf-769d23baf77a/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b4e2cbb6-7869-450d-a100-ef68b4f941de/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!495829 天前
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!43413 个月前
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!43413 个月前
!1948 Add Adaption for MaxPool3d Forward and Backward Merge pull request !1948 from 柳宗谷/aclnnMaxPool3dWithArgmaxBackward1 年前
!1948 Add Adaption for MaxPool3d Forward and Backward Merge pull request !1948 from 柳宗谷/aclnnMaxPool3dWithArgmaxBackward1 年前
!3132 Delete code for v1.11.0 and v2.0 (7/n) Merge pull request !3132 from 刘嘉巍/master-dev9 个月前
[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测试用例看护,自验证截图如下 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/6e93e530-bd32-4565-8808-e5c242597b94/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!46151 个月前
[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测试用例看护,自验证截图如下 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/6e93e530-bd32-4565-8808-e5c242597b94/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!46151 个月前
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测试用例看护,并补充测试自验证截图 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/d9d21471-1645-4775-ae43-4d877f974881/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!48141 个月前
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中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/1ff501e7-1dae-421d-bd68-c77cc70aa8b0/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/ac790377-9778-4c27-8433-d9a76613314f/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/7b6dadd8-a5ab-4100-998b-b83b28adcacb/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/5afb3e82-8a45-41cd-8a75-95461c181597/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!49221 个月前
!1713 fix ops * fix ops1 年前
[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中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/d4ed0337-431e-4c71-b1fc-3e1ff6e7b385/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/aa9ca276-eb86-4f3c-8b33-a699f18c6e98/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!42863 个月前
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!44952 个月前
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!46211 个月前
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!48921 个月前
!2838 revert change of moe_distribute_dispatch/combine v1 interface Merge pull request !2838 from sincatter/master_dis_v111 个月前
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!37686 个月前
!2838 revert change of moe_distribute_dispatch/combine v1 interface Merge pull request !2838 from sincatter/master_dis_v111 个月前
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 时均通过,结果如下: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/c32d0fd2-004c-41b7-98ab-3e1269a94e26/image.png 'image.png') 已添加UT测试用例看护,新增测试用例自验证结果如下: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/8636143b-62ae-4b95-bab4-699183cbf4bb/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!47402 个月前
!2488 Refactor compability judgement. Merge pull request !2488 from 刘嘉巍/master1 年前
!2377 add npu_moe_gating_top_k api Merge pull request !2377 from 汤PC/master1 年前
!2233 Fix cleancode. Merge pull request !2233 from 王夏夏/master1 年前
【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!34296 个月前
!1713 fix ops * fix ops1 年前
!2930 新增MoeInitRoutingQuant算子接口 Merge pull request !2930 from CY-Slightwind/master_cy9 个月前
修改int4量化路径的quantmode为13 Co-authored-by: Huang-Peng<huangpeng98@huawei.com> # message auto-generated for no-merge-commit merge: !5103 merge fix_int4_quant into master 修改int4量化路径的quantmode为13 Created-by: Huang-Peng Commit-by: Huang-Peng Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [ ] 问题单 - [x] issue/工单 - [x] 重构优化 - [ ] 资料更新 关联 Issue: https://gitcode.com/Ascend/op-plugin/issues/153 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 为 npu_moe_init_routing_v2 算子新增 INT4 动态量化支持,将 INT4 动态量化从 quant_mode=1 + x_dtype=INT4 的隐式触发模式重构为独立的 quant_mode=13。 1. **C++ 算子层** (MoeInitRoutingV2KernelNpuOpApi.cpp): - 新增 QUANT_MODE_INT4_DYNAMIC = 13 常量 - 重构 IsDynamicQuantInt4Output()quant_mode == QUANT_MODE_INT4_DYNAMIC,不再依赖 x_dtype 判断 - 新增 quant_mode=1, x_dtype=INT4 旧用法的运行时拒绝检查,引导迁移到 quant_mode=13 - 新增 INT4 专有校验:drop_pad_mode=0、x 仅支持 FP32/BF16、H 为偶数、scale 可选且 shape 为 (1,H) - expanded_x 输出 shape 调整为 {len, h/2},dtype 为 kByte 2. **Python Meta 注册层** (_meta_registrations.py): - validQuantModes 新增 13 - 新增 is_legacy_dynamic_int4_output 检测旧用法 - scale 校验独立为 INT4 分支(size(0)=1, dtype=float32) - expanded_x dtype 设为 uint8,shape 最后一维为 h // 2 3. **文档** (torch_npu-npu_moe_init_routing_v2.md): - 函数签名新增 x_dtype=None 参数 - quant_mode=1 标注为 INT8,quant_mode=13 标注为 INT4 4. **测试** (test_npu_moe_init_routing_v2.py): - 新增 test_npu_moe_init_routing_int4_dynamic_quant_mode_13,覆盖 FP32/BF16 × scale有/无 共 4 种组合 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 涉及。更新了 torch_npu-npu_moe_init_routing_v2.md: - 函数签名新增 x_dtype 参数 - quant_mode 取值说明新增 13(INT4动态量化),1 标注为 INT8 动态量化 - scale 参数说明区分 INT8 和 INT4 两种动态量化场景 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 涉及。npu_moe_init_routing_v2 接口变更: - **新增**:quant_mode 支持取值 13 (INT4_DYNAMIC_QUANT) - **新增**:x_dtype 参数,类型 int,可选,默认 None。quant_mode=13 时传入 torch_npu.int4 表示输出 INT4 类型 - **非兼容变更**:quant_mode=1, x_dtype=torch_npu.int4 旧用法不再支持,需迁移为 quant_mode=13, x_dtype=torch_npu.int4 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 新增 UT 用例 test_npu_moe_init_routing_int4_dynamic_quant_mode_13,覆盖场景: - FP32 + scale=None - FP32 + scale=ones(1,H) - BF16 + scale=None - BF16 + scale=ones(1,H) 测试验证:expanded_x 输出 shape 为 (bs*k, h/2),dtype 为 uint8(INT4 打包格式)。 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!510311 天前
【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!47781 个月前
!2871 Add npu_moe_token_permute_with_routing_map and testcase Merge pull request !2871 from wgb/bugfix10 个月前
!2871 Add npu_moe_token_permute_with_routing_map and testcase Merge pull request !2871 from wgb/bugfix10 个月前
!2727 [Feature] npu_moe_token_unpermute_with_routing_map Merge pull request !2727 from 刘嘉巍/mha10 个月前
!2727 [Feature] npu_moe_token_unpermute_with_routing_map Merge pull request !2727 from 刘嘉巍/mha10 个月前
!3132 Delete code for v1.11.0 and v2.0 (7/n) Merge pull request !3132 from 刘嘉巍/master-dev9 个月前
!1713 fix ops * fix ops1 年前
!2295 [3/N]cleancode Merge pull request !2295 from zhangqiongwen/master_cleancode_0318_011 年前
!3078 support generator op with capture Merge pull request !3078 from 闫鹏全/master9 个月前
[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!46182 个月前
!2275 fix cleancode Merge pull request !2275 from 詹昊/cleancode11 年前
!1713 fix ops * fix ops1 年前
!2316 cleancode Merge pull request !2316 from DaiFu/2503CleanCode11 年前
!2246 [Codecheck] Fix codecheck. Merge pull request !2246 from 刘嘉巍/deformable1 年前
!1713 fix ops * fix ops1 年前
[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测试通过截图:![image.png](https://raw.gitcode.com/user-images/assets/7403085/f2fb57b5-fb9d-4306-a43e-071f84c852bb/image.png 'image.png') 反向通过截图:![image.png](https://raw.gitcode.com/user-images/assets/7403085/36e911eb-37f1-4a8e-a991-8f3441b38df7/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!503721 天前
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测试用例看护,并补充测试自验证截图 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/e358985a-c44c-4963-93c6-f29d6390d916/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!46841 个月前
native_dropout返回类型修改、文档资料修改 Co-authored-by: l00881990<lixinyu68@huawei.com> # message auto-generated for no-merge-commit merge: !5064 merge fix-2 into master native_dropout返回类型修改、文档资料修改 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] 问题单 https://gitcode.com/Ascend/op-plugin/issues/124 https://gitcode.com/l1919_snow/op-plugin/issues/1 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 1、修改API 使用文档说明 2、修改返回类型为bool,和原生pytorch保持一致 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/5d9053b1-80da-49d5-b7a8-0f967fa4833a/image.png 'image.png') # 【资料变更】 涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/2f01815d-0cb7-4dff-af09-a5ac3f01f1ef/image.png 'image.png') 放开用例:op-plugin/build/pytorch/test/nn/test_dropout_layers.py 测试脚本可跑成功 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/9c998f74-8e1d-4981-b351-02272080f30a/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!506421 天前
!2555 [Feature] Adapte _native_multi_head_attention. Merge pull request !2555 from 刘嘉巍/dev1 年前
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 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b187c5b2-ec75-48d1-addf-769d23baf77a/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b4e2cbb6-7869-450d-a100-ef68b4f941de/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!495829 天前
!3099 [Feature] aclnn for _nnpack_spatial_convolution aclnn Merge pull request !3099 from 刘嘉巍/master-dev9 个月前
!2596 [DFX] More detail info in op_log and support common OP_LOG. Merge pull request !2596 from 刘嘉巍/master-dev11 个月前
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测试用例看护,并补充测试自验证截图 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/d050dbd9-e482-4d38-b107-6377e64907e4/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!43593 个月前
[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 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/add6316f-445a-4791-abd0-48fae56f43db/image.png 'image.png') test_normal.py ![image.png](https://raw.gitcode.com/user-images/assets/7403085/20524449-e67d-4b90-bab2-9e2887cd7bd3/image.png 'image.png') test_random.py ![2.jpg](https://raw.gitcode.com/user-images/assets/7403085/d7746f1a-8f4e-46e0-b688-b28532ecb584/2.jpg '2.jpg') demo对比A5和H20,指数分布和均匀分布下,生成的随机数分布严格一致 ![未命名图片.jpg](https://raw.gitcode.com/user-images/assets/7403085/22ae3786-c7a8-4230-8e82-16cc5dd73ddb/未命名图片.jpg '未命名图片.jpg') # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!501026 天前
!3043 Add obfuscation_initialize obfucation_finialize obfuscation_calculate Merge pull request !3043 from 蒋学博/master9 个月前
!3043 Add obfuscation_initialize obfucation_finialize obfuscation_calculate Merge pull request !3043 from 蒋学博/master9 个月前
!3043 Add obfuscation_initialize obfucation_finialize obfuscation_calculate Merge pull request !3043 from 蒋学博/master9 个月前
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测试用例看护,并补充测试自验证截图 修改前: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/125d677a-5b1d-4df4-9a7b-313a20501e65/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/7b9a48c6-6995-41a1-a16b-e3ff7f2e8589/image.png 'image.png') 修改后: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/58e249ca-3f4a-4d8f-8e58-65de3e32506f/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/030e3791-63a3-4f2c-9d7e-5c64c5081dee/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!43243 个月前
!2309 fix cleancode Merge pull request !2309 from 詹昊/master1 年前
[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!43883 个月前
!3098 Synchronizes selected interfaces from aclop to aclnn Merge pull request !3098 from shaoyf/aclop_39 个月前
!3098 Synchronizes selected interfaces from aclop to aclnn Merge pull request !3098 from shaoyf/aclop_39 个月前
!2247 cleancode for ops. Merge pull request !2247 from 王夏夏/master1 年前
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测试用例看护,并补充测试自验证截图 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/cedfe91e-bd4c-4227-8429-efe528b5494f/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!44892 个月前
!2313 modify cleancode/10 Merge pull request !2313 from 史佳馨/master1 年前
!2313 modify cleancode/10 Merge pull request !2313 from 史佳馨/master1 年前
!2322 modify cleancode/3_1 Merge pull request !2322 from 史佳馨/master1 年前
!1713 fix ops * fix ops1 年前
新增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!40285 个月前
check x and scales cannot be none in _meta Co-authored-by: yifux<xiongyifu1@huawei.com> # message auto-generated for no-merge-commit merge: !4249 merge pr_none into master check x and scales cannot be none in _meta Created-by: xiongyifu Commit-by: yifux Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/10769a5b-e058-446f-8147-a3a4e46cea77/image.png 'image.png') > 在C++层用defined()拦截python层传入的空tensor(None值) # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 正常拦截空tensor(None值) ![image.png](https://raw.gitcode.com/user-images/assets/7403085/1337aeec-2b07-4d52-ba74-01ebfec9f305/image.png 'image.png') # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!42494 个月前
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!39894 个月前
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!39894 个月前
[fix] remove unnecessary same logs Co-authored-by: chenshuai<chenshuai81@huawei.com> # message auto-generated for no-merge-commit merge: !5193 merge fix616 into master [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!51934 天前
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。 # 【功能验证】 本地通路验证,验证结果通过。 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/4b619fb4-7d46-4785-825d-00b8b9335270/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/0e9cc240-44c0-4c32-898d-e1e4db1180fc/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!503621 天前
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!38715 个月前
【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()) 自验脚本 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b1412c51-f297-4a11-9645-70255c5f92c9/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!45502 个月前
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!38715 个月前
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测试用例看护,并补充测试自验证截图 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/d3a6cfc2-0bd9-4270-96d0-ab2980c2a5f9/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!48171 个月前
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 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/9a9f426a-565b-41fe-9710-43f263251af4/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!494323 天前
【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自测: ![test_quant_matmul_gelu.PNG](https://raw.gitcode.com/user-images/assets/7403085/ff577d51-da9e-4012-be67-269409bbfc74/test_quant_matmul_gelu.PNG 'test_quant_matmul_gelu.PNG') fake_tensor自测: ![test_fake_tensor.PNG](https://raw.gitcode.com/user-images/assets/7403085/4a40525a-acfc-4a85-a41a-a6a62cccbde0/test_fake_tensor.PNG 'test_fake_tensor.PNG') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!41863 个月前
[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!45622 个月前
[feat][ops]MatmulReduceScatter量化接口支持aicpu通信 Co-authored-by: 陈佳乐<chenjiale56@huawei.com> # message auto-generated for no-merge-commit merge: !4944 merge aicpu into master [feat][ops]MatmulReduceScatter量化接口支持aicpu通信 Created-by: chenjiale56 Commit-by: 陈佳乐 Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/op-plugin/issues/114 - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 npu_quant_mm_reduce_scatter接口新增comm_mode参数 # 【资料变更】 涉及,增加comm_mode参数支持的字段和相关约束 # 【接口变更】 涉及,接口新增comm_mode参数,comm_mode支持None、空字符串、ai_cpu、ccu四种类型输入。 当comm_mode.has_value()为True时,使用用户传入的值; comm_mode.has_value()为False时表示用户未传入,使用空字符串。 comm_mode值最终传入原始aclnn接口。 # 【功能验证】 测试场景:Ascend 950 CANN版本9.0 用例来源:MC2自验证用例 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/9d19af37-4d96-4a4a-afa4-ec586abe6d9a/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!494423 天前
!2806 add npu_quant_matmul_reduce_sum Merge pull request !2806 from AaronTang/qbmm_reduce_sum10 个月前
【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通过截图: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/77a1406f-859b-4ee1-b185-a8de4319e962/image.png 'image.png') atk验证通过截图: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/02b81a29-d9a7-4347-9b93-239acaabd3da/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!48671 个月前
check x and scales cannot be none in _meta Co-authored-by: yifux<xiongyifu1@huawei.com> # message auto-generated for no-merge-commit merge: !4249 merge pr_none into master check x and scales cannot be none in _meta Created-by: xiongyifu Commit-by: yifux Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 > (如有)请关联需求文档/issue链接 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/10769a5b-e058-446f-8147-a3a4e46cea77/image.png 'image.png') > 在C++层用defined()拦截python层传入的空tensor(None值) # 【资料变更】 > 不涉及 # 【接口变更】 > 不涉及 # 【功能验证】 正常拦截空tensor(None值) ![image.png](https://raw.gitcode.com/user-images/assets/7403085/1337aeec-2b07-4d52-ba74-01ebfec9f305/image.png 'image.png') # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!42494 个月前
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!41084 个月前
【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!34316 个月前
【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!34316 个月前
【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!34316 个月前
!1713 fix ops * fix ops1 年前
[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 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/add6316f-445a-4791-abd0-48fae56f43db/image.png 'image.png') test_normal.py ![image.png](https://raw.gitcode.com/user-images/assets/7403085/20524449-e67d-4b90-bab2-9e2887cd7bd3/image.png 'image.png') test_random.py ![2.jpg](https://raw.gitcode.com/user-images/assets/7403085/d7746f1a-8f4e-46e0-b688-b28532ecb584/2.jpg '2.jpg') demo对比A5和H20,指数分布和均匀分布下,生成的随机数分布严格一致 ![未命名图片.jpg](https://raw.gitcode.com/user-images/assets/7403085/22ae3786-c7a8-4230-8e82-16cc5dd73ddb/未命名图片.jpg '未命名图片.jpg') # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!501026 天前
!2282 Fix codecheck. Merge pull request !2282 from 刘嘉巍/cleancode1 年前
!1971 主线,对标竞品适配range/arange op-plugin Merge pull request !1971 from 王振动/mst_range_11051 年前
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!34766 个月前
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 # 【资料变更】 不涉及 # 【接口变更】 不涉及 # 【功能验证】 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b187c5b2-ec75-48d1-addf-769d23baf77a/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b4e2cbb6-7869-450d-a100-ef68b4f941de/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!495829 天前
!2260 fix cleancode Merge pull request !2260 from 詹昊/master1 年前
!3132 Delete code for v1.11.0 and v2.0 (7/n) Merge pull request !3132 from 刘嘉巍/master-dev9 个月前
!3132 Delete code for v1.11.0 and v2.0 (7/n) Merge pull request !3132 from 刘嘉巍/master-dev9 个月前
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!40644 个月前
[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!49461 个月前
!2247 cleancode for ops. Merge pull request !2247 from 王夏夏/master1 年前
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: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b08ca96c-7b27-4072-9557-c422bfc8ca2f/image.png 'image.png') npu_rms_norm_dynamic_mx_quant: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/326fa3c6-acd4-4f42-aff3-d276998f8afc/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!44292 个月前
!2247 cleancode for ops. Merge pull request !2247 from 王夏夏/master1 年前
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!41694 个月前
[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 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/c5312a2f-578d-489a-8d16-1c4508e7a877/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!507220 天前
!1713 fix ops * fix ops1 年前
!2313 modify cleancode/10 Merge pull request !2313 from 史佳馨/master1 年前
!2103 modify op dequant_repo_quant_kv_cache file name Merge pull request !2103 from 流浪者LingLong/master1 年前
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!45632 个月前
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!41084 个月前
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!41084 个月前
[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测试用例看护,并补充测试自验证截图 ![验证.png](https://raw.gitcode.com/user-images/assets/7403085/c73f97df-fb14-43e6-abe5-f50b79089654/验证.png '验证.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!502719 天前
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!36876 个月前
【fix】support attention mask shape broadcasting for NPU SDPA Co-authored-by: pengqihw<pengqi33@huawei.com> # message auto-generated for no-merge-commit merge: !4849 merge fix_sdpa into master 【fix】support attention mask shape broadcasting for NPU SDPA Created-by: pengqihw Commit-by: pengqihw 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/2173 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 ### 修改目的 本次修改由 PyTorch v2.7.1 原生 test_transformers.py 中 SDPA 用例迁移到 NPU 后的问题引出,主要涉及: - test_scaled_dot_product_fused_attention_mask_vs_math_cpu - test_fully_masked_out_rows - test_math_backend_high_precision 相关用例要求 NPU 支持 mask shape broadcast、显式选择 MATH backend,并在 fully masked rows 场景下与 MATH reference 保持一致。 1. 原生 mask broadcast 用例会覆盖 [Sq, 1][1, Skv][1, 1][B/1, N/1, Sq/1, Skv/1]attn_mask shape,NPU SDPA fused 路径此前未统一处理这些可广播形状。 2. 原生用例会显式选择 SDPBackend.MATH 作为 reference,NPU 兼容模式下需要尊重该 backend 选择,避免继续进入 FA/FIA fused 路径。 3. test_fully_masked_out_rows 要求整行 mask 的输出和 query 梯度为 0,FA 路径需要在该场景下设置 inner_precise=2。 4. NPU SDPA 当前不支持真实 float64 计算,传入 fp64 会自动退化到 fp32,因此原生 fp64 reference 相关断言不适用于 NPU。 ### 修改内容 - 新增 NPU attn_mask 预处理逻辑,支持原生用例中的 broadcast shape,并在需要时 expand 到 [B, N, Sq, Skv]。 - compatible impl 开启时,读取用户 SDPA backend context,支持显式选择 MATH backend。 - FA 路径新增 inner_precise 计算:非 causal、Sq > 1 且存在 attn_mask 时设置为 2。 - FA/FIA 路径统一使用预处理后的 mask。 ### 影响范围 - 影响 NPU SDPA opapi 中 FA/FIA 路径的 mask 处理和 backend 选择。 - 对无 mask、已满足 NPU kernel 支持形态的 mask,行为保持不变。 - MATH backend 路径选择**仅在 compatible impl 环境变量开启后生效**,默认不改变现有路径选择行为。 - fully masked rows 场景下 FA 输出和梯度行为与 MATH reference 对齐。 # 【资料变更】 已更新 torch_npu.npu.use_compatible_impl 资料,补充 torch.nn.functional.scaled_dot_product_attention 支持情况,以及开启后支持按 SDPA 后端选择上下文显式选择 MATH 后端。 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/d1b6779b-8a8e-4b8e-807b-67d688932ee8/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!484917 天前
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!505018 天前
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!505018 天前
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!41084 个月前
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!505018 天前
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!505018 天前
!2206 [Codecheck] Fix codecheck. Merge pull request !2206 from 刘嘉巍/deformable1 年前
!2293 [2/N] cleancode Merge pull request !2293 from zhangqiongwen/master_cleancode_03171 年前
!1713 fix ops * fix ops1 年前
!2353 [Task] cleancode 3/N. Merge pull request !2353 from will-devil/cleancode-21 年前
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测试用例看护,并补充测试自验证截图 已本地验证,功能精度正常: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/d0795684-5fee-44dc-9439-720e45c5843d/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!46642 个月前
!1713 fix ops * fix ops1 年前
!2694 [Feature] Support named tensor [4/4]. Merge pull request !2694 from 刘嘉巍/named-dev11 个月前
!2314 modify cleancode/11 Merge pull request !2314 from 史佳馨/master1 年前
!2314 modify cleancode/11 Merge pull request !2314 from 史佳馨/master1 年前
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!41084 个月前
sim_thread_exponential适配PTA Co-authored-by: sikaiwei<sikaiwei1@h-partners.com> # message auto-generated for no-merge-commit merge: !5013 merge sim_thread_exponential into master sim_thread_exponential适配PTA Created-by: sikaiwei Commit-by: sikaiwei Merged-by: ascend-robot Description: <!-- PR描述模板更新日期:20260203 --> # 【合入来源】 https://gitcode.com/Ascend/op-plugin/issues/104 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [x] 需求 - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 pair获取的seed和offset不应该硬编码为4,改为调用接口动态获取。exponential接口修改为在A5时调用aclnnSimThreadExponential # 【资料变更】 不涉及 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” # 【接口变更】 不涉及 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” # 【功能验证】 在npu调用sim_thread_exponential和expontial接口,与gpu在相同seed和offset的情况下调用exponential算子做结果比对 经验证,npu连跑两次结果与gpu连跑两次结果一致,offset递增一致,符合预期。 ![未命名图片.jpg](https://raw.gitcode.com/user-images/assets/7403085/9dfa4999-600c-47e2-a6b8-486b50d6fc9f/未命名图片.jpg '未命名图片.jpg') > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!501325 天前
!3132 Delete code for v1.11.0 and v2.0 (7/n) Merge pull request !3132 from 刘嘉巍/master-dev9 个月前
!1713 fix ops * fix ops1 年前
!2640 fix smoothl1loss blending accuracy Merge pull request !2640 from liuxiaoxing/dev_david11 个月前
【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!34316 个月前
bugfix: eliminate redundant operations in sort. Co-authored-by: yvjc<yujincheng7@huawei.com> # message auto-generated for no-merge-commit merge: !5121 merge bugfix_sort into master 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!512114 天前
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和模型侧验证,无功能问题。用例及对外文档后续补充。 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/9d809139-38cf-4e3b-b189-5db99637194b/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/1550bb18-edae-4ac5-8948-64061ab1a51d/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b51a75ff-e530-4be1-9ec8-30fbd0cd960a/image.png 'image.png') See merge request: Ascend/op-plugin!35296 个月前
[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!44003 个月前
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和模型侧验证,无功能问题。用例及对外文档后续补充。 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/9d809139-38cf-4e3b-b189-5db99637194b/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/1550bb18-edae-4ac5-8948-64061ab1a51d/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b51a75ff-e530-4be1-9ec8-30fbd0cd960a/image.png 'image.png') See merge request: Ascend/op-plugin!35296 个月前
[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!34667 个月前
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_outstdstd_mean 函数中添加 CPU 回退逻辑 - 当 correction 不适合 aclnn 处理时,将计算回退到 CPU 执行,以保证精度 3. **Var 函数修复**: - 在 op_plugin/ops/aclops/VarKernelNpu.cpp 中的 var_outvarvar_mean 函数中添加相同的 CPU 回退逻辑 - 实现方式与 Std 函数类似,确保语义一致性 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/3eec8fc6-f3bf-44d6-9bbe-29ef44d38752/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/97447d71-2a3b-4bf7-a18b-230e94bd9787/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/dfb67e17-ceb5-41a9-ac90-749f330baa9e/image.png 'image.png') 1. **测试场景**: - 整数 correction 情况:确保 NPU 加速正常工作 - 非整数 correction 情况:确保结果与 CPU 版本一致 - 边界值测试:如 correction 为负数、零、大数等情况 - 不同数据类型和维度的张量测试 2. **测试方法**: - 运行现有的 test_std.pytest_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!49971 个月前
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_outstdstd_mean 函数中添加 CPU 回退逻辑 - 当 correction 不适合 aclnn 处理时,将计算回退到 CPU 执行,以保证精度 3. **Var 函数修复**: - 在 op_plugin/ops/aclops/VarKernelNpu.cpp 中的 var_outvarvar_mean 函数中添加相同的 CPU 回退逻辑 - 实现方式与 Std 函数类似,确保语义一致性 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/3eec8fc6-f3bf-44d6-9bbe-29ef44d38752/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/97447d71-2a3b-4bf7-a18b-230e94bd9787/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/dfb67e17-ceb5-41a9-ac90-749f330baa9e/image.png 'image.png') 1. **测试场景**: - 整数 correction 情况:确保 NPU 加速正常工作 - 非整数 correction 情况:确保结果与 CPU 版本一致 - 边界值测试:如 correction 为负数、零、大数等情况 - 不同数据类型和维度的张量测试 2. **测试方法**: - 运行现有的 test_std.pytest_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!49971 个月前
[Bugfix] stft功能补齐 Co-authored-by: george_zhanglei<george.zhanglei@huawei.com> # message auto-generated for no-merge-commit merge: !3679 merge master into master [Bugfix] stft功能补齐 Created-by: george_zhanglei Commit-by: george_zhanglei 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**: 算子执行报错,超出了aicpu执行的限制,改为小算子拼接方案,实现同cuda **Special notes for your reviewers**: import torch import torch_npu x = torch.randn(8, 30000) b = torch.stft(x,400,160,400,normalized=False,onesided=True,return_complex=False) print("-----------NPU---------------") xx = x.npu() bb = torch.stft(xx,400,160,400,normalized=False,onesided=True,return_complex=False) diff = b-bb.cpu() print(diff.abs().max()) ![image.png](https://raw.gitcode.com/user-images/assets/7403085/eedc343c-6cb9-4626-a9a7-7de2aa49cbdf/image.png 'image.png') See merge request: Ascend/op-plugin!36796 个月前
!2317 Cleancode for ops. Merge pull request !2317 from 王夏夏/cleancode1 年前
!3132 Delete code for v1.11.0 and v2.0 (7/n) Merge pull request !3132 from 刘嘉巍/master-dev9 个月前
[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通过截图: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/a8eefc7f-3e4f-487f-92da-5318bd7b9571/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!492720 天前
add swiglu_group_quant_backward opp Co-authored-by: ego<pengcong27@h-partners.com> # message auto-generated for no-merge-commit merge: !5185 merge master into master add swiglu_group_quant_backward opp 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] 需求 [新增swiglu_group_quant_backward接口](https://gitcode.com/Ascend/op-plugin/issues/165) - [ ] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 > 请描述修改内容的具体实现,涉及哪些组件之间进行交互,可以用1、2、3、...进行罗列\ > 如果是需求或者重构类的PR,需要补充详细设计文档(说明上下游组件关系、时序图、类图、DFX能力等内容) 应盘古需求,新增swiglu_group_quant_backward接口 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 用例覆盖 测试文件:op-plugin/test/test_custom_ops/test_npu_swiglu_group_quant_backward.py ![image.png](https://raw.gitcode.com/user-images/assets/7403085/14f8f7f2-346c-4aec-95db-4840f7cc8ec7/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [ ] 代码注释完备,正确记录错误日志 - [ ] 代码实现进行了返回值、空指针等校验 - [ ] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [ ] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!51856 天前
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用例执行成功 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/5c7f0d08-ff9c-4269-b2ab-658a4b46f832/image.png 'image.png') 本地用例自测成功: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/b25f33ba-391c-46a8-b095-3e0d3a5d92b0/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!45522 个月前
[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.本地自验证: ![image.png](https://raw.gitcode.com/user-images/assets/7403085/ee09458e-3668-42c0-a2af-9eec61ff1d68/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!496826 天前
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!31678 个月前
!2694 [Feature] Support named tensor [4/4]. Merge pull request !2694 from 刘嘉巍/named-dev11 个月前
!2694 [Feature] Support named tensor [4/4]. Merge pull request !2694 from 刘嘉巍/named-dev11 个月前
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!40754 个月前
修复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!46072 个月前
!2488 Refactor compability judgement. Merge pull request !2488 from 刘嘉巍/master1 年前
!2555 [Feature] Adapte _native_multi_head_attention. Merge pull request !2555 from 刘嘉巍/dev1 年前
[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!46182 个月前
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测试用例看护,并补充测试自验证截图 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/2b51b324-e990-4e7b-aa50-c237d87153c1/image.png 'image.png') # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!489024 天前
[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!32158 个月前
[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 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/add6316f-445a-4791-abd0-48fae56f43db/image.png 'image.png') test_normal.py ![image.png](https://raw.gitcode.com/user-images/assets/7403085/20524449-e67d-4b90-bab2-9e2887cd7bd3/image.png 'image.png') test_random.py ![2.jpg](https://raw.gitcode.com/user-images/assets/7403085/d7746f1a-8f4e-46e0-b688-b28532ecb584/2.jpg '2.jpg') demo对比A5和H20,指数分布和均匀分布下,生成的随机数分布严格一致 ![未命名图片.jpg](https://raw.gitcode.com/user-images/assets/7403085/22ae3786-c7a8-4230-8e82-16cc5dd73ddb/未命名图片.jpg '未命名图片.jpg') # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!501026 天前
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!31869 个月前
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!31849 个月前
!2596 [DFX] More detail info in op_log and support common OP_LOG. Merge pull request !2596 from 刘嘉巍/master-dev11 个月前
!3086 The aclop for torch._dim_arange, torch._unsafe_index, torch.index_add, and torch.nn.functional.adaptive_avg_pool1d has been switched to aclnn. Merge pull request !3086 from 史佳馨/master9 个月前
!2213 clean code Merge pull request !2213 from wgb/clean_code11 年前
!2275 fix cleancode Merge pull request !2275 from 詹昊/cleancode11 年前
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!31869 个月前
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!31869 个月前
!2213 clean code Merge pull request !2213 from wgb/clean_code11 年前
!2204 clean code : infershape file Merge pull request !2204 from wgb/clean_code1 年前
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!31869 个月前
修改了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!41443 个月前
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!31869 个月前
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!31869 个月前
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!31869 个月前
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!31869 个月前
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!31869 个月前
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!31869 个月前
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!31869 个月前
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!31869 个月前
!2314 modify cleancode/11 Merge pull request !2314 from 史佳馨/master1 年前
!2276 fix cleancode Merge pull request !2276 from 詹昊/cleancode21 年前
!2199 NearestExact兼容性修改 Merge pull request !2199 from 陈海杰/master1 年前
!2199 NearestExact兼容性修改 Merge pull request !2199 from 陈海杰/master1 年前
!2199 NearestExact兼容性修改 Merge pull request !2199 from 陈海杰/master1 年前
!2353 [Task] cleancode 3/N. Merge pull request !2353 from will-devil/cleancode-21 年前
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!31869 个月前
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!31869 个月前
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_outstdstd_mean 函数中添加 CPU 回退逻辑 - 当 correction 不适合 aclnn 处理时,将计算回退到 CPU 执行,以保证精度 3. **Var 函数修复**: - 在 op_plugin/ops/aclops/VarKernelNpu.cpp 中的 var_outvarvar_mean 函数中添加相同的 CPU 回退逻辑 - 实现方式与 Std 函数类似,确保语义一致性 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 ![image.png](https://raw.gitcode.com/user-images/assets/7403085/3eec8fc6-f3bf-44d6-9bbe-29ef44d38752/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/97447d71-2a3b-4bf7-a18b-230e94bd9787/image.png 'image.png') ![image.png](https://raw.gitcode.com/user-images/assets/7403085/dfb67e17-ceb5-41a9-ac90-749f330baa9e/image.png 'image.png') 1. **测试场景**: - 整数 correction 情况:确保 NPU 加速正常工作 - 非整数 correction 情况:确保结果与 CPU 版本一致 - 边界值测试:如 correction 为负数、零、大数等情况 - 不同数据类型和维度的张量测试 2. **测试方法**: - 运行现有的 test_std.pytest_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!49971 个月前
!3098 Synchronizes selected interfaces from aclop to aclnn Merge pull request !3098 from shaoyf/aclop_39 个月前
!3098 Synchronizes selected interfaces from aclop to aclnn Merge pull request !3098 from shaoyf/aclop_39 个月前
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!41084 个月前
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!37306 个月前
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!31869 个月前
[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!36936 个月前
feat: 新增 _npu_rms_norm_backward_quant 融合算子接口 Co-authored-by: guoxu7<guoxu48@huawei.com> # message auto-generated for no-merge-commit merge: !5022 merge RmsNormBackwardQuant into master feat: 新增 _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!502213 天前
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!31879 个月前
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!41884 个月前
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!38555 个月前
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!38975 个月前
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!38555 个月前
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!38975 个月前
!2759 Add _thnn_fused_gru_cell for pt2.5+ Merge pull request !2759 from shaoyf/master_gru_cell11 个月前