| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
重构 ascend_anti_quant_v2:合并 offset/no-offset 重复代码,提取公共算子到基类 Co-authored-by: yuanbin_22<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !7169 merge refactor/ascend_anti_quant_v2_dedup into master 重构 ascend_anti_quant_v2:合并 offset/no-offset 重复代码,提取公共算子到基类 Created-by: yuanbin_22 Commit-by: yuanbin_22 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 重构 ascend_anti_quant_v2:合并 offset/no-offset 重复代码,提取公共算子到基类;修复 scatter_fusion_pass 代码问题;重构 dynamic_block_quant CalcTilingKey ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1323 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7169 | 1 个月前 | |
重构 ascend_anti_quant_v2:合并 offset/no-offset 重复代码,提取公共算子到基类 Co-authored-by: yuanbin_22<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !7169 merge refactor/ascend_anti_quant_v2_dedup into master 重构 ascend_anti_quant_v2:合并 offset/no-offset 重复代码,提取公共算子到基类 Created-by: yuanbin_22 Commit-by: yuanbin_22 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 重构 ascend_anti_quant_v2:合并 offset/no-offset 重复代码,提取公共算子到基类;修复 scatter_fusion_pass 代码问题;重构 dynamic_block_quant CalcTilingKey ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1323 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7169 | 1 个月前 | |
fix: softmax_grad_ext fusion pass 代码审查修复(memcpy_s 安全函数)、quant_update_scatter 原型重构、leaky_relu mask 调整、tiling 告警消除及 classify_rule 测试分类调整 Co-authored-by: yuanbin_22<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !9190 merge fix/softmax-grad-ext-code-review into master fix: softmax_grad_ext fusion pass 代码审查修复(memcpy_s 安全函数)、quant_update_scatter 原型重构、leaky_relu mask 调整、tiling 告警消除及 classify_rule 测试分类调整 Created-by: yuanbin_22 Commit-by: yuanbin_22 Merged-by: cann-robot Description: ## 描述 本 PR 涵盖 softmax_grad_ext fusion pass 代码审查问题修复、quant_update_scatter 算子原型重构、leaky_relu arch35 内核 mask 计算调整、tiling prepare 函数未使用参数告警消除、以及 classify_rule.yaml 测试分类规则调整。共涉及 6 个文件(+150 -94 行)。 ### 涉及文件 | 文件 | 变更类型 | +行 | -行 | |------|----------|-----|-----| | activation/softmax_grad_ext/op_graph/fusion_pass/softmax_grad_ext_fusion_pass.cpp | 代码修复 | +49 | -28 | | classify_rule.yaml | 配置调整 | +45 | -88 | | index/quant_update_scatter/op_host/quant_update_scatter_def.cpp | 重构 | +46 | -63 | | quant/dynamic_block_quant/op_host/dynamic_block_quant_tiling.cpp | 告警修复 | +4 | -1 | | quant/dynamic_mx_quant/op_host/arch35/dynamic_mx_quant_tiling_arch35.cpp | 告警修复 | +4 | -1 | | activation/leaky_relu/op_kernel/arch35/leaky_relu_dag.h | 内核调整 | +2 | -3 | ### 变更内容 #### 1. softmax_grad_ext fusion pass 代码审查修复 - **严格别名违规修复**:GetAxisFromReduceSum 中 reinterpret_cast 直接解引用改为 memcpy_s(安全函数)拷贝到本地变量,并使用 OP_LOGE_IF 检查 memcpy_s 返回值是否为 EOK - **新增 #include "securec.h"**:引入 memcpy_s/EOK 定义 - **格式符修复**:axis_value(int64_t)的格式符从 %ld 改为 %lld - **返回值校验**:AddEdgeAndUpdatePeerDesc 调用使用 ES_ASSERT_GRAPH_SUCCESS 宏包装 - **魔法数字消除**:新增 9 个命名常量替换硬编码值(kUnknownShapeDim、kReduceLastAxis、kAxesShapeDim、kPatternV2VariantCount、kBinaryInputX1Idx、kBinaryInputX2Idx、kReduceSumInputXIdx、kNodeOutputIdx、kTargetSocVersion) - **日志增强**:平台不支持日志中的 Ascend950 改为引用 kTargetSocVersion 常量 #### 2. quant_update_scatter 算子原型重构 将 QuantUpdateScatter 类中各输入/输出的内联 DataType/Format/UnknownShapeFormat 向量提取为文件级 static const 命名向量(varDataType、indicesDataType、updatesDataType、quantScalesDataType、quantZeroPointsDataType、inputAndOutputFormat),消除重复代码,提升可维护性。 #### 3. leaky_relu arch35 内核 mask 计算调整 - 移除局部 constexpr uint64_t VECTOR_REG_WIDTH = 256UL(使用全局定义) - 将 Reg::UpdateMask 从循环外移入循环内,确保每次迭代 mask 与实际剩余元素匹配,避免最后一次循环处理越界 #### 4. tiling prepare 函数未使用参数告警消除 dynamic_block_quant 和 dynamic_mx_quant 的 TilingPrepare 函数中 context 参数未使用,添加 [[maybe_unused]] 属性消除编译告警,并格式化函数体。 #### 5. classify_rule.yaml 测试分类调整 将以下算子的测试代码从 activation-c@ops-nn(已发布分类)移至 VC1@ops-nn(未发布分类),并取消原 VC1 中的注释标记: - elu、elu_grad_v2、fast_gelu、fast_gelu_grad - ge_glu_grad_v2、ge_glu_v2、gelu、gelu_grad、gelu_grad_v2、gelu_quant、gelu_v2 - hardtanh_grad、leaky_relu、leaky_relu_grad、p_relu、relu、relu_grad - sigmoid、sigmoid_grad、silu_grad、swi_glu_grad、swish、swish_grad - ascend_quant ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/1323 ## 测试 - softmax_grad_ext fusion pass 功能验证通过 - quant_update_scatter 算子原型注册行为不受影响 - leaky_relu FP16/BF16/FP32 各 dtype 功能验证通过 - tiling 函数编译无新增告警 - classify_rule 分类调整后 CI 流水线通过(ci-pipeline-passed) ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9190 | 1 天前 | |
重构 ascend_anti_quant_v2:合并 offset/no-offset 重复代码,提取公共算子到基类 Co-authored-by: yuanbin_22<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !7169 merge refactor/ascend_anti_quant_v2_dedup into master 重构 ascend_anti_quant_v2:合并 offset/no-offset 重复代码,提取公共算子到基类 Created-by: yuanbin_22 Commit-by: yuanbin_22 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 重构 ascend_anti_quant_v2:合并 offset/no-offset 重复代码,提取公共算子到基类;修复 scatter_fusion_pass 代码问题;重构 dynamic_block_quant CalcTilingKey ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/1323 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7169 | 1 个月前 |