| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
规范ActULQClampMaxGrad与ActsULQInputGrad的文件去重宏与原型去重宏 Co-authored-by: Coder_Nerd<shishuai5@huawei.com> # message auto-generated for no-merge-commit merge: !8894 merge master into master 规范ActULQClampMaxGrad与ActsULQInputGrad的文件去重宏与原型去重宏 Created-by: Coder_Nerd Commit-by: Coder_Nerd Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ActULQClampMaxGrad与ActsULQInputGrad算子的算子原型的原型去重宏与文件去重宏使用不规范,新增 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4674 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8894 | 19 天前 | |
[CANNBot]:新增ActULQClampMinGrad算子适配 Ascend950 Co-authored-by: Coder_Nerd<shishuai5@huawei.com> # message auto-generated for no-merge-commit merge: !8762 merge master into master [CANNBot]:新增ActULQClampMinGrad算子适配 Ascend950 Created-by: Coder_Nerd Commit-by: Coder_Nerd Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 算子功能:用于ULQ(Ultra-Low-bit Quantization,超低比特量化)量化感知训练中,计算clamp下界截断的反向梯度。该算子对输入张量执行全轴归约求和操作,输出一个标量梯度值。 - 计算公式: $$ clamp\_min\_grad = \sum_{全轴}(y\_grad \times ((1 - clamp\_min\_mask) - x\_clamped\_loss)) $$ 其中: - $y\_grad$:来自后续层的梯度张量 - $clamp\_min\_mask$:clamp下界掩码(布尔型或浮点型,取值为0或1) - $x\_clamped\_loss$:经过clamp后的损失值张量 - $clamp\_min\_grad$:输出的标量梯度(0维张量) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4366 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8762 | 21 天前 | |
长尾算子接口资料产品支持情况修改 Co-authored-by: h1234515<huangzhiyuan21@huawei.com> # message auto-generated for no-merge-commit merge: !9034 merge A2A3 into master 长尾算子接口资料产品支持情况修改 Created-by: h1234515 Commit-by: h1234515 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 长尾算子接口资料产品支持情况修改 本次修改涉及 4 个算子的 README.md 文档,主要内容是更新产品支持矩阵,将多个 Atlas 产品的支持状态从 ×(不支持)改为 √(支持): ┌────────────┬─────────────────────────┬────────────────────────────────────────────────┐ │算子 │文件 │变更内容 │ ├────────────┼─────────────────────────┼────────────────────────────────────────────────┤ │EuclideanNor│norm/euclidean_norm/ │Atlas 200I/500 A2 推理产品、Atlas 推理系列产品、│ │m │README.md │Atlas 训练系列产品 → 支持 │ ├────────────┼─────────────────────────┼────────────────────────────────────────────────┤ │AdamApplyOne│optim/ │Atlas A3 系列、Atlas A2 系列、Atlas 200I/500 │ │Assign │adam_apply_one_assign/ │A2、Atlas 训练系列产品 → 支持 │ │ │README.md │ │ ├────────────┼─────────────────────────┼────────────────────────────────────────────────┤ │ActsULQ │quant/acts_ulq/README.md │Atlas 200I/500 A2 推理产品、Atlas 训练系列产品 │ │ │ │→ 支持 │ ├────────────┼─────────────────────────┼────────────────────────────────────────────────┤ │Dequantize │quant/dequantize/README. │Atlas 200I/500 A2 推理产品、Atlas 推理系列产品、│ │ │md │Atlas 训练系列产品 → 支持 │ └────────────┴─────────────────────────┴──────────────────────────────────────────────── ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5002 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> norm/euclidean_norm/README.md optim/adam_apply_one_assign/README.md quant/acts_ulq/README.md quant/dequantize/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9034 | 15 天前 | |
规范ActULQClampMaxGrad与ActsULQInputGrad的文件去重宏与原型去重宏 Co-authored-by: Coder_Nerd<shishuai5@huawei.com> # message auto-generated for no-merge-commit merge: !8894 merge master into master 规范ActULQClampMaxGrad与ActsULQInputGrad的文件去重宏与原型去重宏 Created-by: Coder_Nerd Commit-by: Coder_Nerd Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ActULQClampMaxGrad与ActsULQInputGrad算子的算子原型的原型去重宏与文件去重宏使用不规范,新增 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4674 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8894 | 19 天前 | |
aclnn文件加上芯片标签 Co-authored-by: zhouwenfang<zhouwenfang3@h-partners.com> # message auto-generated for no-merge-commit merge: !7981 merge master into master aclnn文件加上芯片标签 Created-by: zhouwenfang Commit-by: zhouwenfang Merged-by: cann-robot Description: ## 描述 aclnn文件加上芯片标签 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4354 ## 测试 NA ## 文档更新 quant目录下的所有aclnn.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7981 | 1 个月前 | |
legacy日落-给一些算子增加InferDataTpye和Tiling日志 Co-authored-by: m0_64999461<xiongpan666@outlook.com> # message auto-generated for no-merge-commit merge: !8630 merge ops-dev into master legacy日落-给一些算子增加InferDataTpye和Tiling日志 Created-by: pan_xiong Commit-by: m0_64999461 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> legacy日落-给一些算子增加InferDataTpye、Infershape打印outputshape和Tiling日志 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 二级冒烟,本地通路验证完毕 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 暂无文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [X] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8630 | 16 天前 | |
refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Co-authored-by: yuanbin_22<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !8450 merge refactor-microapi-ops into master refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Created-by: yuanbin_22 Commit-by: yuanbin_22 Merged-by: cann-robot Description: ## 描述 将 ops-nn 仓库中 34 个算子的 arch35 kernel 实现从 MicroAPI/Reg 旧接口替换为新接口,同时将地址空间限定符 __local_mem__ 统一替换为 __ubuf__,并对 3 个 UT 测试文件的 ubFormer 参数进行调整,使代码与 AscendC SDK 最新命名规范保持一致。 ### 改动原因 AscendC SDK 新版本对 MicroAPI 和 Reg 层 API 进行了重命名,旧 API(如 DataCopy、CompareScalar、MaskAnd、ReduceMax、ReduceSum、UnalignReg 等)将逐步废弃。本 PR 同步更新仓库中 arch35 算子 kernel 的接口调用,避免使用将废弃的 API。 ### 改动方法 对 108 个文件进行批量接口替换,其中 105 个为 arch35 kernel 头文件、3 个为 UT 测试文件,涉及 3 个算子域共 34 个算子: - **activation**(20 个算子,52 个文件):elu、fast_gelu、fast_gelu_grad、gelu、gelu_grad、gelu_grad_v2、gelu_quant、gelu_v2、leaky_relu、log_sigmoid、mish、mish_grad、p_relu、sigmoid、sigmoid_grad、silu_grad、softmax_grad_ext、swi_glu_grad、swish、swish_grad - **index**(3 个算子,8 个文件):map_index、quant_update_scatter、sparse_slice - **quant**(11 个算子,48 个文件):ascend_anti_quant_v2、ascend_quant、dynamic_block_mx_quant、dynamic_block_quant、dynamic_dual_level_mx_quant、dynamic_mx_quant、dynamic_mx_quant_with_dual_axis、dynamic_quant、grouped_dynamic_block_quant、quant_common、quantize 接口替换映射如下: | 旧接口 | 新接口 | 说明 | |--------|--------|------| | MicroAPI::DataCopy(reg, addr) | MicroAPI::LoadAlign(reg, addr) | UB→Reg 加载 | | MicroAPI::DataCopy(addr, reg) | MicroAPI::StoreAlign(addr, reg) | Reg→UB 存储 | | MicroAPI::DataCopy<T, LoadDist>(reg, addr) | MicroAPI::LoadAlign<T, LoadDist>(reg, addr) | 带 Dist 模板参数的 UB→Reg 加载 | | MicroAPI::DataCopy<T, StoreDist>(addr, reg) | MicroAPI::StoreAlign<T, StoreDist>(addr, reg) | 带 Dist 模板参数的 Reg→UB 存储 | | DataCopyUnAlign(addr, reg, ...) | StoreUnAlign(addr, reg, ...) | 非对齐存储 | | DataCopyUnAlign(reg, addr, ...) | LoadUnAlign(reg, addr, ...) | 非对齐加载 | | DataCopyUnAlignPre | LoadUnAlignPre | 非对齐预加载 | | DataCopyUnAlignPost | StoreUnAlignPost | 非对齐后存储 | | DataCopyScatter | Scatter | 散射写入 | | DataCopyGather | Gather | 聚集读取 | | CompareScalar | Compares | 标量比较 | | Copy | Move | 寄存器间拷贝 | | MaskAnd | And | 掩码与运算 | | MaskUnPack | UnPack | 掩码解包 | | MaskPack | Pack | 掩码打包 | | ReduceMax<T> | Reduce<ReduceType::MAX, T> | 最大值归约 | | ReduceMin<T> | Reduce<ReduceType::MIN, T> | 最小值归约 | | ReduceSum | Reduce<ReduceType::SUM> | 求和归约 | | ReduceMaxWithDataBlock | ReduceDataBlock<ReduceType::MAX> | 数据块最大值归约 | | UnalignReg | UnalignRegForStore | 非对齐存储寄存器 | | __local_mem__ | __ubuf__ | 地址空间限定符 | > 注:上述替换同时覆盖 MicroAPI 和 Reg 两个命名空间。带 LoadDist/StoreDist 模板参数的 DataCopy<T, Dist>(...) 变体同步替换为 LoadAlign<T, Dist>(...) / StoreAlign<T, Dist>(...),仅替换接口名、保留模板参数。 此外,3 个 UT 测试文件(fast_gelu、fast_gelu_grad、log_sigmoid)的 ubFormer 参数从 256 调整为 1024,并补充文件末尾换行符。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4689 ## 测试 接口替换为纯命名变更,不涉及计算逻辑修改,通过编译验证和已有 ST/UT 用例回归验证。UT 测试文件 ubFormer 参数调整(256→1024)用于适配新接口下的 UB 对齐要求。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:接口重命名,代码规范对齐 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8450 | 21 天前 | |
算子插件迁移 Co-authored-by: welt_lester<songlizhe1@h-partners.com> Co-authored-by: x00842564<xuyanke@huawei.com> # message auto-generated for no-merge-commit merge: !8474 merge master into master 算子插件迁移 Created-by: welt_lester Commit-by: x00842564;welt_lester Merged-by: cann-robot Description: ## 描述 落实issue #4279,将adaptive_avg_pool2d、adaptive_max_pool2d、ascend_anti_quant、ascend_dequant、ascend_quant、batch_mat_mul_v3、batch_norm、celu_v2、instance_norm_v3、ascend_quant、log_softmax_v2、mat_mul_v3、unique_with_counts_and_sorting这13个算子对应的插件从common\src\framework迁出到各自算子目录新建的\framework目录下。 ## 关联的Issue [Bug-Report|缺陷反馈]: 有对应算子的插件不应该放到公共目录 [#4279](https://gitcode.com/cann/ops-nn/issues/4279) ## 测试 compile、本地验证build通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构(算子插件归属迁移,落实 #4279 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8474 | 22 天前 | |
refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Co-authored-by: yuanbin_22<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !8450 merge refactor-microapi-ops into master refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Created-by: yuanbin_22 Commit-by: yuanbin_22 Merged-by: cann-robot Description: ## 描述 将 ops-nn 仓库中 34 个算子的 arch35 kernel 实现从 MicroAPI/Reg 旧接口替换为新接口,同时将地址空间限定符 __local_mem__ 统一替换为 __ubuf__,并对 3 个 UT 测试文件的 ubFormer 参数进行调整,使代码与 AscendC SDK 最新命名规范保持一致。 ### 改动原因 AscendC SDK 新版本对 MicroAPI 和 Reg 层 API 进行了重命名,旧 API(如 DataCopy、CompareScalar、MaskAnd、ReduceMax、ReduceSum、UnalignReg 等)将逐步废弃。本 PR 同步更新仓库中 arch35 算子 kernel 的接口调用,避免使用将废弃的 API。 ### 改动方法 对 108 个文件进行批量接口替换,其中 105 个为 arch35 kernel 头文件、3 个为 UT 测试文件,涉及 3 个算子域共 34 个算子: - **activation**(20 个算子,52 个文件):elu、fast_gelu、fast_gelu_grad、gelu、gelu_grad、gelu_grad_v2、gelu_quant、gelu_v2、leaky_relu、log_sigmoid、mish、mish_grad、p_relu、sigmoid、sigmoid_grad、silu_grad、softmax_grad_ext、swi_glu_grad、swish、swish_grad - **index**(3 个算子,8 个文件):map_index、quant_update_scatter、sparse_slice - **quant**(11 个算子,48 个文件):ascend_anti_quant_v2、ascend_quant、dynamic_block_mx_quant、dynamic_block_quant、dynamic_dual_level_mx_quant、dynamic_mx_quant、dynamic_mx_quant_with_dual_axis、dynamic_quant、grouped_dynamic_block_quant、quant_common、quantize 接口替换映射如下: | 旧接口 | 新接口 | 说明 | |--------|--------|------| | MicroAPI::DataCopy(reg, addr) | MicroAPI::LoadAlign(reg, addr) | UB→Reg 加载 | | MicroAPI::DataCopy(addr, reg) | MicroAPI::StoreAlign(addr, reg) | Reg→UB 存储 | | MicroAPI::DataCopy<T, LoadDist>(reg, addr) | MicroAPI::LoadAlign<T, LoadDist>(reg, addr) | 带 Dist 模板参数的 UB→Reg 加载 | | MicroAPI::DataCopy<T, StoreDist>(addr, reg) | MicroAPI::StoreAlign<T, StoreDist>(addr, reg) | 带 Dist 模板参数的 Reg→UB 存储 | | DataCopyUnAlign(addr, reg, ...) | StoreUnAlign(addr, reg, ...) | 非对齐存储 | | DataCopyUnAlign(reg, addr, ...) | LoadUnAlign(reg, addr, ...) | 非对齐加载 | | DataCopyUnAlignPre | LoadUnAlignPre | 非对齐预加载 | | DataCopyUnAlignPost | StoreUnAlignPost | 非对齐后存储 | | DataCopyScatter | Scatter | 散射写入 | | DataCopyGather | Gather | 聚集读取 | | CompareScalar | Compares | 标量比较 | | Copy | Move | 寄存器间拷贝 | | MaskAnd | And | 掩码与运算 | | MaskUnPack | UnPack | 掩码解包 | | MaskPack | Pack | 掩码打包 | | ReduceMax<T> | Reduce<ReduceType::MAX, T> | 最大值归约 | | ReduceMin<T> | Reduce<ReduceType::MIN, T> | 最小值归约 | | ReduceSum | Reduce<ReduceType::SUM> | 求和归约 | | ReduceMaxWithDataBlock | ReduceDataBlock<ReduceType::MAX> | 数据块最大值归约 | | UnalignReg | UnalignRegForStore | 非对齐存储寄存器 | | __local_mem__ | __ubuf__ | 地址空间限定符 | > 注:上述替换同时覆盖 MicroAPI 和 Reg 两个命名空间。带 LoadDist/StoreDist 模板参数的 DataCopy<T, Dist>(...) 变体同步替换为 LoadAlign<T, Dist>(...) / StoreAlign<T, Dist>(...),仅替换接口名、保留模板参数。 此外,3 个 UT 测试文件(fast_gelu、fast_gelu_grad、log_sigmoid)的 ubFormer 参数从 256 调整为 1024,并补充文件末尾换行符。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4689 ## 测试 接口替换为纯命名变更,不涉及计算逻辑修改,通过编译验证和已有 ST/UT 用例回归验证。UT 测试文件 ubFormer 参数调整(256→1024)用于适配新接口下的 UB 对齐要求。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:接口重命名,代码规范对齐 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8450 | 21 天前 | |
feat: 新增AscendQuantV2/AscendAntiQuantV2/DynamicQuant/EmbeddingDenseGrad算子host fallback支持 Co-authored-by: yangjinhan<yangjinhan@huawei.com> # message auto-generated for no-merge-commit merge: !8392 merge main into master feat: 新增AscendQuantV2/AscendAntiQuantV2/DynamicQuant/EmbeddingDenseGrad算子host fallback支持 Created-by: Ruyue1550 Commit-by: yangjinhan Merged-by: cann-robot Description: ## 描述 从 canndev 仓库迁移 fallback 实现至 ops-nn,为 4 个算子新增 host fallback 执行能力(均通过 CANN_OPS_OPB_SYN_EXEC_ACLNN 调用 aclnn API,并以 IMPL_OP(...).OpExecuteFunc(...) 注册执行函数): - **AscendQuantV2**(quant/ascend_quant_v2/op_graph/ascend_quant_v2_fallback.cpp):调用 aclnnAscendQuant,入参 x/scale/offset,属性 sqrt_mode/round_mode/dst_dtype。 - **AscendAntiQuantV2**(quant/ascend_anti_quant_v2/op_graph/ascend_anti_quant_v2_fallback.cpp):调用 aclnnAscendAntiQuant,入参 x/scale/offset,属性 dst_dtype/sqrt_mode。 - **DynamicQuant**(quant/dynamic_quant/op_graph/dynamic_quant_fallback.cpp):调用 aclnnDynamicQuantV2,入参 x/smooth_scales/group_index。 - **EmbeddingDenseGrad**(index/embedding_dense_grad/op_graph/embedding_dense_grad_fallback.cpp):调用 aclnnEmbeddingDenseBackward,入参 grad/indices 等。 主要改动: - 各算子 op_graph 目录新增 *_fallback.cpp,统一使用 op_fallback.h 头文件与 OP_CHECK_IF 错误处理宏。 - 版权声明更新为 CANN Open Software License Agreement Version 2.0。 - 现有 CMake 自动收集 *_fallback.cpp,无需修改构建配置。 ## 关联的Issue - https://gitcode.com/cann/ops-nn/issues/4868 ## 测试 已完成以下静态检查: - 确认不存在 fallback_common.h、fallback_opapi.h、op_log.h 和旧版 OP_CHECK 残留。 - 确认 4 个算子的执行函数、CANN_OPS_OPB_SYN_EXEC_ACLNN 调用和 IMPL_OP 注册均存在。 - git diff --check 检查通过。 本地环境缺少完整的 CANN 构建工具链,编译和运行验证待 CI 完成。 ## 文档更新 无,本 PR 仅新增算子 fallback 实现文件。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写此PR描述 See merge request: cann/ops-nn!8392 | 22 天前 | |
legacy日落-给一些算子增加InferDataTpye和Tiling日志 Co-authored-by: m0_64999461<xiongpan666@outlook.com> # message auto-generated for no-merge-commit merge: !8630 merge ops-dev into master legacy日落-给一些算子增加InferDataTpye和Tiling日志 Created-by: pan_xiong Commit-by: m0_64999461 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> legacy日落-给一些算子增加InferDataTpye、Infershape打印outputshape和Tiling日志 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 二级冒烟,本地通路验证完毕 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 暂无文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [X] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8630 | 16 天前 | |
dequant_situ_quant算子torch_extension目录整改,修复小shape下计算bug Co-authored-by: demoauguste<zhanghao418@huawei.com> # message auto-generated for no-merge-commit merge: !9022 merge master into master dequant_situ_quant算子torch_extension目录整改,修复小shape下计算bug Created-by: demoauguste Commit-by: demoauguste Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1、按照torch extension目录整改dequant_situ_quant算子; 2、修复在小shape下的计算和对齐问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4985 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 使用精度测试工具测试结果如下:  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:目录重构 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9022 | 15 天前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 18 天前 | |
长尾算子接口资料产品支持情况修改 Co-authored-by: h1234515<huangzhiyuan21@huawei.com> # message auto-generated for no-merge-commit merge: !9034 merge A2A3 into master 长尾算子接口资料产品支持情况修改 Created-by: h1234515 Commit-by: h1234515 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 长尾算子接口资料产品支持情况修改 本次修改涉及 4 个算子的 README.md 文档,主要内容是更新产品支持矩阵,将多个 Atlas 产品的支持状态从 ×(不支持)改为 √(支持): ┌────────────┬─────────────────────────┬────────────────────────────────────────────────┐ │算子 │文件 │变更内容 │ ├────────────┼─────────────────────────┼────────────────────────────────────────────────┤ │EuclideanNor│norm/euclidean_norm/ │Atlas 200I/500 A2 推理产品、Atlas 推理系列产品、│ │m │README.md │Atlas 训练系列产品 → 支持 │ ├────────────┼─────────────────────────┼────────────────────────────────────────────────┤ │AdamApplyOne│optim/ │Atlas A3 系列、Atlas A2 系列、Atlas 200I/500 │ │Assign │adam_apply_one_assign/ │A2、Atlas 训练系列产品 → 支持 │ │ │README.md │ │ ├────────────┼─────────────────────────┼────────────────────────────────────────────────┤ │ActsULQ │quant/acts_ulq/README.md │Atlas 200I/500 A2 推理产品、Atlas 训练系列产品 │ │ │ │→ 支持 │ ├────────────┼─────────────────────────┼────────────────────────────────────────────────┤ │Dequantize │quant/dequantize/README. │Atlas 200I/500 A2 推理产品、Atlas 推理系列产品、│ │ │md │Atlas 训练系列产品 → 支持 │ └────────────┴─────────────────────────┴──────────────────────────────────────────────── ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5002 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> norm/euclidean_norm/README.md optim/adam_apply_one_assign/README.md quant/acts_ulq/README.md quant/dequantize/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9034 | 15 天前 | |
refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Co-authored-by: yuanbin_22<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !8450 merge refactor-microapi-ops into master refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Created-by: yuanbin_22 Commit-by: yuanbin_22 Merged-by: cann-robot Description: ## 描述 将 ops-nn 仓库中 34 个算子的 arch35 kernel 实现从 MicroAPI/Reg 旧接口替换为新接口,同时将地址空间限定符 __local_mem__ 统一替换为 __ubuf__,并对 3 个 UT 测试文件的 ubFormer 参数进行调整,使代码与 AscendC SDK 最新命名规范保持一致。 ### 改动原因 AscendC SDK 新版本对 MicroAPI 和 Reg 层 API 进行了重命名,旧 API(如 DataCopy、CompareScalar、MaskAnd、ReduceMax、ReduceSum、UnalignReg 等)将逐步废弃。本 PR 同步更新仓库中 arch35 算子 kernel 的接口调用,避免使用将废弃的 API。 ### 改动方法 对 108 个文件进行批量接口替换,其中 105 个为 arch35 kernel 头文件、3 个为 UT 测试文件,涉及 3 个算子域共 34 个算子: - **activation**(20 个算子,52 个文件):elu、fast_gelu、fast_gelu_grad、gelu、gelu_grad、gelu_grad_v2、gelu_quant、gelu_v2、leaky_relu、log_sigmoid、mish、mish_grad、p_relu、sigmoid、sigmoid_grad、silu_grad、softmax_grad_ext、swi_glu_grad、swish、swish_grad - **index**(3 个算子,8 个文件):map_index、quant_update_scatter、sparse_slice - **quant**(11 个算子,48 个文件):ascend_anti_quant_v2、ascend_quant、dynamic_block_mx_quant、dynamic_block_quant、dynamic_dual_level_mx_quant、dynamic_mx_quant、dynamic_mx_quant_with_dual_axis、dynamic_quant、grouped_dynamic_block_quant、quant_common、quantize 接口替换映射如下: | 旧接口 | 新接口 | 说明 | |--------|--------|------| | MicroAPI::DataCopy(reg, addr) | MicroAPI::LoadAlign(reg, addr) | UB→Reg 加载 | | MicroAPI::DataCopy(addr, reg) | MicroAPI::StoreAlign(addr, reg) | Reg→UB 存储 | | MicroAPI::DataCopy<T, LoadDist>(reg, addr) | MicroAPI::LoadAlign<T, LoadDist>(reg, addr) | 带 Dist 模板参数的 UB→Reg 加载 | | MicroAPI::DataCopy<T, StoreDist>(addr, reg) | MicroAPI::StoreAlign<T, StoreDist>(addr, reg) | 带 Dist 模板参数的 Reg→UB 存储 | | DataCopyUnAlign(addr, reg, ...) | StoreUnAlign(addr, reg, ...) | 非对齐存储 | | DataCopyUnAlign(reg, addr, ...) | LoadUnAlign(reg, addr, ...) | 非对齐加载 | | DataCopyUnAlignPre | LoadUnAlignPre | 非对齐预加载 | | DataCopyUnAlignPost | StoreUnAlignPost | 非对齐后存储 | | DataCopyScatter | Scatter | 散射写入 | | DataCopyGather | Gather | 聚集读取 | | CompareScalar | Compares | 标量比较 | | Copy | Move | 寄存器间拷贝 | | MaskAnd | And | 掩码与运算 | | MaskUnPack | UnPack | 掩码解包 | | MaskPack | Pack | 掩码打包 | | ReduceMax<T> | Reduce<ReduceType::MAX, T> | 最大值归约 | | ReduceMin<T> | Reduce<ReduceType::MIN, T> | 最小值归约 | | ReduceSum | Reduce<ReduceType::SUM> | 求和归约 | | ReduceMaxWithDataBlock | ReduceDataBlock<ReduceType::MAX> | 数据块最大值归约 | | UnalignReg | UnalignRegForStore | 非对齐存储寄存器 | | __local_mem__ | __ubuf__ | 地址空间限定符 | > 注:上述替换同时覆盖 MicroAPI 和 Reg 两个命名空间。带 LoadDist/StoreDist 模板参数的 DataCopy<T, Dist>(...) 变体同步替换为 LoadAlign<T, Dist>(...) / StoreAlign<T, Dist>(...),仅替换接口名、保留模板参数。 此外,3 个 UT 测试文件(fast_gelu、fast_gelu_grad、log_sigmoid)的 ubFormer 参数从 256 调整为 1024,并补充文件末尾换行符。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4689 ## 测试 接口替换为纯命名变更,不涉及计算逻辑修改,通过编译验证和已有 ST/UT 用例回归验证。UT 测试文件 ubFormer 参数调整(256→1024)用于适配新接口下的 UB 对齐要求。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:接口重命名,代码规范对齐 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8450 | 21 天前 | |
refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Co-authored-by: yuanbin_22<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !8450 merge refactor-microapi-ops into master refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Created-by: yuanbin_22 Commit-by: yuanbin_22 Merged-by: cann-robot Description: ## 描述 将 ops-nn 仓库中 34 个算子的 arch35 kernel 实现从 MicroAPI/Reg 旧接口替换为新接口,同时将地址空间限定符 __local_mem__ 统一替换为 __ubuf__,并对 3 个 UT 测试文件的 ubFormer 参数进行调整,使代码与 AscendC SDK 最新命名规范保持一致。 ### 改动原因 AscendC SDK 新版本对 MicroAPI 和 Reg 层 API 进行了重命名,旧 API(如 DataCopy、CompareScalar、MaskAnd、ReduceMax、ReduceSum、UnalignReg 等)将逐步废弃。本 PR 同步更新仓库中 arch35 算子 kernel 的接口调用,避免使用将废弃的 API。 ### 改动方法 对 108 个文件进行批量接口替换,其中 105 个为 arch35 kernel 头文件、3 个为 UT 测试文件,涉及 3 个算子域共 34 个算子: - **activation**(20 个算子,52 个文件):elu、fast_gelu、fast_gelu_grad、gelu、gelu_grad、gelu_grad_v2、gelu_quant、gelu_v2、leaky_relu、log_sigmoid、mish、mish_grad、p_relu、sigmoid、sigmoid_grad、silu_grad、softmax_grad_ext、swi_glu_grad、swish、swish_grad - **index**(3 个算子,8 个文件):map_index、quant_update_scatter、sparse_slice - **quant**(11 个算子,48 个文件):ascend_anti_quant_v2、ascend_quant、dynamic_block_mx_quant、dynamic_block_quant、dynamic_dual_level_mx_quant、dynamic_mx_quant、dynamic_mx_quant_with_dual_axis、dynamic_quant、grouped_dynamic_block_quant、quant_common、quantize 接口替换映射如下: | 旧接口 | 新接口 | 说明 | |--------|--------|------| | MicroAPI::DataCopy(reg, addr) | MicroAPI::LoadAlign(reg, addr) | UB→Reg 加载 | | MicroAPI::DataCopy(addr, reg) | MicroAPI::StoreAlign(addr, reg) | Reg→UB 存储 | | MicroAPI::DataCopy<T, LoadDist>(reg, addr) | MicroAPI::LoadAlign<T, LoadDist>(reg, addr) | 带 Dist 模板参数的 UB→Reg 加载 | | MicroAPI::DataCopy<T, StoreDist>(addr, reg) | MicroAPI::StoreAlign<T, StoreDist>(addr, reg) | 带 Dist 模板参数的 Reg→UB 存储 | | DataCopyUnAlign(addr, reg, ...) | StoreUnAlign(addr, reg, ...) | 非对齐存储 | | DataCopyUnAlign(reg, addr, ...) | LoadUnAlign(reg, addr, ...) | 非对齐加载 | | DataCopyUnAlignPre | LoadUnAlignPre | 非对齐预加载 | | DataCopyUnAlignPost | StoreUnAlignPost | 非对齐后存储 | | DataCopyScatter | Scatter | 散射写入 | | DataCopyGather | Gather | 聚集读取 | | CompareScalar | Compares | 标量比较 | | Copy | Move | 寄存器间拷贝 | | MaskAnd | And | 掩码与运算 | | MaskUnPack | UnPack | 掩码解包 | | MaskPack | Pack | 掩码打包 | | ReduceMax<T> | Reduce<ReduceType::MAX, T> | 最大值归约 | | ReduceMin<T> | Reduce<ReduceType::MIN, T> | 最小值归约 | | ReduceSum | Reduce<ReduceType::SUM> | 求和归约 | | ReduceMaxWithDataBlock | ReduceDataBlock<ReduceType::MAX> | 数据块最大值归约 | | UnalignReg | UnalignRegForStore | 非对齐存储寄存器 | | __local_mem__ | __ubuf__ | 地址空间限定符 | > 注:上述替换同时覆盖 MicroAPI 和 Reg 两个命名空间。带 LoadDist/StoreDist 模板参数的 DataCopy<T, Dist>(...) 变体同步替换为 LoadAlign<T, Dist>(...) / StoreAlign<T, Dist>(...),仅替换接口名、保留模板参数。 此外,3 个 UT 测试文件(fast_gelu、fast_gelu_grad、log_sigmoid)的 ubFormer 参数从 256 调整为 1024,并补充文件末尾换行符。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4689 ## 测试 接口替换为纯命名变更,不涉及计算逻辑修改,通过编译验证和已有 ST/UT 用例回归验证。UT 测试文件 ubFormer 参数调整(256→1024)用于适配新接口下的 UB 对齐要求。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:接口重命名,代码规范对齐 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8450 | 21 天前 | |
refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Co-authored-by: yuanbin_22<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !8450 merge refactor-microapi-ops into master refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Created-by: yuanbin_22 Commit-by: yuanbin_22 Merged-by: cann-robot Description: ## 描述 将 ops-nn 仓库中 34 个算子的 arch35 kernel 实现从 MicroAPI/Reg 旧接口替换为新接口,同时将地址空间限定符 __local_mem__ 统一替换为 __ubuf__,并对 3 个 UT 测试文件的 ubFormer 参数进行调整,使代码与 AscendC SDK 最新命名规范保持一致。 ### 改动原因 AscendC SDK 新版本对 MicroAPI 和 Reg 层 API 进行了重命名,旧 API(如 DataCopy、CompareScalar、MaskAnd、ReduceMax、ReduceSum、UnalignReg 等)将逐步废弃。本 PR 同步更新仓库中 arch35 算子 kernel 的接口调用,避免使用将废弃的 API。 ### 改动方法 对 108 个文件进行批量接口替换,其中 105 个为 arch35 kernel 头文件、3 个为 UT 测试文件,涉及 3 个算子域共 34 个算子: - **activation**(20 个算子,52 个文件):elu、fast_gelu、fast_gelu_grad、gelu、gelu_grad、gelu_grad_v2、gelu_quant、gelu_v2、leaky_relu、log_sigmoid、mish、mish_grad、p_relu、sigmoid、sigmoid_grad、silu_grad、softmax_grad_ext、swi_glu_grad、swish、swish_grad - **index**(3 个算子,8 个文件):map_index、quant_update_scatter、sparse_slice - **quant**(11 个算子,48 个文件):ascend_anti_quant_v2、ascend_quant、dynamic_block_mx_quant、dynamic_block_quant、dynamic_dual_level_mx_quant、dynamic_mx_quant、dynamic_mx_quant_with_dual_axis、dynamic_quant、grouped_dynamic_block_quant、quant_common、quantize 接口替换映射如下: | 旧接口 | 新接口 | 说明 | |--------|--------|------| | MicroAPI::DataCopy(reg, addr) | MicroAPI::LoadAlign(reg, addr) | UB→Reg 加载 | | MicroAPI::DataCopy(addr, reg) | MicroAPI::StoreAlign(addr, reg) | Reg→UB 存储 | | MicroAPI::DataCopy<T, LoadDist>(reg, addr) | MicroAPI::LoadAlign<T, LoadDist>(reg, addr) | 带 Dist 模板参数的 UB→Reg 加载 | | MicroAPI::DataCopy<T, StoreDist>(addr, reg) | MicroAPI::StoreAlign<T, StoreDist>(addr, reg) | 带 Dist 模板参数的 Reg→UB 存储 | | DataCopyUnAlign(addr, reg, ...) | StoreUnAlign(addr, reg, ...) | 非对齐存储 | | DataCopyUnAlign(reg, addr, ...) | LoadUnAlign(reg, addr, ...) | 非对齐加载 | | DataCopyUnAlignPre | LoadUnAlignPre | 非对齐预加载 | | DataCopyUnAlignPost | StoreUnAlignPost | 非对齐后存储 | | DataCopyScatter | Scatter | 散射写入 | | DataCopyGather | Gather | 聚集读取 | | CompareScalar | Compares | 标量比较 | | Copy | Move | 寄存器间拷贝 | | MaskAnd | And | 掩码与运算 | | MaskUnPack | UnPack | 掩码解包 | | MaskPack | Pack | 掩码打包 | | ReduceMax<T> | Reduce<ReduceType::MAX, T> | 最大值归约 | | ReduceMin<T> | Reduce<ReduceType::MIN, T> | 最小值归约 | | ReduceSum | Reduce<ReduceType::SUM> | 求和归约 | | ReduceMaxWithDataBlock | ReduceDataBlock<ReduceType::MAX> | 数据块最大值归约 | | UnalignReg | UnalignRegForStore | 非对齐存储寄存器 | | __local_mem__ | __ubuf__ | 地址空间限定符 | > 注:上述替换同时覆盖 MicroAPI 和 Reg 两个命名空间。带 LoadDist/StoreDist 模板参数的 DataCopy<T, Dist>(...) 变体同步替换为 LoadAlign<T, Dist>(...) / StoreAlign<T, Dist>(...),仅替换接口名、保留模板参数。 此外,3 个 UT 测试文件(fast_gelu、fast_gelu_grad、log_sigmoid)的 ubFormer 参数从 256 调整为 1024,并补充文件末尾换行符。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4689 ## 测试 接口替换为纯命名变更,不涉及计算逻辑修改,通过编译验证和已有 ST/UT 用例回归验证。UT 测试文件 ubFormer 参数调整(256→1024)用于适配新接口下的 UB 对齐要求。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:接口重命名,代码规范对齐 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8450 | 21 天前 | |
refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Co-authored-by: yuanbin_22<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !8450 merge refactor-microapi-ops into master refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Created-by: yuanbin_22 Commit-by: yuanbin_22 Merged-by: cann-robot Description: ## 描述 将 ops-nn 仓库中 34 个算子的 arch35 kernel 实现从 MicroAPI/Reg 旧接口替换为新接口,同时将地址空间限定符 __local_mem__ 统一替换为 __ubuf__,并对 3 个 UT 测试文件的 ubFormer 参数进行调整,使代码与 AscendC SDK 最新命名规范保持一致。 ### 改动原因 AscendC SDK 新版本对 MicroAPI 和 Reg 层 API 进行了重命名,旧 API(如 DataCopy、CompareScalar、MaskAnd、ReduceMax、ReduceSum、UnalignReg 等)将逐步废弃。本 PR 同步更新仓库中 arch35 算子 kernel 的接口调用,避免使用将废弃的 API。 ### 改动方法 对 108 个文件进行批量接口替换,其中 105 个为 arch35 kernel 头文件、3 个为 UT 测试文件,涉及 3 个算子域共 34 个算子: - **activation**(20 个算子,52 个文件):elu、fast_gelu、fast_gelu_grad、gelu、gelu_grad、gelu_grad_v2、gelu_quant、gelu_v2、leaky_relu、log_sigmoid、mish、mish_grad、p_relu、sigmoid、sigmoid_grad、silu_grad、softmax_grad_ext、swi_glu_grad、swish、swish_grad - **index**(3 个算子,8 个文件):map_index、quant_update_scatter、sparse_slice - **quant**(11 个算子,48 个文件):ascend_anti_quant_v2、ascend_quant、dynamic_block_mx_quant、dynamic_block_quant、dynamic_dual_level_mx_quant、dynamic_mx_quant、dynamic_mx_quant_with_dual_axis、dynamic_quant、grouped_dynamic_block_quant、quant_common、quantize 接口替换映射如下: | 旧接口 | 新接口 | 说明 | |--------|--------|------| | MicroAPI::DataCopy(reg, addr) | MicroAPI::LoadAlign(reg, addr) | UB→Reg 加载 | | MicroAPI::DataCopy(addr, reg) | MicroAPI::StoreAlign(addr, reg) | Reg→UB 存储 | | MicroAPI::DataCopy<T, LoadDist>(reg, addr) | MicroAPI::LoadAlign<T, LoadDist>(reg, addr) | 带 Dist 模板参数的 UB→Reg 加载 | | MicroAPI::DataCopy<T, StoreDist>(addr, reg) | MicroAPI::StoreAlign<T, StoreDist>(addr, reg) | 带 Dist 模板参数的 Reg→UB 存储 | | DataCopyUnAlign(addr, reg, ...) | StoreUnAlign(addr, reg, ...) | 非对齐存储 | | DataCopyUnAlign(reg, addr, ...) | LoadUnAlign(reg, addr, ...) | 非对齐加载 | | DataCopyUnAlignPre | LoadUnAlignPre | 非对齐预加载 | | DataCopyUnAlignPost | StoreUnAlignPost | 非对齐后存储 | | DataCopyScatter | Scatter | 散射写入 | | DataCopyGather | Gather | 聚集读取 | | CompareScalar | Compares | 标量比较 | | Copy | Move | 寄存器间拷贝 | | MaskAnd | And | 掩码与运算 | | MaskUnPack | UnPack | 掩码解包 | | MaskPack | Pack | 掩码打包 | | ReduceMax<T> | Reduce<ReduceType::MAX, T> | 最大值归约 | | ReduceMin<T> | Reduce<ReduceType::MIN, T> | 最小值归约 | | ReduceSum | Reduce<ReduceType::SUM> | 求和归约 | | ReduceMaxWithDataBlock | ReduceDataBlock<ReduceType::MAX> | 数据块最大值归约 | | UnalignReg | UnalignRegForStore | 非对齐存储寄存器 | | __local_mem__ | __ubuf__ | 地址空间限定符 | > 注:上述替换同时覆盖 MicroAPI 和 Reg 两个命名空间。带 LoadDist/StoreDist 模板参数的 DataCopy<T, Dist>(...) 变体同步替换为 LoadAlign<T, Dist>(...) / StoreAlign<T, Dist>(...),仅替换接口名、保留模板参数。 此外,3 个 UT 测试文件(fast_gelu、fast_gelu_grad、log_sigmoid)的 ubFormer 参数从 256 调整为 1024,并补充文件末尾换行符。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4689 ## 测试 接口替换为纯命名变更,不涉及计算逻辑修改,通过编译验证和已有 ST/UT 用例回归验证。UT 测试文件 ubFormer 参数调整(256→1024)用于适配新接口下的 UB 对齐要求。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:接口重命名,代码规范对齐 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8450 | 21 天前 | |
refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Co-authored-by: yuanbin_22<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !8450 merge refactor-microapi-ops into master refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Created-by: yuanbin_22 Commit-by: yuanbin_22 Merged-by: cann-robot Description: ## 描述 将 ops-nn 仓库中 34 个算子的 arch35 kernel 实现从 MicroAPI/Reg 旧接口替换为新接口,同时将地址空间限定符 __local_mem__ 统一替换为 __ubuf__,并对 3 个 UT 测试文件的 ubFormer 参数进行调整,使代码与 AscendC SDK 最新命名规范保持一致。 ### 改动原因 AscendC SDK 新版本对 MicroAPI 和 Reg 层 API 进行了重命名,旧 API(如 DataCopy、CompareScalar、MaskAnd、ReduceMax、ReduceSum、UnalignReg 等)将逐步废弃。本 PR 同步更新仓库中 arch35 算子 kernel 的接口调用,避免使用将废弃的 API。 ### 改动方法 对 108 个文件进行批量接口替换,其中 105 个为 arch35 kernel 头文件、3 个为 UT 测试文件,涉及 3 个算子域共 34 个算子: - **activation**(20 个算子,52 个文件):elu、fast_gelu、fast_gelu_grad、gelu、gelu_grad、gelu_grad_v2、gelu_quant、gelu_v2、leaky_relu、log_sigmoid、mish、mish_grad、p_relu、sigmoid、sigmoid_grad、silu_grad、softmax_grad_ext、swi_glu_grad、swish、swish_grad - **index**(3 个算子,8 个文件):map_index、quant_update_scatter、sparse_slice - **quant**(11 个算子,48 个文件):ascend_anti_quant_v2、ascend_quant、dynamic_block_mx_quant、dynamic_block_quant、dynamic_dual_level_mx_quant、dynamic_mx_quant、dynamic_mx_quant_with_dual_axis、dynamic_quant、grouped_dynamic_block_quant、quant_common、quantize 接口替换映射如下: | 旧接口 | 新接口 | 说明 | |--------|--------|------| | MicroAPI::DataCopy(reg, addr) | MicroAPI::LoadAlign(reg, addr) | UB→Reg 加载 | | MicroAPI::DataCopy(addr, reg) | MicroAPI::StoreAlign(addr, reg) | Reg→UB 存储 | | MicroAPI::DataCopy<T, LoadDist>(reg, addr) | MicroAPI::LoadAlign<T, LoadDist>(reg, addr) | 带 Dist 模板参数的 UB→Reg 加载 | | MicroAPI::DataCopy<T, StoreDist>(addr, reg) | MicroAPI::StoreAlign<T, StoreDist>(addr, reg) | 带 Dist 模板参数的 Reg→UB 存储 | | DataCopyUnAlign(addr, reg, ...) | StoreUnAlign(addr, reg, ...) | 非对齐存储 | | DataCopyUnAlign(reg, addr, ...) | LoadUnAlign(reg, addr, ...) | 非对齐加载 | | DataCopyUnAlignPre | LoadUnAlignPre | 非对齐预加载 | | DataCopyUnAlignPost | StoreUnAlignPost | 非对齐后存储 | | DataCopyScatter | Scatter | 散射写入 | | DataCopyGather | Gather | 聚集读取 | | CompareScalar | Compares | 标量比较 | | Copy | Move | 寄存器间拷贝 | | MaskAnd | And | 掩码与运算 | | MaskUnPack | UnPack | 掩码解包 | | MaskPack | Pack | 掩码打包 | | ReduceMax<T> | Reduce<ReduceType::MAX, T> | 最大值归约 | | ReduceMin<T> | Reduce<ReduceType::MIN, T> | 最小值归约 | | ReduceSum | Reduce<ReduceType::SUM> | 求和归约 | | ReduceMaxWithDataBlock | ReduceDataBlock<ReduceType::MAX> | 数据块最大值归约 | | UnalignReg | UnalignRegForStore | 非对齐存储寄存器 | | __local_mem__ | __ubuf__ | 地址空间限定符 | > 注:上述替换同时覆盖 MicroAPI 和 Reg 两个命名空间。带 LoadDist/StoreDist 模板参数的 DataCopy<T, Dist>(...) 变体同步替换为 LoadAlign<T, Dist>(...) / StoreAlign<T, Dist>(...),仅替换接口名、保留模板参数。 此外,3 个 UT 测试文件(fast_gelu、fast_gelu_grad、log_sigmoid)的 ubFormer 参数从 256 调整为 1024,并补充文件末尾换行符。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4689 ## 测试 接口替换为纯命名变更,不涉及计算逻辑修改,通过编译验证和已有 ST/UT 用例回归验证。UT 测试文件 ubFormer 参数调整(256→1024)用于适配新接口下的 UB 对齐要求。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:接口重命名,代码规范对齐 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8450 | 21 天前 | |
refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Co-authored-by: yuanbin_22<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !8450 merge refactor-microapi-ops into master refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Created-by: yuanbin_22 Commit-by: yuanbin_22 Merged-by: cann-robot Description: ## 描述 将 ops-nn 仓库中 34 个算子的 arch35 kernel 实现从 MicroAPI/Reg 旧接口替换为新接口,同时将地址空间限定符 __local_mem__ 统一替换为 __ubuf__,并对 3 个 UT 测试文件的 ubFormer 参数进行调整,使代码与 AscendC SDK 最新命名规范保持一致。 ### 改动原因 AscendC SDK 新版本对 MicroAPI 和 Reg 层 API 进行了重命名,旧 API(如 DataCopy、CompareScalar、MaskAnd、ReduceMax、ReduceSum、UnalignReg 等)将逐步废弃。本 PR 同步更新仓库中 arch35 算子 kernel 的接口调用,避免使用将废弃的 API。 ### 改动方法 对 108 个文件进行批量接口替换,其中 105 个为 arch35 kernel 头文件、3 个为 UT 测试文件,涉及 3 个算子域共 34 个算子: - **activation**(20 个算子,52 个文件):elu、fast_gelu、fast_gelu_grad、gelu、gelu_grad、gelu_grad_v2、gelu_quant、gelu_v2、leaky_relu、log_sigmoid、mish、mish_grad、p_relu、sigmoid、sigmoid_grad、silu_grad、softmax_grad_ext、swi_glu_grad、swish、swish_grad - **index**(3 个算子,8 个文件):map_index、quant_update_scatter、sparse_slice - **quant**(11 个算子,48 个文件):ascend_anti_quant_v2、ascend_quant、dynamic_block_mx_quant、dynamic_block_quant、dynamic_dual_level_mx_quant、dynamic_mx_quant、dynamic_mx_quant_with_dual_axis、dynamic_quant、grouped_dynamic_block_quant、quant_common、quantize 接口替换映射如下: | 旧接口 | 新接口 | 说明 | |--------|--------|------| | MicroAPI::DataCopy(reg, addr) | MicroAPI::LoadAlign(reg, addr) | UB→Reg 加载 | | MicroAPI::DataCopy(addr, reg) | MicroAPI::StoreAlign(addr, reg) | Reg→UB 存储 | | MicroAPI::DataCopy<T, LoadDist>(reg, addr) | MicroAPI::LoadAlign<T, LoadDist>(reg, addr) | 带 Dist 模板参数的 UB→Reg 加载 | | MicroAPI::DataCopy<T, StoreDist>(addr, reg) | MicroAPI::StoreAlign<T, StoreDist>(addr, reg) | 带 Dist 模板参数的 Reg→UB 存储 | | DataCopyUnAlign(addr, reg, ...) | StoreUnAlign(addr, reg, ...) | 非对齐存储 | | DataCopyUnAlign(reg, addr, ...) | LoadUnAlign(reg, addr, ...) | 非对齐加载 | | DataCopyUnAlignPre | LoadUnAlignPre | 非对齐预加载 | | DataCopyUnAlignPost | StoreUnAlignPost | 非对齐后存储 | | DataCopyScatter | Scatter | 散射写入 | | DataCopyGather | Gather | 聚集读取 | | CompareScalar | Compares | 标量比较 | | Copy | Move | 寄存器间拷贝 | | MaskAnd | And | 掩码与运算 | | MaskUnPack | UnPack | 掩码解包 | | MaskPack | Pack | 掩码打包 | | ReduceMax<T> | Reduce<ReduceType::MAX, T> | 最大值归约 | | ReduceMin<T> | Reduce<ReduceType::MIN, T> | 最小值归约 | | ReduceSum | Reduce<ReduceType::SUM> | 求和归约 | | ReduceMaxWithDataBlock | ReduceDataBlock<ReduceType::MAX> | 数据块最大值归约 | | UnalignReg | UnalignRegForStore | 非对齐存储寄存器 | | __local_mem__ | __ubuf__ | 地址空间限定符 | > 注:上述替换同时覆盖 MicroAPI 和 Reg 两个命名空间。带 LoadDist/StoreDist 模板参数的 DataCopy<T, Dist>(...) 变体同步替换为 LoadAlign<T, Dist>(...) / StoreAlign<T, Dist>(...),仅替换接口名、保留模板参数。 此外,3 个 UT 测试文件(fast_gelu、fast_gelu_grad、log_sigmoid)的 ubFormer 参数从 256 调整为 1024,并补充文件末尾换行符。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4689 ## 测试 接口替换为纯命名变更,不涉及计算逻辑修改,通过编译验证和已有 ST/UT 用例回归验证。UT 测试文件 ubFormer 参数调整(256→1024)用于适配新接口下的 UB 对齐要求。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:接口重命名,代码规范对齐 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8450 | 21 天前 | |
test: 更新deep_norm_grad等4个算子golden测试数据 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !8582 merge codex/golden-upstream-rebased into master test: 更新deep_norm_grad等4个算子golden测试数据 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 更新 4 个算子的 golden 测试数据。 | 算子 | 变化 | |------|------| | deep_norm_grad | +61 -4 | | apply_adam_w_quant | +113 -28 | | dynamic_quant_update_scatter | +3 -3 | | dynamic_quant_update_scatter_v2 | +6 -2 | ## 类型标签 - [x] 测试 ## 关联的Issue - #4730 See merge request: cann/ops-nn!8582 | 28 天前 | |
test: 更新deep_norm_grad等4个算子golden测试数据 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !8582 merge codex/golden-upstream-rebased into master test: 更新deep_norm_grad等4个算子golden测试数据 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 更新 4 个算子的 golden 测试数据。 | 算子 | 变化 | |------|------| | deep_norm_grad | +61 -4 | | apply_adam_w_quant | +113 -28 | | dynamic_quant_update_scatter | +3 -3 | | dynamic_quant_update_scatter_v2 | +6 -2 | ## 类型标签 - [x] 测试 ## 关联的Issue - #4730 See merge request: cann/ops-nn!8582 | 28 天前 | |
激活和量化算子的示例中的输出类型不匹配 Co-authored-by: ji-jun1<jijun1@huawei.com> # message auto-generated for no-merge-commit merge: !8372 merge master into master 激活和量化算子的示例中的输出类型不匹配 Created-by: ji-jun1 Commit-by: ji-jun1 Merged-by: cann-robot Description: ## 描述 部分激活算子和量化算子的aclnn demo中,存在变量申请的类型和使用的类型不匹配的问题 ## 关联的Issue [#4608](https://gitcode.com/cann/ops-nn/issues/4608) ## 测试 已跑最新demo ## 文档更新 更新了 activation/ge_glu_grad_v2/docs/aclnnGeGluBackward.md activation/ge_glu_grad_v2/docs/aclnnGeGluV3Backward.md quant/dynamic_quant_v2/docs/aclnnDynamicQuantV2.md ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8372 | 1 个月前 | |
legacy日落-给一些算子增加InferDataTpye和Tiling日志 Co-authored-by: m0_64999461<xiongpan666@outlook.com> # message auto-generated for no-merge-commit merge: !8630 merge ops-dev into master legacy日落-给一些算子增加InferDataTpye和Tiling日志 Created-by: pan_xiong Commit-by: m0_64999461 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> legacy日落-给一些算子增加InferDataTpye、Infershape打印outputshape和Tiling日志 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 二级冒烟,本地通路验证完毕 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 暂无文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [X] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8630 | 16 天前 | |
legacy日落-给一些算子增加InferDataTpye和Tiling日志 Co-authored-by: m0_64999461<xiongpan666@outlook.com> # message auto-generated for no-merge-commit merge: !8630 merge ops-dev into master legacy日落-给一些算子增加InferDataTpye和Tiling日志 Created-by: pan_xiong Commit-by: m0_64999461 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> legacy日落-给一些算子增加InferDataTpye、Infershape打印outputshape和Tiling日志 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 二级冒烟,本地通路验证完毕 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 暂无文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [X] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8630 | 16 天前 | |
legacy日落-给一些算子增加InferDataTpye和Tiling日志 Co-authored-by: m0_64999461<xiongpan666@outlook.com> # message auto-generated for no-merge-commit merge: !8630 merge ops-dev into master legacy日落-给一些算子增加InferDataTpye和Tiling日志 Created-by: pan_xiong Commit-by: m0_64999461 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> legacy日落-给一些算子增加InferDataTpye、Infershape打印outputshape和Tiling日志 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 二级冒烟,本地通路验证完毕 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 暂无文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [X] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8630 | 16 天前 | |
legacy日落-给一些算子增加InferDataTpye和Tiling日志 Co-authored-by: m0_64999461<xiongpan666@outlook.com> # message auto-generated for no-merge-commit merge: !8630 merge ops-dev into master legacy日落-给一些算子增加InferDataTpye和Tiling日志 Created-by: pan_xiong Commit-by: m0_64999461 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> legacy日落-给一些算子增加InferDataTpye、Infershape打印outputshape和Tiling日志 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 二级冒烟,本地通路验证完毕 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 暂无文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [X] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8630 | 16 天前 | |
legacy日落-给一些算子增加InferDataTpye和Tiling日志 Co-authored-by: m0_64999461<xiongpan666@outlook.com> # message auto-generated for no-merge-commit merge: !8630 merge ops-dev into master legacy日落-给一些算子增加InferDataTpye和Tiling日志 Created-by: pan_xiong Commit-by: m0_64999461 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> legacy日落-给一些算子增加InferDataTpye、Infershape打印outputshape和Tiling日志 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 二级冒烟,本地通路验证完毕 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 暂无文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [X] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8630 | 16 天前 | |
legacy日落-给一些算子增加InferDataTpye和Tiling日志 Co-authored-by: m0_64999461<xiongpan666@outlook.com> # message auto-generated for no-merge-commit merge: !8630 merge ops-dev into master legacy日落-给一些算子增加InferDataTpye和Tiling日志 Created-by: pan_xiong Commit-by: m0_64999461 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> legacy日落-给一些算子增加InferDataTpye、Infershape打印outputshape和Tiling日志 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 二级冒烟,本地通路验证完毕 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 暂无文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [X] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8630 | 16 天前 | |
legacy日落-给一些算子增加InferDataTpye和Tiling日志 Co-authored-by: m0_64999461<xiongpan666@outlook.com> # message auto-generated for no-merge-commit merge: !8630 merge ops-dev into master legacy日落-给一些算子增加InferDataTpye和Tiling日志 Created-by: pan_xiong Commit-by: m0_64999461 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> legacy日落-给一些算子增加InferDataTpye、Infershape打印outputshape和Tiling日志 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 二级冒烟,本地通路验证完毕 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 暂无文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [X] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8630 | 16 天前 | |
matmul非量化算子asc兼容性接口变更 Co-authored-by: gaozheng<gaozheng16@huawei.com> # message auto-generated for no-merge-commit merge: !8611 merge asendc_interface_rectify into master matmul非量化算子asc兼容性接口变更 Created-by: pzyy00 Commit-by: gaozheng Merged-by: cann-robot Description: ## 描述 matmul非量化算子asc兼容性接口变更 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4951 ## 测试 本地验证功能正常,冒烟测试通过 ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8611 | 19 天前 | |
aclnn文件加上芯片标签 Co-authored-by: zhouwenfang<zhouwenfang3@h-partners.com> # message auto-generated for no-merge-commit merge: !7981 merge master into master aclnn文件加上芯片标签 Created-by: zhouwenfang Commit-by: zhouwenfang Merged-by: cann-robot Description: ## 描述 aclnn文件加上芯片标签 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4354 ## 测试 NA ## 文档更新 quant目录下的所有aclnn.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7981 | 1 个月前 | |
grouped_dynamic_block_quant字面常量修改 Co-authored-by: ASCEND222<dongfei16@h-partners.com> # message auto-generated for no-merge-commit merge: !8930 merge master into master grouped_dynamic_block_quant字面常量修改 Created-by: ASCEND222 Commit-by: ASCEND222 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> grouped_dynamic_block_quant字面常量修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4921 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:grouped_dynamic_block_quant字面常量修改 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8930 | 20 天前 | |
fix: 移除elu_grad_v2和grouped_dynamic_mx_quant的重复op_api头文件并修正测试include路径 Co-authored-by: wenqi_wu<wenqiwu0628@163.com> # message auto-generated for no-merge-commit merge: !8610 merge fix/remove-duplicate-op-api-headers into master fix: 移除elu_grad_v2和grouped_dynamic_mx_quant的重复op_api头文件并修正测试include路径 Created-by: wenqi_wu Commit-by: wenqi_wu Merged-by: cann-robot Description: ## 描述 移除 elu_grad_v2 和 grouped_dynamic_mx_quant 两个算子在 op_host/op_api/ 目录下的重复头文件,并修正对应 UT 测试文件的 include 路径,统一指向规范位置 op_api/。 ### 改动原因 经 git ls-tree 比对,op_host/op_api/ 下的头文件与 op_api/ 下的同名文件 blob hash 完全一致,属内容完全相同的重复副本。重复头文件会导致: - include 路径歧义(测试代码引用了重复副本而非规范位置) - 潜在 ODR(单一定义规则)冲突风险 - 维护成本增加(修改需同步两处) ### 改动方法 1. 删除 activation/elu_grad_v2/op_host/op_api/ 下 2 个重复头文件: - aclnn_elu_backward.h(与 op_api/aclnn_elu_backward.h blob 一致:2508e099...) - elu_grad_v2.h(与 op_api/elu_grad_v2.h blob 一致:0f8740b1...) 2. 删除 quant/grouped_dynamic_mx_quant/op_host/op_api/ 下 3 个重复头文件: - aclnn_grouped_dynamic_mx_quant.h(blob 一致:1cf0b8cc...) - aclnn_grouped_dynamic_mx_quant_v2.h(blob 一致:18aacd89...) - grouped_dynamic_mx_quant.h(blob 一致:2324f36c...) 3. 修正 2 个 UT 测试文件的 include 路径: - test_aclnn_elu_backward.cpp:../../../op_host/op_api/aclnn_elu_backward.h → ../../../op_api/aclnn_elu_backward.h - test_aclnn_grouped_dynamic_mx_quant.cpp:../../../op_host/op_api/aclnn_grouped_dynamic_mx_quant.h → ../../../op_api/aclnn_grouped_dynamic_mx_quant.h ## 关联的Issue #4922 ## 测试 - 更新了 test_aclnn_elu_backward.cpp 和 test_aclnn_grouped_dynamic_mx_quant.cpp 的 include 路径,指向规范的 op_api/ 头文件位置 - 删除的文件与保留文件内容完全一致(git blob hash 相同),不影响编译产物 ## 文档更新 无需更新文档 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8610 | 18 天前 | |
fix: torch ops cpp sources Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !8489 merge torch into master fix: torch ops cpp sources Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 本次PR主要修复了 Torch 算子 C++ 源码的路径管理问题,将原本按算子类别(如 activation、matmul、norm、quant)分目录存放的 .cpp 文件统一扁平化到 csrc/ 根目录。同时简化了 OpBuilder 基类,移除 category 参数及相关路径拼接逻辑,并增强了 JIT 编译阶段的错误诊断能力和构建过程中的文件清理机制。 主要改动 OpBuilder 基类重构:移除 __init__ 中的 category 参数,resolve_source 方法简化为直接返回 csrc/{cpp_filename},不再拼接子目录;各子类 sources() 方法统一改用 self.resolve_source("xxx.cpp") 替代原有的硬编码子目录路径。 load 方法增强:新增 ninja 可用性检查,若未安装则抛出明确的 RuntimeError;JIT 编译失败时提供包含常见原因(CANN toolkit 未 source、缺少编译器、缺少 ninja)的诊断信息。 setup.py 打包逻辑适配:_non_python_files 和 _collect_op 中 .cpp 文件的收集路径从 csrc/<category>/ 调整为 csrc/;BuildPyWithOps 新增对 csrc 子目录的处理,构建时清理不属于当前选中算子的残留 .cpp 文件。 install_requires 依赖调整:移除 torch>=2.6.0 和 torch_npu,新增 ninja 作为安装依赖。 ## 关联的Issue [#4690](https://gitcode.com/cann/ops-nn/issues/4690) ## 测试 本地编译构建,查看build目录下的目录层级 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8489 | 28 天前 | |
aclnn文件加上芯片标签 Co-authored-by: zhouwenfang<zhouwenfang3@h-partners.com> # message auto-generated for no-merge-commit merge: !7981 merge master into master aclnn文件加上芯片标签 Created-by: zhouwenfang Commit-by: zhouwenfang Merged-by: cann-robot Description: ## 描述 aclnn文件加上芯片标签 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4354 ## 测试 NA ## 文档更新 quant目录下的所有aclnn.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7981 | 1 个月前 | |
TF plugin 算子迁移 Co-authored-by: sunchun<sunchun4@h-partners.com> # message auto-generated for no-merge-commit merge: !7619 merge nn3 into master TF plugin 算子迁移 Created-by: sunchun Commit-by: sunchun Merged-by: cann-robot Description: ## 描述 TF plugin 迁移 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4196 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7619 | 1 个月前 | |
fix: torch ops cpp sources Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !8489 merge torch into master fix: torch ops cpp sources Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 本次PR主要修复了 Torch 算子 C++ 源码的路径管理问题,将原本按算子类别(如 activation、matmul、norm、quant)分目录存放的 .cpp 文件统一扁平化到 csrc/ 根目录。同时简化了 OpBuilder 基类,移除 category 参数及相关路径拼接逻辑,并增强了 JIT 编译阶段的错误诊断能力和构建过程中的文件清理机制。 主要改动 OpBuilder 基类重构:移除 __init__ 中的 category 参数,resolve_source 方法简化为直接返回 csrc/{cpp_filename},不再拼接子目录;各子类 sources() 方法统一改用 self.resolve_source("xxx.cpp") 替代原有的硬编码子目录路径。 load 方法增强:新增 ninja 可用性检查,若未安装则抛出明确的 RuntimeError;JIT 编译失败时提供包含常见原因(CANN toolkit 未 source、缺少编译器、缺少 ninja)的诊断信息。 setup.py 打包逻辑适配:_non_python_files 和 _collect_op 中 .cpp 文件的收集路径从 csrc/<category>/ 调整为 csrc/;BuildPyWithOps 新增对 csrc 子目录的处理,构建时清理不属于当前选中算子的残留 .cpp 文件。 install_requires 依赖调整:移除 torch>=2.6.0 和 torch_npu,新增 ninja 作为安装依赖。 ## 关联的Issue [#4690](https://gitcode.com/cann/ops-nn/issues/4690) ## 测试 本地编译构建,查看build目录下的目录层级 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8489 | 28 天前 | |
refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Co-authored-by: yuanbin_22<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !8450 merge refactor-microapi-ops into master refactor: arch35 算子 MicroAPI/Reg 旧接口替换为新接口 Created-by: yuanbin_22 Commit-by: yuanbin_22 Merged-by: cann-robot Description: ## 描述 将 ops-nn 仓库中 34 个算子的 arch35 kernel 实现从 MicroAPI/Reg 旧接口替换为新接口,同时将地址空间限定符 __local_mem__ 统一替换为 __ubuf__,并对 3 个 UT 测试文件的 ubFormer 参数进行调整,使代码与 AscendC SDK 最新命名规范保持一致。 ### 改动原因 AscendC SDK 新版本对 MicroAPI 和 Reg 层 API 进行了重命名,旧 API(如 DataCopy、CompareScalar、MaskAnd、ReduceMax、ReduceSum、UnalignReg 等)将逐步废弃。本 PR 同步更新仓库中 arch35 算子 kernel 的接口调用,避免使用将废弃的 API。 ### 改动方法 对 108 个文件进行批量接口替换,其中 105 个为 arch35 kernel 头文件、3 个为 UT 测试文件,涉及 3 个算子域共 34 个算子: - **activation**(20 个算子,52 个文件):elu、fast_gelu、fast_gelu_grad、gelu、gelu_grad、gelu_grad_v2、gelu_quant、gelu_v2、leaky_relu、log_sigmoid、mish、mish_grad、p_relu、sigmoid、sigmoid_grad、silu_grad、softmax_grad_ext、swi_glu_grad、swish、swish_grad - **index**(3 个算子,8 个文件):map_index、quant_update_scatter、sparse_slice - **quant**(11 个算子,48 个文件):ascend_anti_quant_v2、ascend_quant、dynamic_block_mx_quant、dynamic_block_quant、dynamic_dual_level_mx_quant、dynamic_mx_quant、dynamic_mx_quant_with_dual_axis、dynamic_quant、grouped_dynamic_block_quant、quant_common、quantize 接口替换映射如下: | 旧接口 | 新接口 | 说明 | |--------|--------|------| | MicroAPI::DataCopy(reg, addr) | MicroAPI::LoadAlign(reg, addr) | UB→Reg 加载 | | MicroAPI::DataCopy(addr, reg) | MicroAPI::StoreAlign(addr, reg) | Reg→UB 存储 | | MicroAPI::DataCopy<T, LoadDist>(reg, addr) | MicroAPI::LoadAlign<T, LoadDist>(reg, addr) | 带 Dist 模板参数的 UB→Reg 加载 | | MicroAPI::DataCopy<T, StoreDist>(addr, reg) | MicroAPI::StoreAlign<T, StoreDist>(addr, reg) | 带 Dist 模板参数的 Reg→UB 存储 | | DataCopyUnAlign(addr, reg, ...) | StoreUnAlign(addr, reg, ...) | 非对齐存储 | | DataCopyUnAlign(reg, addr, ...) | LoadUnAlign(reg, addr, ...) | 非对齐加载 | | DataCopyUnAlignPre | LoadUnAlignPre | 非对齐预加载 | | DataCopyUnAlignPost | StoreUnAlignPost | 非对齐后存储 | | DataCopyScatter | Scatter | 散射写入 | | DataCopyGather | Gather | 聚集读取 | | CompareScalar | Compares | 标量比较 | | Copy | Move | 寄存器间拷贝 | | MaskAnd | And | 掩码与运算 | | MaskUnPack | UnPack | 掩码解包 | | MaskPack | Pack | 掩码打包 | | ReduceMax<T> | Reduce<ReduceType::MAX, T> | 最大值归约 | | ReduceMin<T> | Reduce<ReduceType::MIN, T> | 最小值归约 | | ReduceSum | Reduce<ReduceType::SUM> | 求和归约 | | ReduceMaxWithDataBlock | ReduceDataBlock<ReduceType::MAX> | 数据块最大值归约 | | UnalignReg | UnalignRegForStore | 非对齐存储寄存器 | | __local_mem__ | __ubuf__ | 地址空间限定符 | > 注:上述替换同时覆盖 MicroAPI 和 Reg 两个命名空间。带 LoadDist/StoreDist 模板参数的 DataCopy<T, Dist>(...) 变体同步替换为 LoadAlign<T, Dist>(...) / StoreAlign<T, Dist>(...),仅替换接口名、保留模板参数。 此外,3 个 UT 测试文件(fast_gelu、fast_gelu_grad、log_sigmoid)的 ubFormer 参数从 256 调整为 1024,并补充文件末尾换行符。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4689 ## 测试 接口替换为纯命名变更,不涉及计算逻辑修改,通过编译验证和已有 ST/UT 用例回归验证。UT 测试文件 ubFormer 参数调整(256→1024)用于适配新接口下的 UB 对齐要求。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:接口重命名,代码规范对齐 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8450 | 21 天前 | |
aclnn文件加上芯片标签 Co-authored-by: zhouwenfang<zhouwenfang3@h-partners.com> # message auto-generated for no-merge-commit merge: !7981 merge master into master aclnn文件加上芯片标签 Created-by: zhouwenfang Commit-by: zhouwenfang Merged-by: cann-robot Description: ## 描述 aclnn文件加上芯片标签 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4354 ## 测试 NA ## 文档更新 quant目录下的所有aclnn.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7981 | 1 个月前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 19 天前 | |
DequantSituQuant和SituMxQuant算子实现及torch extension适配 Co-authored-by: demoauguste<zhanghao418@huawei.com> # message auto-generated for no-merge-commit merge: !8798 merge master into master DequantSituQuant和SituMxQuant算子实现及torch extension适配 Created-by: demoauguste Commit-by: demoauguste Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 实现DequantSituQuant和SituMxQuant算子,并适配torch extension接口。 torch接口评审:https://gitcode.com/cann/ops-nn/issues/4749 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4850 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 自测试结果如下:  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8798 | 20 天前 | |
修改README中关联的aclnn Co-authored-by: zhouwenfang<zhouwenfang3@h-partners.com> # message auto-generated for no-merge-commit merge: !8391 merge master into master 修改README中关联的aclnn Created-by: zhouwenfang Commit-by: zhouwenfang Merged-by: cann-robot Description: ## 描述 修改README中关联的aclnn ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4638 ## 测试 NA ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8391 | 1 个月前 | |
aclnn文件加上芯片标签 Co-authored-by: zhouwenfang<zhouwenfang3@h-partners.com> # message auto-generated for no-merge-commit merge: !7981 merge master into master aclnn文件加上芯片标签 Created-by: zhouwenfang Commit-by: zhouwenfang Merged-by: cann-robot Description: ## 描述 aclnn文件加上芯片标签 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4354 ## 测试 NA ## 文档更新 quant目录下的所有aclnn.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7981 | 1 个月前 | |
fix: 放宽 swiglu_group_grad 的 grad_y 维度限制并对齐前向 clamp_limit 校验 Co-authored-by: qq_51545127<24171214023@stu.xidian.edu.cn> # message auto-generated for no-merge-commit merge: !8844 merge fix/swiglu-group-grad-support-multi-dim-and-clamp into master fix: 放宽 swiglu_group_grad 的 grad_y 维度限制并对齐前向 clamp_limit 校验 Created-by: qq_51545127 Commit-by: qq_51545127 Merged-by: cann-robot Description: ## 描述 前向 swiglu_group 支持 1-ND 输入且 clamp_limit 默认 -1.0,但反向 swiglu_group_backward 此前仅支持 2D/3D 且 clamp_limit 要求 >= 0.0,autograd 走反向时 1D 及 4D+ 等多维输入被拦截。本次将反向对齐前向语义并放宽维度限制。 ## 修改内容 1. grad_y 维度放宽(2D/3D → >= 1D,无上限),totalRows 改为遍历非尾轴维度累乘 2. 校验方式统一为「尾轴关系 + 非尾轴元素总数相等」,不再要求 grad_y 与 x rank 逐维相等: - x.shape[-1] == SPLIT_NUM * grad_y.shape[-1](SPLIT_NUM = 2) - weight / y_origin 非尾轴元素总数与 grad_y 相等,尾轴等于 grad_y 尾轴 3. clamp_limit 语义对齐前向:-1.0 = 默认不 clamp,>0 = 启用,0 / 负数 / NaN 报错;默认值由 0.0 改为 -1.0(含 autograd 桥 clamp_limit_bwd) 4. SPLIT_NUM 常量化,对齐参照算子 swiglu_group_quant_grad;清理文档/注释中 clamp_limit 旧语义(0.0 = 不 clamp)残留 口径(grad_y / x / weight / y_origin)在 torch 扩展(schema/meta/impl/图转换)、aclnn op_api、op_host(infershape + tiling)三侧同步实现。 kernel 代码未改动。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4750 ## 测试 冒烟测试 ## 文档更新 更新了 README.md、docs/aclnnSwigluGroupGrad.md、docs/torchapi_swiglu_group_backward.md 及算子公开头文件注释,同步 grad_y 1-ND 维度与 clamp_limit 新语义。 ## 类型标签 - [x] Bug修复 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8844 | 16 天前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 18 天前 | |
fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !8943 merge q_work8 into master fix: 显式限定 ReduceType 命名空间以兼容 CANN 9.0.0 (ascend950) Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 CANN 9.0.0 中 ReduceType 枚举移至 AscendC::Reg 命名空间,arch35 算子文件中通过 using namespace AscendC 已无法将 ReduceType 引入当前作用域,导致编译时 ReduceType::SUM/ReduceType::MAX 无法解析。 本次改动将 arch35 目录下 62 个算子头文件中的 ReduceType::SUM(502 处)和 ReduceType::MAX(32 处)显式限定为 AscendC::Reg::ReduceType::SUM 和 AscendC::Reg::ReduceType::MAX,修复编译兼容性问题。 涉及的算子模块:activation、norm、loss、index、quant,均为 arch35 架构专用文件,不影响其他架构。 ## 关联的Issue #4937 ## 测试 在 CANN 9.0.0(ascend950)环境下对 62 个文件涉及的算子进行编译验证,全部编译通过。 ## 文档更新 无文档更新,本次为编译兼容性修复。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8943 | 18 天前 | |
feat: rename op_api_def.h to op_api_def_nn.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !8360 merge rename_opapidef into master feat: rename op_api_def.h to op_api_def_nn.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本次改动将 op_api/op_api_def.h 重命名为 op_api/op_api_def_nn.h,并同步更新了所有引用该头文件的源文件与测试文件中的 #include 路径,共涉及 161 个文件。 改动原因:将 op_api 定义头文件统一命名为 op_api_def_nn.h,以更好地体现其所属模块(NN 算子)的语义,便于后续与其他模块的头文件区分管理。 此外,在提交过程中发现 4 个文件(aclnn_foreach_addcmul_scalar_v2.cpp、aclnn_max_unpool3d.cpp、test_aclnn_addmv.cpp、test_aclnn_fast_batchnorm_backward.cpp)的许可证头使用了非标准的旧格式,导致 OAT 合规检查失败。本次一并将其更新为标准的 CANN 开源许可证头格式,确保通过合规校验。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4954 ## 测试 - 通过 pre-commit 钩子校验:trailing whitespace、end-of-file-fixer、clang-format 均通过 - 通过 OAT 合规检查(161 个文件全部通过) - 本次为头文件重命名改动,不涉及逻辑变更,编译依赖关系保持不变 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:头文件重命名与许可证头修复 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8360 | 19 天前 | |
refactor: EXEC_OPAPI_CMD 迁移为 CANN_OPS_OPB_SYN_EXEC_ACLNN 并升级 opbase Co-authored-by: yuyuanfeng<yuyuanfeng1@huawei.com> # message auto-generated for no-merge-commit merge: !8648 merge master into master refactor: EXEC_OPAPI_CMD 迁移为 CANN_OPS_OPB_SYN_EXEC_ACLNN 并升级 opbase Created-by: yuyuanfeng Commit-by: yuyuanfeng Merged-by: cann-robot Description: ## 描述 将 6 个 fallback 算子从旧宏 EXEC_OPAPI_CMD 迁移到 opbase 新宏 CANN_OPS_OPB_SYN_EXEC_ACLNN(显式传入 ctx 首参),并升级 opbase 依赖以引入新宏。 改动原因: - opbase 已将 EXEC_OPAPI_CMD 参数化并重命名为 CANN_OPS_OPB_SYN_EXEC_ACLNN(旧宏仅保留一行转发兼容),跟随 opbase 接口演进,显式传入 ctx。 改动方法: - 6 个算子的 op_graph fallback 实现统一改为 CANN_OPS_OPB_SYN_EXEC_ACLNN(ctx, ...):foreach_add_list、scatter_list、group_norm_silu、trans_quant_param_v2、quant_batch_matmul_inplace_add、quant_batch_matmul_v3 - cmake/third_party/opbase.cmake 中 OPBASE_TAG_ID 由 bd20a12e 升级至 40cc7bed ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4782 ## 测试 本地编译 6 个算子验证(ascend910b) ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:重构/接口迁移 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8648 | 26 天前 | |
torch_extension API文档新增产品型号标签 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !8233 merge master into master torch_extension API文档新增产品型号标签 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1. torchapi_*.md增加产品型号标签注释 2. 中文png改为英文文件名 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#4551](https://gitcode.com/cann/ops-nn/issues/4551) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 已自验 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> torchapi_*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8233 | 1 个月前 | |
Format update: Adjusted the license description format in all relevant files. Co-authored-by: jiangqi<jiangqi47@h-partners.com> # message auto-generated for no-merge-commit merge: !366 merge license6 into master Format update: Adjusted the license description format in all relevant files. Created-by: jiangqi2025 Commit-by: jiangqi Merged-by: turing_project1 Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!366 | 8 个月前 | |
dequant_situ_quant算子torch_extension目录整改,修复小shape下计算bug Co-authored-by: demoauguste<zhanghao418@huawei.com> # message auto-generated for no-merge-commit merge: !9022 merge master into master dequant_situ_quant算子torch_extension目录整改,修复小shape下计算bug Created-by: demoauguste Commit-by: demoauguste Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1、按照torch extension目录整改dequant_situ_quant算子; 2、修复在小shape下的计算和对齐问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4985 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 使用精度测试工具测试结果如下:  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:目录重构 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9022 | 15 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 19 天前 | ||
| 21 天前 | ||
| 15 天前 | ||
| 19 天前 | ||
| 1 个月前 | ||
| 16 天前 | ||
| 21 天前 | ||
| 22 天前 | ||
| 21 天前 | ||
| 22 天前 | ||
| 16 天前 | ||
| 15 天前 | ||
| 18 天前 | ||
| 15 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 21 天前 | ||
| 28 天前 | ||
| 28 天前 | ||
| 1 个月前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 16 天前 | ||
| 19 天前 | ||
| 1 个月前 | ||
| 20 天前 | ||
| 18 天前 | ||
| 28 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 28 天前 | ||
| 21 天前 | ||
| 1 个月前 | ||
| 19 天前 | ||
| 20 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 16 天前 | ||
| 18 天前 | ||
| 18 天前 | ||
| 19 天前 | ||
| 26 天前 | ||
| 1 个月前 | ||
| 8 个月前 | ||
| 15 天前 |