文件最后提交记录最后更新时间
Fix moe unpermute grad probs dtype guard Co-authored-by: wang_ziqi<wangziqi4@huawei.com> # message auto-generated for no-merge-commit merge: !4846 merge fix/grad-probs-dtype-26.0.0 into 26.0.0 Fix moe unpermute grad probs dtype guard Created-by: wang-ziqi-code Commit-by: wang_ziqi Merged-by: ascend-robot Description: # 【合入来源】 - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】修复 npu_moe_token_unpermute_gradprobs=None 场景下的回归问题 1. **问题现象**:在合入 grad_probs dtype 修复后,npu_moe_token_unpermute 的反向路径在 probs=None、即 topk=1 场景下出现报错: The tensor has a non-zero number of elements, but its data is not allocated yet. 2. **问题根因**: - grad_probssize 推导逻辑使用的是 probs.has_value() && probs.value().defined(); - 但 grad_probsdtype 推导逻辑只判断了 probs.has_value(); - 当 Python 侧传入 None,在该链路下可能表现为“optional 有值但 tensor 未 defined”,导致 size 侧将 grad_probs 视为无效输出,而 dtype 侧仍尝试按有效输出处理,最终引发输出分配状态不一致,反向执行报错。 3. **修改内容**: - 修改 op_plugin/config/op_plugin_functions.yaml - 将 grad_probsdtype 判定从: probs.has_value() ? probs->scalar_type() : grad_unpermuted_tokens.scalar_type() 修正为: probs.has_value() && probs->defined() ? probs->scalar_type() : grad_unpermuted_tokens.scalar_type() - 使 dtype 推导逻辑与 size 推导逻辑、以及工程内 optional tensor 的通用判定方式保持一致,避免在 probs=None 场景下误访问未定义 tensor。 4. **修改范围说明**: - 本次为最小修复,仅修正生成侧 dtype 判定条件; - 不调整 Python meta 层 probs is None -> grad_probs is None 的现有语义; - 不修改算子 schema、derivatives 配置和接口行为。 # 【资料变更】 不涉及。 # 【接口变更】 不涉及。本次修复仅纠正 grad_probs 输出 dtype 的判定条件,不改变算子签名和对外行为。 # 【功能验证】 1. 代码级验证: - 确认 grad_probsdtype 判定与 size 判定统一为“has_value() && defined() 才视为有效 optional tensor” 2. 场景验证: - probs=None / topk=1 场景下,npu_moe_token_unpermute 反向路径不再因未定义 tensor 参与 dtype 推导而报错 - 普通 probs 存在场景下,grad_probs 仍保持使用 probs 的 dtype 3. 回归风险: - 修改仅影响 npu_moe_token_unpermute_gradgrad_probs dtype 推导条件,影响面小 # 【CheckList】 - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!48461 个月前
Revert "EXEC_NPU_CMD_EXT解耦,保持ABI兼容" Co-authored-by: chujinjin<chujinjin52@huawei.com> # message auto-generated for no-merge-commit merge: !4734 merge revert_npu_cpp_extention_for_26 into 26.0.0 Revert "EXEC_NPU_CMD_EXT解耦,保持ABI兼容" Created-by: chujinjin Commit-by: chujinjin 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能力等内容) 原有头文件将内部组件的头文件暴露给外部,EXEC_NPU_CMD_EXT解耦导致部分将无关头文件去除,导致外部需要的头文件缺失。 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 编译examples里面的aclnn_extention,编译执行通过 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!47341 个月前
[bugfix][26.0.0]同步BSA算子适配aclnn参数校验 Co-authored-by: CreatYiao<178363382@qq.com> # message auto-generated for no-merge-commit merge: !4794 merge fix_bsa_docs into 26.0.0 [bugfix][26.0.0]同步BSA算子适配aclnn参数校验 Created-by: Sunshine_Youngster Commit-by: CreatYiao 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!47941 个月前
fix: correct grad_probs dtype in npu_moe_token_unpermute_grad to match probs dtype Co-authored-by: wang_ziqi<wangziqi4@huawei.com> # message auto-generated for no-merge-commit merge: !4834 merge fix/grad-probs-dtype-26.0.0 into 26.0.0 fix: correct grad_probs dtype in npu_moe_token_unpermute_grad to match probs dtype Created-by: wang-ziqi-code Commit-by: wang_ziqi Merged-by: ascend-robot Description: # 【合入来源】 > <font color="red">**如有社区issue,请关联issue链接**</font>\ > <font color="red">**请勿携带内部流程信息(需求链接、问题单、内部issue等)**</font> - [ ] 需求 - [x] 问题单 - [ ] issue/工单 - [ ] 重构优化 - [ ] 资料更新 # 【修改方案】 修复 npu_moe_token_unpermute_grad 算子中 grad_probs 输出数据类型推导错误的问题。 1. **问题根因**:grad_probs 作为 probs 的梯度,其 dtype 应与 probs 保持一致,但当前实现中错误地使用了 grad_unpermuted_tokens 的 dtype。当 probsgrad_unpermuted_tokens 数据类型不同时(如 MoE 混合精度训练中 probs 为 float32、grad_unpermuted_tokens 为 bfloat16),grad_probs 的 dtype 推导结果错误,导致精度丢失,进而引发网络 loss 为 NaN。 2. **修改内容**: - op_plugin/python/meta/_meta_registrations.py:将 torch.empty_like(probs, dtype=grad_unpermuted_tokens.dtype) 改为 torch.empty_like(probs, dtype=probs.dtype),确保 grad_probs 的 dtype 与 probs 一致;probs 为 None 时 grad_probs 也为 None,不创建张量 - op_plugin/config/op_plugin_functions.yaml:将 grad_probsdtype 字段从 grad_unpermuted_tokens 改为 probs.has_value() ? probs->scalar_type() : permuted_tokens.scalar_type()。由于 probsTensor?(optional)类型,代码生成器不会自动追加 .scalar_type(),需要显式写出完整 C++ 表达式;probs 为空时 grad_probs 为空张量,使用 permuted_tokens.scalar_type() 作为占位 dtype 3. **为什么之前未被发现**:现有测试中 probsgrad_unpermuted_tokens 使用相同 dtype(均为 bfloat16),此时 dtype=grad_unpermuted_tokens.dtype 恰好等于 probs.dtype,bug 被掩盖。仅在混合精度场景下才会暴露。 # 【资料变更】 不涉及 # 【接口变更】 不涉及。本次修复仅纠正 grad_probs 输出的 dtype 推导逻辑,算子签名和接口行为无变更。 # 【功能验证】 1. 测试场景:npu_moe_token_unpermute_grad 算子在 probsgrad_unpermuted_tokens dtype 不同时的输出 dtype 正确性 2. 测试方法:已有测试用例 test_fake_tensor.py 中包含 self.assertEqual(grad_probs.dtype, probs.dtype) 断言,与修复后的行为一致 3. 验证方式:通过 Meta Tensor / FakeTensor 机制验证 grad_probs 的 dtype 与 probs 一致;端到端混合精度训练场景下 loss 不再出现 NaN # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!48341 个月前
remove unused file Co-authored-by: liangsongwei<liangsongwei@huawei.com> # message auto-generated for no-merge-commit merge: !3725 merge master into master remove unused file 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!37254 个月前
[26.0]fix stream in workspace for EXEC_EXT Co-authored-by: DaiFu<daifu2@huawei.com> # message auto-generated for no-merge-commit merge: !4895 merge 26.0.0 into 26.0.0 [26.0]fix stream in workspace for EXEC_EXT 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能力等内容) EXEC_NPU_CMD_V1_EXT及EXEC_NPU_CMD_V2_EXT中workspace申请修正 # 【资料变更】 > 请确认是否涉及资料变更。如涉及,需要在PR中体现,并简要说明修改内容。如不涉及,需填写“不涉及” 不涉及 # 【接口变更】 > 请确认是否涉及跨代码仓或者客户面可见的接口变更。如涉及,需要详细说明接口以及对应的变更内容,同时需要在资料中体现。如不涉及,需填写“不涉及” 不涉及 # 【功能验证】 > 说明测试场景,测试方法。如果本次测试方式与常规单元测试不同,请详细说明您的测试步骤\ > 新增/变更内容是否已新增/适配UT测试用例看护,并补充测试自验证截图 # 【CheckList】 > PR提交人对以下CheckList自检项进行全量自检,自检通过或不涉及,均修改 [ ] 为 [x] - [x] 代码注释完备,正确记录错误日志 - [x] 代码实现进行了返回值、空指针等校验 - [x] PR标题正确使用类型标签,如:feat、fix、refactor、docs、test等 - [x] PR持续集成流水线(CI)执行通过,代码检查无异常 See merge request: Ascend/op-plugin!489526 天前
add Bsymbolic-functions for op_plugin_atb Co-authored-by: wangchao430<wangchao430@huawei.com> # message auto-generated for no-merge-commit merge: !3852 merge master_abi into master add Bsymbolic-functions for op_plugin_atb Created-by: wangchao430 Commit-by: wangchao430 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!38525 个月前