| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(celu,data_format_dim_map): def-driven dtype separation Co-authored-by: babeiee<125106023003@njust.edu.cn> # message auto-generated for no-merge-commit merge: !8852 merge fix/data-format-dim-map-def-driven-dtype-infer-remote-verified into master fix(celu,data_format_dim_map): def-driven dtype separation Created-by: babeiee Commit-by: babeiee Merged-by: cann-robot Description: ## 描述 celu,data_format_dim_map 算子共性问题修改 ## 关联的issue []https://gitcode.com/cann/ops-nn/issues/4870 ## 测试 ## 文档更新 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!8852 | 1 个月前 | |
[社区任务]EmbeddingDenseGrad算子 Co-authored-by: yolo_mic<2474734414@qq.com> # message auto-generated for no-merge-commit merge: !7760 merge feat/embedding_dense_grad into master [社区任务]EmbeddingDenseGrad算子 Created-by: YOLO-MIC Commit-by: yolo_mic Merged-by: cann-robot Description: ## issue https://gitcode.com/cann/ops-nn/issues/4250 ## 描述 本 PR 新增 EmbeddingDenseGrad 算子到 experimental/index 目录,适配开源仓交付件规范。 EmbeddingDenseGrad 是 Embedding 前向算子的反向梯度算子,按 scatter-add 语义根据索引 indices 将上游梯度 grad 累加回词表梯度 y。支持以下特性: - 支持 padding_idx 填充索引置零 - 支持 scale_grad_by_freq 按索引频次缩放梯度 - 支持 grad 的 dtype:float16 / float32 - 支持 indices 的 dtype:int32 / int64 - 支持 ascend310p 平台 - Kernel 调度支持 3 种模式:SINGLE_ROW / SEGMENTED / PACKED,按数据规模自动选择 交付件包含 op_host(def / tiling / infershape)、op_kernel(kernel 实现 + scale 后处理 + tiling_key)、op_graph、tests/ut、examples、docs、README、CMakeLists.txt,符合项目标准算子交付件规范。 ## 测试 - [x] 代码格式化:通过仓库 scripts/format_cpp.sh + .clang-format 规则处理 11 个文件 - [x] pre-commit 检查:Git Hooks Checking PASSED ## 文档更新 - 新增 experimental/index/embedding_dense_grad/README.md:算子功能、参数、约束、调用说明 - 新增 experimental/index/embedding_dense_grad/docs/aclnnEmbeddingDenseGrad.md:aclnn 两段式接口文档 - 新增 experimental/index/embedding_dense_grad/examples/test_aclnn_embedding_dense_grad.cpp:aclnn 调用示例 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!7760 | 2 个月前 | |
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 | 3 个月前 | |
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 | 3 个月前 | |
精简Index算子tiling构建配置并统一op_host目录编译 Co-authored-by: tieyutong<tieyutong@huawei.com> # message auto-generated for no-merge-commit merge: !7072 merge index-tiling-fix-20260706 into master 精简Index算子tiling构建配置并统一op_host目录编译 Created-by: tieyutong Commit-by: tieyutong Merged-by: cann-robot Description: ## 描述 根据评审意见,Index 算子的 tiling 实现同时支持 ascend950 和 ascend910b,不需要在 CMakeLists.txt 中通过 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 额外配置两个芯片到同一个 arch35 目录。 本次修改: -移除 experimental/index/index/CMakeLists.txt 中冗余的 SUPPORT_COMPUTE_UNIT、SUPPORT_TILING_DIR 及对应参数。 -将 op_host/arch35/index_tiling.cpp 上移到 op_host/index_tiling.cpp,使其在两个芯片构建时统一参与编译。 -同步将 tests/ut/op_host/arch35/test_index_tiling.cpp 上移到 tests/ut/op_host/test_index_tiling.cpp,避免 tiling UT 被当前测试收集规则漏掉。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3875 ## 测试 已完成以下验证: clang-format --dry-run --Werror 通过。 bash build.sh -u --experimental --ops=index --ophost 通过,执行 8 tests from 2 test suites,全部通过。 bash scripts/ci/local_build.sh -u -f /tmp/index_pr_filelist.txt -j16: ophost ut 通过。 opapi ut 通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!7072 | 3 个月前 | |
修复index_fill误用arch32目录 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !9054 merge arch32-fix-exp-index into master 修复index_fill误用arch32目录 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 将index_fill算子中误用arch32的目录及代码引用统一修正为arch22,与ascend910_93/ascend910b对应arch22的架构目录约定保持一致. ## 关联的Issue Issue #4931 ## 测试 - 算子编译及ut通过 - rg检索arch32(含Arch32/ARCH32)无残留 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!9054 | 1 个月前 | |
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 | 2 个月前 | |
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 | 2 个月前 | |
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 | 1 个月前 | |
feat(experimental): add nonzero operator Co-authored-by: npusyb23<1678326026@qq.com> # message auto-generated for no-merge-commit merge: !8584 merge master into master feat(experimental): add nonzero operator Created-by: npusyb2023 Commit-by: --show-origin;npusyb23 Merged-by: cann-robot Description: ## 概述 新增 experimental/index/nonzero 算子:找出self中非零元素的位置,设self的维度为D,self中非零元素的个数为N,则返回out的shape为N * D,每一列表示一个非零元素的位置坐标。 [K, ndim](row-major)。支持 FLOAT / FLOAT16 / BFLOAT16 / INT32 输入,INT64 输出。 对应issue:https://gitcode.com/cann/ops-nn/issues/4919 ## 正确性 - 200 例精度测试集 **200/200 PASS**(fp32/fp16/bf16/int32 各 50 例,覆盖 1D–5D、稀疏/稠密/全零/全非零/单点模式) - 输出形状与数值与 torch.nonzero 逐位一致 - 全零输入输出 [0, ndim];动态 K 由 host 端读取 workspace 计数返回 ## 性能(vs torch.nonzero,msprof kernel 纯耗时) 按验收指标——**逐 case 几何平均加速比** + **case 泛化分布** (参考 kernel 纯耗时 <100us:10% / 100-500us:20% / 500-1000us:40% / >1000us:30%): | 指标 | 结果 | |---|---| | **逐 case 几何平均加速比** | **3.657x** | | 泛化分布 | **10/20/40/30 精确命中**(零跨界) | | 加权总加速比 Σref/Σasc | 3.98x | | 按 dtype | fp32 3.51x · fp16 3.31x · bf16 3.34x · int32 5.67x | 全部 100 case 加速比 > 1(min 1.78x,max 6.44x)。 测量方式:单 msprof 启动、同进程、每 case ref/asc 各 3 次取 min、累加全部计算 kernel Task_Duration。fp32/fp16/bf16(AiCore 参考)与官方逐 case harness 交叉验证偏差 ≤6%; int32 参考走 AiCpu(host 侧 kernel),独立进程冷启动开销(~350-400us 地板)会使官方 harness 的 int32 加速比虚高,本 PR 用同进程稳态测量消除该伪影。 ## 实现要点 - 每核按 TILE_ELEMS=8192 tile 读入(DataCopyPad GM→UB),Compares(NE) 生成按位 mask - bf16/int32 无可用 setcc,先 Cast 到 float 再比较;mask 用最小置位位提取,扫描代价 ∝ nnz 而非 tile 宽 - 索引对按 PAIR_BATCH=512 分批 DataCopyPad 写回 GM,避免逐对写回固定开销 - framework/aclnn 单核 direct-y 构建 ## 验证 - 精度:200/200 PASS - 性能:见上表(逐 case 明细在 advisor_suite/results_table.md) - 调用样例:examples/test_aclnn_nonzero.cpp See merge request: cann/ops-nn!8584 | 1 个月前 | |
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 | 3 个月前 | |
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 | 9 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 2 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 3 个月前 | ||
| 9 个月前 |