| Files | Last commit | Last update |
|---|---|---|
【社区任务】实现 SoftShrinkGrad 算子 Co-authored-by: rudy<1379820833@qq.com> # message auto-generated for no-merge-commit merge: !7748 merge softshrinkgrad-community-v2 into master 【社区任务】实现 SoftShrinkGrad 算子 Created-by: Delicate02 Commit-by: rudy Merged-by: cann-robot Description: 关联 Issue - https://gitcode.com/cann/ops-nn/issues/4197 ## 修改内容 本 PR 在 experimental/activation/softshrink_grad 下新增面向 Atlas A2、Atlas A3 的 SoftShrinkGrad Ascend C 实现,主要包括: - 新增 SoftshrinkGrad Host 定义、Tiling、InferShape 和 softshrink_grad Kernel 实现。 - 支持 FLOAT16、FLOAT、BFLOAT16 数据类型及 ND 格式。 - 支持标量、动态 shape、非 32 B 对齐尾块、单缓冲和双缓冲场景。 - 新增 aclnnSoftshrinkBackward 两段式 ACLNN 接口,支持连续化、广播、混合输入 dtype 转换、空 Tensor 和参数校验。 - 新增 README、ACLNN 接口文档、调用示例及 Host/API/Kernel UT。 - 根据检视意见补充 Atlas A3(ascend910_93)配置,并通过 GetCurNpuArch() 限定 DAV_2201 架构;不支持的平台返回 ACLNN_ERR_PARAM_INVALID。 - 根据检视意见补充 InferShape 失败原因日志,删除不需要的 codespell ignore 注释,并修复此前检视指出的 License、文档、示例资源释放等问题。 - 根据最新检视意见补齐 mixed dtype 防御链:ACLNN 输入统一计算 dtype、l0op 拒绝不一致 dtype、输出按 gradInput dtype Cast,并增加精度 UT。 完整设计方案见关联 Issue #4197。 ## 自验证结果 验证环境:Ascend 910B3,CANN 8.5.0;提交 ddcfbced1e0bdf91b4a5741b7febcae9939a545d 已压缩为单提交。 - Host UT:12/12 PASS,包含 GetInputShape(1) 为空的失败场景。 - API UT:13/13 PASS,覆盖 Atlas A3 平台成功及不支持平台拒绝场景。 - Kernel UT:6/6 PASS。 - ascend910b 自定义算子安装包构建成功,并在独立目录安装成功。 - ascend910_93 自定义算子安装包及 A3 Kernel 二进制构建成功。 - 在 910B3 上执行 bash build.sh --run_example softshrink_grad eager cust --vendor_name=custom --experimental,8 个输出均与期望一致,日志输出 SoftShrinkGrad ACLNN example: PASS。 - clang-format 18.1.8、pre-commit、codespell、git diff --check 和 OAT 增量检查通过。 ## 兼容性说明 - 本次贡献位于 experimental/activation/softshrink_grad,使能 Atlas A2 / Ascend 910B 与 Atlas A3 / ascend910_93。 - A2、A3 均映射为 DAV_2201;ACLNN 显式拒绝其他 NPU 架构,避免误放开未支持平台。 - Host 原型与现有 activation/softshrink_grad 保持一致,使用 SoftshrinkGrad;Kernel 入口为 softshrink_grad。 - 不影响现有 activation/softshrink_grad 下的其他芯片实现。 See merge request: cann/ops-nn!7748 | 3 months ago | |
docs目录基本概念md中文名改为英文名 Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !7857 merge master into master docs目录基本概念md中文名改为英文名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao;chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> docs目录基本概念md文件名改为英文: 避免link中的中文字符引发的跳转异常,例如两段式接口.md变成%E4%B8%A4%E6%AE%B5%E5%BC%8F%E6%8E%A5%E5%8F%A3.md,不易于维护,可能导致其他平台跳转有问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#4260](https://gitcode.com/cann/ops-nn/issues/4260) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context所有md和对应的link ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7857 | 3 months ago | |
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 | 10 months ago | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 4 months ago | |
docs目录基本概念md中文名改为英文名 Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !7857 merge master into master docs目录基本概念md中文名改为英文名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao;chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> docs目录基本概念md文件名改为英文: 避免link中的中文字符引发的跳转异常,例如两段式接口.md变成%E4%B8%A4%E6%AE%B5%E5%BC%8F%E6%8E%A5%E5%8F%A3.md,不易于维护,可能导致其他平台跳转有问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#4260](https://gitcode.com/cann/ops-nn/issues/4260) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context所有md和对应的link ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7857 | 3 months ago | |
新增 NllLoss 算子实现 Co-authored-by: weixin_45448057<yth_yth@126.com> # message auto-generated for no-merge-commit merge: !7625 merge master into master 新增 NllLoss 算子实现 Created-by: weixin_45448057 Commit-by: weixin_45448057 Merged-by: cann-robot Description: # NllLoss ## 产品支持情况 |产品 | 是否支持 | |:-------------------------|:----------:| | <term>Atlas A3 训练系列 / Atlas A3 推理系列</term> | √ | | <term>Atlas A2 训练系列 / Atlas A2 推理系列</term> | √ | ## 功能说明 - 算子功能:计算负对数似然损失(Negative Log Likelihood Loss),常用于配合 LogSoftmax 完成多分类训练。 - 计算公式: 对每个样本 i,设其目标类别为 target_i。当 target_i 等于 ignore_index 时该样本不参与计算,否则: $$ loss_i = -weight[target_i] * x[i, target_i] $$ 当 reduction 为 none 时,逐样本输出: $$ y_i = loss_i $$ 当 reduction 为 sum 时: $$ y = \sum_i loss_i $$ 当 reduction 为 mean 时: $$ y = \frac{\sum_i loss_i}{\sum_i weight[target_i]} $$ 同时输出参与计算样本的权重之和: $$ total\_weight = \sum_i weight[target_i] $$ 其中当未提供 weight 时,各类别权重按 1 处理。 ## 参数说明 <table style="undefined;table-layout: fixed; width: 1576px"><colgroup> <col style="width: 170px"> <col style="width: 170px"> <col style="width: 310px"> <col style="width: 212px"> <col style="width: 100px"> </colgroup> <thead> <tr> <th>参数名</th> <th>输入/输出/属性</th> <th>描述</th> <th>数据类型</th> <th>数据格式</th> </tr></thead> <tbody> <tr> <td>x</td> <td>输入</td> <td>公式中的输入x,最后一维为类别数C,其余维度展平为样本数N。</td> <td>BFLOAT16、FLOAT16、FLOAT</td> <td>ND</td> </tr> <tr> <td>target</td> <td>输入</td> <td>公式中的输入target,每个样本的目标类别索引,元素个数为样本数N。</td> <td>INT32、INT64</td> <td>ND</td> </tr> <tr> <td>weight</td> <td>可选输入</td> <td>公式中的输入weight,各类别的权重,长度为C;未传入时权重按1处理。</td> <td>BFLOAT16、FLOAT16、FLOAT</td> <td>ND</td> </tr> <tr> <td>reduction</td> <td>可选属性</td> <td>公式中的输入reduction,指定损失函数的计算方式,支持 'none' | 'mean' | 'sum'。'none' 表示不应用归约,'mean' 表示损失的加权平均,'sum' 表示损失求和。默认为 'mean'。</td> <td>STRING</td> <td>-</td> </tr> <tr> <td>ignore_index</td> <td>可选属性</td> <td>公式中的输入ignore_index,指定被忽略且不参与损失计算的目标类别值。默认为 -100。</td> <td>INT64</td> <td>-</td> </tr> <tr> <td>y</td> <td>输出</td> <td>公式中的输出y。reduction 为 'none' 时形状与 target 一致,否则为标量。</td> <td>BFLOAT16、FLOAT16、FLOAT</td> <td>ND</td> </tr> <tr> <td>total_weight</td> <td>输出</td> <td>公式中的输出total_weight,参与计算样本的权重之和。</td> <td>BFLOAT16、FLOAT16、FLOAT</td> <td>ND</td> </tr> </tbody></table> ## 约束说明 - target 的取值需落在 [0, C) 区间内,或等于 ignore_index。 - x 的最后一维为类别数 C,target 的元素个数为样本数 N。 - 若传入 weight,其长度需与类别数 C 保持一致。 ## 调用说明 | 调用方式 | 调用样例 | 说明 | |---------|---------|------| | aclnn调用 | [test_aclnn_nll_loss](./examples/test_aclnn_nll_loss.cpp) | 通过[aclnnNLLLoss](./docs/aclnnNLLLoss.md)接口方式调用NllLoss算子。 | | aclnn调用 | - | 通过[aclnnNLLLoss2d](./docs/aclnnNLLLoss2d.md)接口方式调用NllLoss算子。 | ## 贡献说明 | 贡献者 | 贡献方 | 贡献算子 | 贡献时间 | 贡献内容 | | ---- | ---- | ---- | ---- | ---- | | weixin_45448057 | 个人开发者 | NllLoss | 2026/07/14 | NllLoss算子适配开源仓 | See merge request: cann/ops-nn!7625 | 3 months ago | |
fix TorchNPU Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !7243 merge master into master fix TorchNPU Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 ① torch_npu名称合一TorchNPU ②《acl API》手册更名修改 ③ link修改commerical为community ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/3951 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7243 | 3 months ago | |
docs目录基本概念md中文名改为英文名 Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !7857 merge master into master docs目录基本概念md中文名改为英文名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao;chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> docs目录基本概念md文件名改为英文: 避免link中的中文字符引发的跳转异常,例如两段式接口.md变成%E4%B8%A4%E6%AE%B5%E5%BC%8F%E6%8E%A5%E5%8F%A3.md,不易于维护,可能导致其他平台跳转有问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#4260](https://gitcode.com/cann/ops-nn/issues/4260) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context所有md和对应的link ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7857 | 3 months ago | |
docs目录基本概念md中文名改为英文名 Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !7857 merge master into master docs目录基本概念md中文名改为英文名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao;chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> docs目录基本概念md文件名改为英文: 避免link中的中文字符引发的跳转异常,例如两段式接口.md变成%E4%B8%A4%E6%AE%B5%E5%BC%8F%E6%8E%A5%E5%8F%A3.md,不易于维护,可能导致其他平台跳转有问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#4260](https://gitcode.com/cann/ops-nn/issues/4260) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context所有md和对应的link ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7857 | 3 months ago | |
docs目录基本概念md中文名改为英文名 Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !7857 merge master into master docs目录基本概念md中文名改为英文名 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao;chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> docs目录基本概念md文件名改为英文: 避免link中的中文字符引发的跳转异常,例如两段式接口.md变成%E4%B8%A4%E6%AE%B5%E5%BC%8F%E6%8E%A5%E5%8F%A3.md,不易于维护,可能导致其他平台跳转有问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#4260](https://gitcode.com/cann/ops-nn/issues/4260) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context所有md和对应的link ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7857 | 3 months ago | |
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 | 10 months ago | |
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 | 10 months ago | |
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 | 10 months ago |