| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 天前 | |
修改测试问题 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !7987 merge master into master 修改测试问题 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 修改TorchNPU改名 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!7987 | 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 个月前 | |
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 | 2 个月前 | |
[社区任务]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 | 1 个月前 | |
[Requirement|需求建议]: 【社区任务】NllLossGrad算子A2/A3 AscendC实现贡献 Co-authored-by: yangke<1723981822@qq.com> # message auto-generated for no-merge-commit merge: !8065 merge master into master [Requirement|需求建议]: 【社区任务】NllLossGrad算子A2/A3 AscendC实现贡献 Created-by: gcw_8p1hhlB0 Commit-by: gcw_8p1hhlB0;yangke Merged-by: cann-robot Description: ## 描述 通过西工大CANN暑期训练营社区任务完成 NLLLossGrad 算子的 AscendC 改造与性能优化,保持与现有 TBE 算子语义一致,已通过cann judge测试。 任务要求适配 Atlas A2 训练系列产品/Atlas A3 系列产品,性能在所有核参与计算场景下不低于原 TBE 算子的 95%。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4414 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8065 | 1 个月前 | |
FusedPatchMlp 算子AscendC实现贡献 Co-authored-by: wuxs68<wuxs68@chinaunicom.cn> # message auto-generated for no-merge-commit merge: !7672 merge master into master FusedPatchMlp 算子AscendC实现贡献 Created-by: wuxs68 Commit-by: wuxs68 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> FusedPatchMlp 算子AscendC实现贡献 来自移动终端方向国家人工智能应用中试基地 Co-authored-by: 联通(广东)产业互联网有限公司 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#4142](https://gitcode.com/cann/ops-nn/issues/4142) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ### 1. Ops-NN UT 构建 测试指令: bash build.sh -u --ops=fused_patch_mlp --experimental 测试结果:  ### 2. Ops-NN op_host UT 测试指令: bash build.sh -u --ops=fused_patch_mlp --experimental --ophost 测试结果:  ### 3. Ops-NN op_kernel UT 测试指令: bash build.sh -u --ops=fused_patch_mlp --experimental --opkernel 测试结果:  ### 4. Ops-NN op_api UT 测试指令: bash build.sh -u --ops=fused_patch_mlp --experimental --opapi 测试结果:  ## 算子级性能对比 对 ChatTS 中的 TimeSeriesEmbedding.mlp 进行融合替换测试,比较对象包括: 1. **原始 PyTorch 实现**:nn.Sequential 包含 Linear + GELU + Linear + GELU + Linear 的逐层调用 2. **本 PR 融合算子**:aclnn_fused_patch_mlp,将多层 Linear+GELU 合并为单次 API 调用 测试在 NPU 上进行,覆盖多种实际运行 shape,使用相同的权重、偏置、dtype、预热次数和迭代次数。测试前校验输出误差,然后统计同步后的端到端前向延迟。 | Shape | 参数规模 | 原始 MLP Median | 融合算子 Median | 加速比 | 时延下降 | | ---: | ---: | ---: | ---: | ---: | ---: | | [1, 4096, 16] | hidden=256, 3层 | 0.3236 ms | 0.0931 ms | 3.48× | 71.23% | | [1, 4096, 64] | hidden=256, 3层 | 0.4591 ms | 0.0942 ms | 4.87× | 79.47% | | [1, 4096, 16] | hidden=256, 5层 | 0.5349 ms | 0.1210 ms | 4.42× | 77.39% | | [2, 4096, 16] | hidden=256, 3层 | 0.3094 ms | 0.1120 ms | 2.76× | 63.80% | ## 正确性结果 性能测试同时校验了融合算子的输出正确性: - fused_vs_original_allclose:✅ 通过(所有测试 case) - 最大绝对误差:< 6.11e-5 ~ 3.05e-4(远小于 1e-3 阈值) - 所有性能测试 case 均为 **0 allclose failures** ## 整模型端到端收益 将 ChatTS-14B 中的 TimeSeriesEmbedding.mlp 替换为 FusedPatchMlp 后,整模型 forward 端到端性能对比: | 模型 | 序列长度 | Patch 数 | 原始模型 Median | 融合模型 Median | 加速比 | 时延下降 | | :--- | ---: | ---: | ---: | ---: | ---: | ---: | | ChatTS-14B | 1024 | 128 | 338.657 ms | 314.316 ms | **1.077×** | **7.2%** | ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!7672 | 1 个月前 | |
【社区任务】AscendC实现SyncBatchNormBackwardElemt算子贡献 Co-authored-by: infinity_infi<67455467@qq.com> # message auto-generated for no-merge-commit merge: !6359 merge master into master 【社区任务】AscendC实现SyncBatchNormBackwardElemt算子贡献 Created-by: infinity_infi Commit-by: infinity_infi Merged-by: cann-robot Description: ## 描述 【社区任务】AscendC实现SyncBatchNormBackwardElemt算子贡献 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/3657 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!6359 | 1 个月前 | |
【CANN开源开放社区任务】【社区任务】AscendC实现ApplyAdamW算子贡献 Co-authored-by: StarLightOn<594406837@qq.com> # message auto-generated for no-merge-commit merge: !8168 merge submit-apply_adam_w into master 【CANN开源开放社区任务】【社区任务】AscendC实现ApplyAdamW算子贡献 Created-by: StarLightOn Commit-by: StarLightOn Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 【社区任务】ApplyAdamW算子AscendC贡献 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 关联Issue [#4492](https://gitcode.com/cann/ops-nn/issues/4492) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8168 | 1 个月前 | |
【社区任务】MaxPool3D 算子贡献 Co-authored-by: lusonglier<lusonglier@qq.com> # message auto-generated for no-merge-commit merge: !8252 merge master into master 【社区任务】MaxPool3D 算子贡献 Created-by: lusonglier Commit-by: lusonglier Merged-by: cann-robot Description: ## 描述 使用Ascend C对TBE实现的MaxPool3D算子进行重构,实现MaxPool3D算子对Atlas A2训练系列产品的适配。算子支持float16、float32和bfloat16数据类型,支持NDHWC和NCDHW逻辑布局,并提供ACLNN调用接口。 ## 关联的Issue 关联Issue [#4468](https://gitcode.com/cann/ops-nn/issues/4468) ## 测试 采用ACLNN调用测试,覆盖NDHWC和NCDHW逻辑布局 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8252 | 1 个月前 | |
turbo_quant_compress_latent csrc upgrade Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !8607 merge torch into master turbo_quant_compress_latent csrc upgrade Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 turbo_quant_compress_latent csrc upgrade ## 关联的Issue [#4690](https://gitcode.com/cann/ops-nn/issues/4690) ## 测试 编译并安装cann_ops_nn ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8607 | 27 天前 | |
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 个月前 | |
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 个月前 |