| Files | Last commit | Last update |
|---|---|---|
fix(golden): avoid overflow in unselected BNLL branches Co-authored-by: Ethan_Zou<tianjun.zou@foxmail.com> # message auto-generated for no-merge-commit merge: !11477 merge fix/bnll-golden-branch-overflow-20261007 into master fix(golden): avoid overflow in unselected BNLL branches Created-by: Ethan_Zou Commit-by: Ethan_Zou Merged-by: cann-robot Description: ## 当前版权规范修正 按仓库贡献规范及上游同类文件模板修正新增文件版权声明;当前唯一源提交 f73c7a132130e24548591ce7f57494fc8044ce13。相对上一提交,本次只改版权声明行,所有其他代码及许可证文字逐字一致。原提交的 CI 结果保留为历史记录;当前 SHA 的新流水线需重新核对,不能用旧结果代替。 ## 描述 Fixes #6373。BNLL NumPy Kernel golden用np.where实现分段,但两个分支 先求值,大输入会在未选exp分支溢出,-inf在未选分支中产生invalid。 默认错误策略下结果通常仍正确,但有无意义RuntimeWarning;严格 warnings/NumPy错误策略导致golden生成失败。本PR只修Host参考计算, 不报告NPU输出错误。 使用max(x,0)+log1p(exp(-abs(x))),所有exp输入非正,与仓内arch35 kernel的稳定形式一致;保留float64中间精度、输入dtype/shape及特殊值。 AST确认唯一生产语义修改是result表达式;其余为原生Ruff等价格式。 未改kernel/tiling、容差、门禁或检查规则。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/6373 ## 测试 仓库根目录: sh python3 activation/bnll/tests/assets/test_bnll_golden_branch_overflow.py pre-commit run --files activation/bnll/tests/assets/golden.py \ activation/bnll/tests/assets/test_bnll_golden_branch_overflow.py \ activation/bnll/README.md Host Python3.12.14/NumPy2.3.5/CPU Torch2.14.1:同一最终测试32个场景, 基线20异常/12控制,修复32通过/0skip。Profile确认每轮32次实际注册 bnll_golden调用,未复制逻辑或mock计算。FP16/FP32,RuntimeWarning 作为错误及NumPy overflow/invalid='raise'两策略;大正负标量、有限 极值向量、矩阵、inf/-inf/NaN、普通值、空向量及(2,0)空矩阵。 CPU TorchDouble logaddexp独立参考;检查dtype/shape/精确数值/输入字节。 underflow仍ignore,与本项overflow/invalid无关,未宣称任意全raise策略。 三修改文件全部适用原生基础/Ruffcheck+format/codespell/OATwrapper 通过,OAT0非法类型/版权头;BSDsed兼容warning保留。clang按类型无 适用文件,无C++修改。没有TTK设备执行、CANN完整构建、算子UT或 NPU精度/性能结果。原生pre-push-build未安装,未通过任何旁路选项跳过。 基线95b0d8c04245d7136125b7b4e9b2c1dc83c5b0e0;源提交 f73c7a132130e24548591ce7f57494fc8044ce13,只有一个 Ethan_Zou提交。若CI需修复将amend保持一个。 查重6181唯一全状态Issue+最新首100、332开放PR4页。#5235的kernel 小指数精度补偿及#10934的24文件设备精度/tiling/UT修改均不同,后者 没有修改该注册golden。保留原Huawei版权,新测试真实Ethan2026CANN2。 ## 文档更新 BNLL README新增Host命令、稳定公式及验证范围说明。 ## 类型标签 - [x] Bug修复 - [x] 文档更新 - [ ] 新特性 - [ ] 性能优化 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写:Codex调查、修复和Host验证;/compile后回查CI。 ## 当前 CI 核验 源 SHA f73c7a132130e24548591ce7f57494fc8044ce13,远端源提交数 1。流水线 52aa87cc439b45f88f07447e6d52b655 已 COMPLETED,64/64 任务完成,0 条件跳过;本地新增 Host golden 回归范围见上方,未将该回归声称为远端 NPU 精度测试。 See merge request: cann/ops-nn!11477 | 21 days ago | |
修正 Celu 文档中的 Ascend 950 rank 限制 Co-authored-by: KaranocaVe<karanocave@qq.com> # message auto-generated for no-merge-commit merge: !12128 merge fix/2026-10-14-celu-arch35-rank-limit-doc-01-luna-fifo-04 into master 修正 Celu 文档中的 Ascend 950 rank 限制 Created-by: KaranocaVe Commit-by: KaranocaVe Merged-by: cann-robot Description: # 修正 Celu 文档中的 Ascend 950 rank 限制 Ascend 950(Arch35)Celu Host tiling 对 rank 大于 8 的输入返回失败,但 README 声明支持任意 shape。本补丁在约束说明中注明该平台的 rank 上限为 8,不改变算子实现。 验证:根据 Host tiling 的 rank 条件静态核对 rank 8/9 的分支结果;当前目录没有可直接复用的 tiling UT。 关联 Issue: https://gitcode.com/cann/ops-nn/issues/6788 See merge request: cann/ops-nn!12128 | 21 days ago | |
修正 CeluV2 Proto 注释遗漏 BF16 输入类型 Co-authored-by: KaranocaVe<karanocave@qq.com> # message auto-generated for no-merge-commit merge: !12208 merge fix/2026-10-16-celu-v2-proto-bf16-doc into master 修正 CeluV2 Proto 注释遗漏 BF16 输入类型 Created-by: KaranocaVe Commit-by: KaranocaVe Merged-by: cann-robot Description: # 修正 CeluV2 Proto 注释遗漏 BF16 输入类型 CeluV2 的 x 输入在 Proto 注释中只列出 float16、float32,但 REG_OP 和 OpDef 均注册了 DT_BF16。这使公开接口说明与已注册类型不一致,并可能让调用方误判 BF16 不受支持。 预期是注释列出已注册支持的类型。此修复在 x 的类型说明中补充 bfloat16,不改变算子注册或执行行为。 静态核对 Proto、OpDef、tiling 和 README 后确认均已声明 BF16,修正后的注释与注册类型一致。 ## 验证 - 静态核对确认 Proto 注释、注册定义和 OpDef 均包含 BF16;修复后输入类型说明与注册集合一致。 关联 Issue: https://gitcode.com/cann/ops-nn/issues/6840 See merge request: cann/ops-nn!12208 | 23 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
fix cla_gate_quant ge convert bug Co-authored-by: luckdog111<guozhiwei18@huawei.com> # message auto-generated for no-merge-commit merge: !11162 merge cla_ge_bugfix into master fix cla_gate_quant ge convert bug Created-by: luckdog111 Commit-by: luckdog111 Merged-by: cann-robot Description: ## 描述 cla_gate_quant 走 torchair(GE 图)通路问题修复 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6205 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地完成ut测试、ttk各种通路的st测试,torchapi接口通路测试、ge和aclgraph通路测试。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11162 | 1 month ago | |
修改ClippedSwiglu算子torch_extension图模式键值顺序 Co-authored-by: clwsy1<wangsiyang3@huawei.com> # message auto-generated for no-merge-commit merge: !12465 merge dev into master 修改ClippedSwiglu算子torch_extension图模式键值顺序 Created-by: clwsy1 Commit-by: clwsy1 Merged-by: cann-robot Description: ## 描述 修改ClippedSwiglu算子torch_extension图模式键值顺序 ## 关联的Issue [#7197](https://gitcode.com/cann/ops-nn/issues/7197) ## 测试 全量用例测试通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12465 | 21 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days 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 | |
test(softmax/norm): 七算子 TTK 标准 golden(TestSpec 四模式 + third_party) Co-authored-by: zhuzixian-lr<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !12311 merge zhu/softmax-norm-golden-standard into master test(softmax/norm): 七算子 TTK 标准 golden(TestSpec 四模式 + third_party) Created-by: zhuzixian-lr Commit-by: zhuzixian-lr Merged-by: cann-robot Description: Close #7004 ## 变更内容 为 7 个算子的 tests/assets/golden.py 统一升级为 ttk 标准 TestSpec 样式(__spec__ 注册 + Spec 类),并补齐 third_party 三方标杆声明: | 算子 | kernel/GEIR | aclnn | e2e | 说明 | |---|---|---|---|---| | softmax_v2 | 升级 | 升级 aclnnSoftmax | 新增 aten._softmax | 支持 half_to_float(fp16 输入 fp32 输出) | | softmax_grad | 重写(原 TF 实现) | 新增 aclnnSoftmaxBackward | 新增 aten._softmax_backward_data | 输入序跟随各自定义 | | log_softmax_v2 | 升级 | 升级 | 新增 aten.log_softmax | 真值 CPU aten | | log_softmax_grad | 升级 | 新增 aclnnLogSoftmaxBackward | 新增 aten._log_softmax_backward_data | x 为前向输出 | | confusion_softmax_grad | 升级 | —(无 aclnn 接口) | —(无 aten 等价) | 文件头已说明无接口原因 | | group_norm_v2 | 新增 | 新增 aclnnGroupNorm | 新增 aten.native_group_norm | kernel 条目 mean/rstd 为 (N*group,);支持混合精度 | | group_norm_grad | 新增 | 新增 aclnnGroupNormBackward | 新增 aten.native_group_norm_backward | 输出掩码三态 | ## 设计要点 - golden 真值统一 CPU aten 通路;cast 后整体升档(默认 fp32 对齐算子内部累加,Promote 探测 fp64 高精度真值);bf16 经 uint16 位视图无损转换;多轴 fold 归约 - third_party 全部为 torch Impl 类,适配参数名差异(axes/dim、num_groups/group、input_dtype 注入等);混合精度统一升最宽 dtype 计算后 cast 回原 dtype - 掩码输出(*_is_require/outputMask)为 False 时 golden 返回 None,框架按 SUPPRESSED 跳过比对 - 非连续输入全形态支持(stride 视图 / channels-last 转置),group_norm 系在 aten 调用点统一保证连续 - confusion_softmax_grad 无 aclnn 符号(libopapi 无导出)、无 aten 等价算子(mul/sum/sub 融合中间结果),仅注册 kernel/GEIR 条目 ## 验证 - A5(950, Ascend_base cann-9.3.0) 四模式 132/132:kernel 39 / GEIR 39 / aclnn 30 / e2e(NPU) 30(含 fp16/bf16/fp32 全 dtype、half_to_float、混合精度、多组数) - 4070 GPU third_party 94/94(全 Impl × 全 dtype CUDA 执行,含混合精度 cast 路径与掩码) - 非连续输入双模式(stride 加倍 / channels-last)× 全形态等价性验证通过 - pre-commit 全过(ruff/OAT 等),OAT 用 CI 同款 oat-py 1.0.1 + OAT.xml 复验 0 issue See merge request: cann/ops-nn!12311 | 22 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
nn仓121回合主线黄迁蓝 Co-authored-by: qq_52874943<gaomingyuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !10361 merge master into master nn仓121回合主线黄迁蓝 Created-by: qq_52874943 Commit-by: qq_52874943 Merged-by: cann-robot Description: ## 描述 本 PR 为 Erfinv 算子新增 ascend960DT 平台的支持,包括新增该平台下的算子内核二进制配置、在算子定义中注册 ascend960DT 配置,并将该平台加入算子二进制编译配置的 compute_units 列表,使 Erfinv 算子能够在 ascend960DT 上编译运行。 ## 关联的Issue 关联Issue[#6917](https://gitcode.com/cann/ops-nn/issues/6917) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!10361 | 22 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 1 month ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
适配350 Co-authored-by: Hana77<wangtianqi27@huawei.com> # message auto-generated for no-merge-commit merge: !11579 merge master into master 适配350 Created-by: Hana77 Commit-by: Hana77 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 算子适配ascend350 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#6432](https://gitcode.com/cann/ops-nn/issues/6432) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11579 | 1 month ago | |
fix(FusedBiasLeakyReluGrad): modify FusedBiasLeakyReluGrad support list Co-authored-by: chen_chenn<chenchen167@huawei.com> # message auto-generated for no-merge-commit merge: !11941 merge master into master fix(FusedBiasLeakyReluGrad): modify FusedBiasLeakyReluGrad support list Created-by: chen_chenn Commit-by: chen_chenn Merged-by: cann-robot Description: ## 描述 FusedBiasLeakyReluGrad算子资料修改:支持A2, A3 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 ## 文档更新 ops-nn/activation/fused_bias_leaky_relu_grad/README.md ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!11941 | 29 days ago | |
nn仓121回合主线黄迁蓝 Co-authored-by: qq_52874943<gaomingyuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !10361 merge master into master nn仓121回合主线黄迁蓝 Created-by: qq_52874943 Commit-by: qq_52874943 Merged-by: cann-robot Description: ## 描述 本 PR 为 Erfinv 算子新增 ascend960DT 平台的支持,包括新增该平台下的算子内核二进制配置、在算子定义中注册 ascend960DT 配置,并将该平台加入算子二进制编译配置的 compute_units 列表,使 Erfinv 算子能够在 ascend960DT 上编译运行。 ## 关联的Issue 关联Issue[#6917](https://gitcode.com/cann/ops-nn/issues/6917) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!10361 | 22 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
nn仓121回合主线黄迁蓝 Co-authored-by: qq_52874943<gaomingyuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !10361 merge master into master nn仓121回合主线黄迁蓝 Created-by: qq_52874943 Commit-by: qq_52874943 Merged-by: cann-robot Description: ## 描述 本 PR 为 Erfinv 算子新增 ascend960DT 平台的支持,包括新增该平台下的算子内核二进制配置、在算子定义中注册 ascend960DT 配置,并将该平台加入算子二进制编译配置的 compute_units 列表,使 Erfinv 算子能够在 ascend960DT 上编译运行。 ## 关联的Issue 关联Issue[#6917](https://gitcode.com/cann/ops-nn/issues/6917) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!10361 | 22 days ago | |
nn仓121回合主线黄迁蓝 Co-authored-by: qq_52874943<gaomingyuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !10361 merge master into master nn仓121回合主线黄迁蓝 Created-by: qq_52874943 Commit-by: qq_52874943 Merged-by: cann-robot Description: ## 描述 本 PR 为 Erfinv 算子新增 ascend960DT 平台的支持,包括新增该平台下的算子内核二进制配置、在算子定义中注册 ascend960DT 配置,并将该平台加入算子二进制编译配置的 compute_units 列表,使 Erfinv 算子能够在 ascend960DT 上编译运行。 ## 关联的Issue 关联Issue[#6917](https://gitcode.com/cann/ops-nn/issues/6917) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!10361 | 22 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
nn仓121回合主线黄迁蓝 Co-authored-by: qq_52874943<gaomingyuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !10361 merge master into master nn仓121回合主线黄迁蓝 Created-by: qq_52874943 Commit-by: qq_52874943 Merged-by: cann-robot Description: ## 描述 本 PR 为 Erfinv 算子新增 ascend960DT 平台的支持,包括新增该平台下的算子内核二进制配置、在算子定义中注册 ascend960DT 配置,并将该平台加入算子二进制编译配置的 compute_units 列表,使 Erfinv 算子能够在 ascend960DT 上编译运行。 ## 关联的Issue 关联Issue[#6917](https://gitcode.com/cann/ops-nn/issues/6917) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!10361 | 22 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
nn仓121回合主线黄迁蓝 Co-authored-by: qq_52874943<gaomingyuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !10361 merge master into master nn仓121回合主线黄迁蓝 Created-by: qq_52874943 Commit-by: qq_52874943 Merged-by: cann-robot Description: ## 描述 本 PR 为 Erfinv 算子新增 ascend960DT 平台的支持,包括新增该平台下的算子内核二进制配置、在算子定义中注册 ascend960DT 配置,并将该平台加入算子二进制编译配置的 compute_units 列表,使 Erfinv 算子能够在 ascend960DT 上编译运行。 ## 关联的Issue 关联Issue[#6917](https://gitcode.com/cann/ops-nn/issues/6917) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!10361 | 22 days ago | |
heaviside等算子workpace分配空间整改 Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !12164 merge workspace into master heaviside等算子workpace分配空间整改 Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> heaviside等算子将workpace分配空间整改为0 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6902 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码整改 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12164 | 23 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
test(softmax/norm): 七算子 TTK 标准 golden(TestSpec 四模式 + third_party) Co-authored-by: zhuzixian-lr<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !12311 merge zhu/softmax-norm-golden-standard into master test(softmax/norm): 七算子 TTK 标准 golden(TestSpec 四模式 + third_party) Created-by: zhuzixian-lr Commit-by: zhuzixian-lr Merged-by: cann-robot Description: Close #7004 ## 变更内容 为 7 个算子的 tests/assets/golden.py 统一升级为 ttk 标准 TestSpec 样式(__spec__ 注册 + Spec 类),并补齐 third_party 三方标杆声明: | 算子 | kernel/GEIR | aclnn | e2e | 说明 | |---|---|---|---|---| | softmax_v2 | 升级 | 升级 aclnnSoftmax | 新增 aten._softmax | 支持 half_to_float(fp16 输入 fp32 输出) | | softmax_grad | 重写(原 TF 实现) | 新增 aclnnSoftmaxBackward | 新增 aten._softmax_backward_data | 输入序跟随各自定义 | | log_softmax_v2 | 升级 | 升级 | 新增 aten.log_softmax | 真值 CPU aten | | log_softmax_grad | 升级 | 新增 aclnnLogSoftmaxBackward | 新增 aten._log_softmax_backward_data | x 为前向输出 | | confusion_softmax_grad | 升级 | —(无 aclnn 接口) | —(无 aten 等价) | 文件头已说明无接口原因 | | group_norm_v2 | 新增 | 新增 aclnnGroupNorm | 新增 aten.native_group_norm | kernel 条目 mean/rstd 为 (N*group,);支持混合精度 | | group_norm_grad | 新增 | 新增 aclnnGroupNormBackward | 新增 aten.native_group_norm_backward | 输出掩码三态 | ## 设计要点 - golden 真值统一 CPU aten 通路;cast 后整体升档(默认 fp32 对齐算子内部累加,Promote 探测 fp64 高精度真值);bf16 经 uint16 位视图无损转换;多轴 fold 归约 - third_party 全部为 torch Impl 类,适配参数名差异(axes/dim、num_groups/group、input_dtype 注入等);混合精度统一升最宽 dtype 计算后 cast 回原 dtype - 掩码输出(*_is_require/outputMask)为 False 时 golden 返回 None,框架按 SUPPRESSED 跳过比对 - 非连续输入全形态支持(stride 视图 / channels-last 转置),group_norm 系在 aten 调用点统一保证连续 - confusion_softmax_grad 无 aclnn 符号(libopapi 无导出)、无 aten 等价算子(mul/sum/sub 融合中间结果),仅注册 kernel/GEIR 条目 ## 验证 - A5(950, Ascend_base cann-9.3.0) 四模式 132/132:kernel 39 / GEIR 39 / aclnn 30 / e2e(NPU) 30(含 fp16/bf16/fp32 全 dtype、half_to_float、混合精度、多组数) - 4070 GPU third_party 94/94(全 Impl × 全 dtype CUDA 执行,含混合精度 cast 路径与掩码) - 非连续输入双模式(stride 加倍 / channels-last)× 全形态等价性验证通过 - pre-commit 全过(ruff/OAT 等),OAT 用 CI 同款 oat-py 1.0.1 + OAT.xml 复验 0 issue See merge request: cann/ops-nn!12311 | 22 days ago | |
test(softmax/norm): 七算子 TTK 标准 golden(TestSpec 四模式 + third_party) Co-authored-by: zhuzixian-lr<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !12311 merge zhu/softmax-norm-golden-standard into master test(softmax/norm): 七算子 TTK 标准 golden(TestSpec 四模式 + third_party) Created-by: zhuzixian-lr Commit-by: zhuzixian-lr Merged-by: cann-robot Description: Close #7004 ## 变更内容 为 7 个算子的 tests/assets/golden.py 统一升级为 ttk 标准 TestSpec 样式(__spec__ 注册 + Spec 类),并补齐 third_party 三方标杆声明: | 算子 | kernel/GEIR | aclnn | e2e | 说明 | |---|---|---|---|---| | softmax_v2 | 升级 | 升级 aclnnSoftmax | 新增 aten._softmax | 支持 half_to_float(fp16 输入 fp32 输出) | | softmax_grad | 重写(原 TF 实现) | 新增 aclnnSoftmaxBackward | 新增 aten._softmax_backward_data | 输入序跟随各自定义 | | log_softmax_v2 | 升级 | 升级 | 新增 aten.log_softmax | 真值 CPU aten | | log_softmax_grad | 升级 | 新增 aclnnLogSoftmaxBackward | 新增 aten._log_softmax_backward_data | x 为前向输出 | | confusion_softmax_grad | 升级 | —(无 aclnn 接口) | —(无 aten 等价) | 文件头已说明无接口原因 | | group_norm_v2 | 新增 | 新增 aclnnGroupNorm | 新增 aten.native_group_norm | kernel 条目 mean/rstd 为 (N*group,);支持混合精度 | | group_norm_grad | 新增 | 新增 aclnnGroupNormBackward | 新增 aten.native_group_norm_backward | 输出掩码三态 | ## 设计要点 - golden 真值统一 CPU aten 通路;cast 后整体升档(默认 fp32 对齐算子内部累加,Promote 探测 fp64 高精度真值);bf16 经 uint16 位视图无损转换;多轴 fold 归约 - third_party 全部为 torch Impl 类,适配参数名差异(axes/dim、num_groups/group、input_dtype 注入等);混合精度统一升最宽 dtype 计算后 cast 回原 dtype - 掩码输出(*_is_require/outputMask)为 False 时 golden 返回 None,框架按 SUPPRESSED 跳过比对 - 非连续输入全形态支持(stride 视图 / channels-last 转置),group_norm 系在 aten 调用点统一保证连续 - confusion_softmax_grad 无 aclnn 符号(libopapi 无导出)、无 aten 等价算子(mul/sum/sub 融合中间结果),仅注册 kernel/GEIR 条目 ## 验证 - A5(950, Ascend_base cann-9.3.0) 四模式 132/132:kernel 39 / GEIR 39 / aclnn 30 / e2e(NPU) 30(含 fp16/bf16/fp32 全 dtype、half_to_float、混合精度、多组数) - 4070 GPU third_party 94/94(全 Impl × 全 dtype CUDA 执行,含混合精度 cast 路径与掩码) - 非连续输入双模式(stride 加倍 / channels-last)× 全形态等价性验证通过 - pre-commit 全过(ruff/OAT 等),OAT 用 CI 同款 oat-py 1.0.1 + OAT.xml 复验 0 issue See merge request: cann/ops-nn!12311 | 22 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
修正 Mish Proto 功能摘要 Co-authored-by: KaranocaVe<karanocave@qq.com> # message auto-generated for no-merge-commit merge: !12214 merge luna/2026-10-15-ops-nn-mish-proto-brief-function-doc-01 into master 修正 Mish Proto 功能摘要 Created-by: KaranocaVe Commit-by: KaranocaVe Merged-by: cann-robot Description: # 修正 Mish Proto 功能摘要 ## 问题 Mish 的 Proto 摘要误称算子逐元素计算 tanh(x),与算子实际定义不符,容易误导图模式接口使用者。 ## 修改 将摘要改为 Mish 激活函数,并补充 x * tanh(softplus(x)) 公式;不改变算子输入输出或运行逻辑。 ## 验证 - 静态对照:Proto 原摘要写作逐元素 tanh(x);README 公式、Arch35 kernel 的 MishCustom 计算和 torch.nn.Mish() golden 均确认实际算子为 Mish,即 x * tanh(softplus(x))。 关联 Issue: https://gitcode.com/cann/ops-nn/issues/6847 See merge request: cann/ops-nn!12214 | 23 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
nn仓121回合主线黄迁蓝 Co-authored-by: qq_52874943<gaomingyuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !10361 merge master into master nn仓121回合主线黄迁蓝 Created-by: qq_52874943 Commit-by: qq_52874943 Merged-by: cann-robot Description: ## 描述 本 PR 为 Erfinv 算子新增 ascend960DT 平台的支持,包括新增该平台下的算子内核二进制配置、在算子定义中注册 ascend960DT 配置,并将该平台加入算子二进制编译配置的 compute_units 列表,使 Erfinv 算子能够在 ascend960DT 上编译运行。 ## 关联的Issue 关联Issue[#6917](https://gitcode.com/cann/ops-nn/issues/6917) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!10361 | 22 days ago | |
修正 PReluGradUpdate README 输出名 Co-authored-by: KaranocaVe<karanocave@qq.com> # message auto-generated for no-merge-commit merge: !12058 merge fix/2026-10-13-ops-nn-p-relu-grad-update-output-name-doc-01 into master 修正 PReluGradUpdate README 输出名 Created-by: KaranocaVe Commit-by: KaranocaVe Merged-by: cann-robot Description: # 修正 PReluGradUpdate README 输出名 README 参数表将第二个输出写作 updates,而算子定义和融合说明使用 update。将表格改为 update,使文档与实际输出端口名称一致。 针对 README 的定向 pre-commit 检查通过;未运行算子测试,因为改动仅涉及文档。 关联 Issue: https://gitcode.com/cann/ops-nn/issues/6736 See merge request: cann/ops-nn!12058 | 21 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
删除冗余字符、删除多余的数据类型 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11634 merge master into master 删除冗余字符、删除多余的数据类型 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除冗余字符、删除多余的数据类型 ## 关联的Issue [#6409](https://gitcode.com/cann/ops-nn/issues/6409) ## 测试 只涉及md文档改动,已经完成文档语法和链接一致性检查 ## 文档更新 activation/relu6/README.md activation/glu_grad/README.md activation/relu6/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11634 | 1 month ago | |
feat: 增加 ascend350 平台支持(22 个算子) Co-authored-by: wenqi_wu<wenqiwu0628@163.com> # message auto-generated for no-merge-commit merge: !11038 merge adapt-ascend350 into master feat: 增加 ascend350 平台支持(22 个算子) Created-by: wenqi_wu Commit-by: wenqi_wu Merged-by: cann-robot Description: ## 描述 为 22 个算子增加 ascend350(arch35)平台支持,并将 Threshold 的 aclnn 接口 SocVersion BF16 判断重构为 NpuArch 判断。 算子列表(22 个): - activation: Relu6D、SoftplusGrad、Threshold - index: InplaceUpdate、ScatterNonAliasingAdd、SparseSegmentSumGrad - loss: SmoothL1Loss、SmoothL1LossGrad - norm: LpNormUpdate - optim: FusedMulApplyMomentum、FusedMulApplyMomentumExtern、SparseApplyAdadelta、SparseApplyFtrl、SparseApplyFtrlV2、SparseApplyProximalAdagrad、SparseApplyRMSProp - pooling: Dilation2D - quant: ActULQClampMaxGrad、ActULQClampMinGrad、ActsULQInputGrad、GroupedDynamicMxQuantWithDualAxis、SwigluBackwardMxQuantWithDualAxis 改动内容: 1. CMakeLists:SUPPORT_COMPUTE_UNIT 追加 ascend350,SUPPORT_TILING_DIR 追加 arch35; 2. op_host/*_def.cpp:追加 AICore().AddConfig("ascend350", ...); 3. op_kernel/CMakeLists:COMPUTE_UNITS 追加 ascend350; 4. 3 个算子复制 op_host/config/ascend950/*.json 到 ascend350/(ScatterNonAliasingAdd、GroupedDynamicMxQuantWithDualAxis、SwigluBackwardMxQuantWithDualAxis); 5. Threshold op_api/aclnn_threshold.cpp:GetDtypeSupportList 的 SocVersion 判断重构为 NpuArch 判断。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/6131 ## 测试 <!--TODO--> ## 文档更新 无需更新文档 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!11038 | 24 days ago | |
fix(golden): 规范四个 NN 算子的 CPU 真值与 Torch 标杆 Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !11783 merge fix/golden-three-leg-contract-20261012 into master fix(golden): 规范四个 NN 算子的 CPU 真值与 Torch 标杆 Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 修正 INTrainingReduceV2、NormalizeBBox、Relu6Grad、SGD 的 Golden,使其遵循 TTK 三腿比对与 Golden 编写规范。仅修改 4 个 tests/assets/golden.py。 - CPU Promote 直接使用框架下发的浮点类型,不再自行升精度或按输出元信息转换;INTrainingReduceV2 在普通模式按 FP32 计算并输出。 - GPU 标杆统一为 Torch,移除 TF provider。Relu6Grad 的 FP16/BF16 标杆在 FP32 计算后还原输出类型。 - Relu6Grad kernel/GEIR 的 CPU Golden 使用 TensorFlow Select 组合;TF E2E 复用 TTK 默认 CPU 原生 TF 通路及框架 Promote。Torch E2E 标杆保留 TF 乘掩码语义,区别于 kernel 的 Select 语义。 - 保留既有 kernel/GEIR、legacy 注册和全部输出 dtype 的 tolerance。算子实现、Host、Parser 和 TTK 均无改动。 ## 关联的Issue Closes #6534 https://gitcode.com/cann/ops-nn/issues/6534 ## 测试 - Golden CPU 回归 199/199 通过,基线为 32695b8b95ae266a9e5962925a6b9654098789de。 - 同一固定输入运行主线和整改版,另用独立参考校验整改结果;覆盖 FP16/BF16/FP32、Promote FP32/FP64、边界/非有限值、NormalizeBBox 反转布局与空输入、SGD 属性组合及无写回槽的位模式。 - 使用当前工作目录 TTK 的真实 TestSpec loader、参数绑定和 CPU Golden 模块检查注册、完整 dtype tolerance、Relu6Grad TF E2E 的普通及 Promote 默认通路。 - pre-commit run --files <本次4个golden.py>、git diff --check 通过。 - Torch GPU 标杆的 Python 组合在 CPU 执行验证;未执行 NPU/远程 GPU、算子性能或算子精度测试。本轮本地 CI 结果见下文。 预期变化:INTrainingReduceV2 普通模式不再额外 FP64 累加;Relu6Grad Promote 保留 FP64 结果;低精度 Torch 标杆窄回;TF E2E 普通模式不再无条件升精度。Relu6Grad 的 kernel 与原生 TF E2E 在带外 NaN/Inf 梯度下的既有语义差异分别保留,本 PR 不修改算子处理。 ## 文档更新 当前工作目录保留整改报告、主线 Golden 快照、可复现脚本和逐项结果;仓库文档未修改。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 ## 输入输出自查 修复 Relu6Grad 在标量输入下返回 NumPy scalar 的兼容问题,使用 np.asarray(output.numpy()) 保持原来的零维 ndarray,不转换 dtype 或改变数值。新增 legacy/Spec 的签名、返回容器、输出数量/顺序/shape/dtype、输入不被改写、Promote 元信息及真实 TTK 服务端 CPU 参数绑定检查。默认 TF E2E 标量输出另经真实 TTK 比对器验证兼容。 两仓累计 Golden CPU 自查 **447/447** 通过,本仓 **199/199**。未执行 NPU/远程 GPU、算子性能或算子精度测试。当前受检 HEAD:bc343e1d4ce2903950004650db77537d86bc4f4d。 ## 本地 CI 统一入口 /workspace/CI-skills/ci_local_check.sh 定向检查通过;pre-commit、隔离 oat-py 1.0.3、Ascend 950 与 A2(ascend910b)定向 package/UT 已通过。构建并行度最多 8,使用任务目录内 CANN_Revise 的 0923 Toolkit/ops。 受测 HEAD:bc343e1d4ce2903950004650db77537d86bc4f4d;rebase 主仓 master:6a9298a10aed1c98836aa3c93a96c2ac6b819ccc;本轮 CI 基线快照:2c28f2ba5426ac80347ccedc6ffa3f5a92f0db4c。每仓相对 rebase 基点仅 1 个提交,squash 前后完整 diff 和 tree 一致,7 个 Golden 内容不变。 覆盖边界:下列定向 UT 阶段未执行用例(0 项或仅构建目标):opapi/ascend950、opkernel/ascend950、opapi/ascend910b、opkernel/ascend910b。不将这些阶段的构建通过计为用例覆盖。 线上 CI 触发凭据:https://gitcode.com/cann/ops-nn/merge_requests/11783#note_193365204。仅记录已触发请求/现有任务,不表示线上 CI 已通过。 See merge request: cann/ops-nn!11783 | 30 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
[selu] 移除aclnn接口CanCast过度拦截并更正看护集混合dtype用例命名 Co-authored-by: dengguojie<dengguojie@huawei.com> # message auto-generated for no-merge-commit merge: !12374 merge hardening/Selu-cast-fix into master [selu] 移除aclnn接口CanCast过度拦截并更正看护集混合dtype用例命名 Created-by: dengguojie Commit-by: dengguojie Merged-by: cann-robot Description: ## 背景 PR #11931 合入的 OP_CHECK_RESULT_DTYPE_CAST_FAILED 静态 CanCast 检查属过度拦截: CanCast 静态判断表不代表 l0::Cast 运行时真实能力。实测 exc_format_005/007(self=float16, out=int32)移除该行后恢复执行,输出 binary_equal 100% PASS;dump 级全元素佐证输出==trunc(golden_f16)(005: 2,358,720/2,358,720;007: 61,034,400/61,034,400,torch copy_ 截断语义)。 ## 改动清单(4 文件,+6/-22) | 文件 | 改动 | |---|---| | op_api/aclnn_selu.cpp | 删 CheckDtypeValid 中 CanCast 1 行(恢复两条 NOT_SUPPORT 支持表校验,5 处判空 CHECK_RET 保留) | | docs/aclnnSelu&aclnnInplaceSelu.md | 161002 错误码表删除第③行"参数out的数据类型不是self可转换的。",rowspan 3→2(该拦截已不存在) | | tests/ut/op_host/op_api/test_aclnn_selu.cpp | 删 test_selu_dtype_not_castable;test_selu_mixed_dtype_cast 增 FLOAT→INT32 合法组合(共 5 组断言 SUCCESS) | | tests/st/arch35/ttk_aclnn_selu_st.csv | 看护集 005/007 更名 exc_format→mixed_dtype(与 006/008~011 命名一致),remark 改"混合 dtype f16→i32; l0::Cast 运行时转换",dtype/shape 等参数零变化 | ## 测试证据 - 三层核验: build --pkg SUCCESS→.run 安装 SUCCESS→verify_install rc=0(安装产物新于源码)→binpath rc=0(Selu kernel 落 vendors/hardening_nn) - 定向 117 条回归(Ascend950PR,cann-9.2.0): 37 PASS+73 FAIL+7 GEN,与 R5 基线逐条对账零迁移(005/007[新名]维持 PASS,CSV 改名不影响执行,冒烟佐证) - 冒烟: L1_aclnnSelu_mixed_dtype_005/007 各 1/1 PASS(--pc 1 --compare mixed) - UT: nn_op_api_ut 20/20 PASSED(含 test_selu_mixed_dtype_cast FLOAT→INT32)+nn_op_host_ut 19/19 PASSED - pre-commit 12 hooks 全过(OAT 127 warning 属环境缺 oat 包,hook Passed) ## 关联 Refs #6674(移除口径: 期望行为=删除文档第③行、不补 CanCast 防护、混合 dtype UT 断言 SUCCESS) 基于 #11931 已合入内容(相对 upstream master 纯增量 diff,恰 4 文件)。 See merge request: cann/ops-nn!12374 | 22 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
修正 SigmoidGrad README 的数据类型列表 Co-authored-by: KaranocaVe<karanocave@qq.com> # message auto-generated for no-merge-commit merge: !12184 merge fix/2026-10-14-ops-nn-sigmoid-grad-dtype-support-doc-01-cpu-agent-01 into master 修正 SigmoidGrad README 的数据类型列表 Created-by: KaranocaVe Commit-by: KaranocaVe Merged-by: cann-robot Description: # 修正 SigmoidGrad README 的数据类型列表 SigmoidGrad README 将 DOUBLE、COMPLEX64 和 COMPLEX128 列为支持类型,但算子注册仅接受 FLOAT16、BFLOAT16 和 FLOAT,tiling 也只为这三种同类型输入组合提供有效分派。 本修改更正三个参数的数据类型列表及产品说明,使文档与算子注册一致。 验证:核对三个 OpDef 类型白名单、tiling 分派和 kernel 类型实现;git apply --check 通过。 关联 Issue: https://gitcode.com/cann/ops-nn/issues/6819 See merge request: cann/ops-nn!12184 | 21 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
feat: loss/optim/activation/index/quant/conv 34个算子适配ascend960dt Co-authored-by: caorenlei<caorenlei@huawei.com> # message auto-generated for no-merge-commit merge: !11923 merge 1009 into master feat: loss/optim/activation/index/quant/conv 34个算子适配ascend960dt Created-by: caorenlei Commit-by: caorenlei Merged-by: cann-robot Description: ## 描述 ### 改动原因 v121(ascend960dt/DAV_9201)平台算子适配:责任田内 34 个算子需要在 ascend960dt 平台提供支持。 ### 改动方法(注册级适配为主,2 个算子特殊处理) - **注册链路(全部 34 个算子)**: *_def.cpp 追加 AddConfig("ascend960dt");新增 op_host/config/ascend960dt/(binary.json 与 ascend950 对齐 + simplified_key.ini);算子级 CMakeLists(SUPPORT_COMPUTE_UNIT/SUPPORT_TILING_DIR)与 op_kernel/CMakeLists(COMPUTE_UNITS)追加 ascend960dt 编译目标,修复 960dt 二进制编译时 tiling 库缺失问题(NLLLoss Jenkins 报错根因);ascendc_config.json 追加对应条目 - **apply_ftrl(特例)**:kernel/tiling 整体换用 v121 参考实现(旧式类实现 + 按 dtype 的 tiling key),替换 master 的 atvoss DAG/ElementwiseSch 实现(atvoss 框架未在 960dt 验证) - **deformable_offsets(_grad)**:kernel 零改动,仅注册级适配 - **swiglu_mx_quant(_with_dual_axis)**:入口溢出模式保存/恢复的 #if __NPU_ARCH__ == 3510 扩展为 3510 || 9201;swiglu_mx_quant_with_dual_axis kernel 体内溢出模式置位同步扩展,保证 960dt 数值行为与 950 一致 - **binary_cross_entropy_grad 等 6 算子**:kernel 由 atvoss 纯模板覆盖为 RegBase 写法(v121 参考,Reg:: 命名约定) 涉及算子(34):loss 19 个(binary_cross_entropy(_grad)、cross_entropy_loss(_grad)、ctc_loss_v2(_grad)、kl_div_loss_grad、l1_loss_grad、l2_loss、lp_loss、mse_loss(_grad)、nll_loss(_grad)、sigmoid_cross_entropy_with_logits、smooth_l1_loss_v2(_grad_v2)、softmax/sparse_softmax_cross_entropy_with_logits)、optim 11 个(apply_adam(_d/_w/_w_v2)、apply_adagrad_d、apply_gradient_descent、apply_ftrl、adam_apply_one(_with_decay/_assign))、index 1 个(unique_consecutive)、conv 2 个(deformable_offsets(_grad))、quant 2 个(swiglu_mx_quant(_with_dual_axis)) ## 关联的Issue - #6806 ## 测试 - bash build.sh --pkg --soc=ascend950 --jit --ops=<34算子> 编译出包通过 - ttk(Ascend950PR_9579)精度回归:每算子小规模用例分块串行执行,34/34 全 PASS(precision/perf/oob),950 零回归 - ascend960dt 二进制编译需 Jenkins 环境验证(本地工具链 ASC_VALID_SOC_LIST 不含 960dt) ## 文档更新 无 ## 类型标签 - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!11923 | 23 days ago | |
test(softmax/norm): 七算子 TTK 标准 golden(TestSpec 四模式 + third_party) Co-authored-by: zhuzixian-lr<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !12311 merge zhu/softmax-norm-golden-standard into master test(softmax/norm): 七算子 TTK 标准 golden(TestSpec 四模式 + third_party) Created-by: zhuzixian-lr Commit-by: zhuzixian-lr Merged-by: cann-robot Description: Close #7004 ## 变更内容 为 7 个算子的 tests/assets/golden.py 统一升级为 ttk 标准 TestSpec 样式(__spec__ 注册 + Spec 类),并补齐 third_party 三方标杆声明: | 算子 | kernel/GEIR | aclnn | e2e | 说明 | |---|---|---|---|---| | softmax_v2 | 升级 | 升级 aclnnSoftmax | 新增 aten._softmax | 支持 half_to_float(fp16 输入 fp32 输出) | | softmax_grad | 重写(原 TF 实现) | 新增 aclnnSoftmaxBackward | 新增 aten._softmax_backward_data | 输入序跟随各自定义 | | log_softmax_v2 | 升级 | 升级 | 新增 aten.log_softmax | 真值 CPU aten | | log_softmax_grad | 升级 | 新增 aclnnLogSoftmaxBackward | 新增 aten._log_softmax_backward_data | x 为前向输出 | | confusion_softmax_grad | 升级 | —(无 aclnn 接口) | —(无 aten 等价) | 文件头已说明无接口原因 | | group_norm_v2 | 新增 | 新增 aclnnGroupNorm | 新增 aten.native_group_norm | kernel 条目 mean/rstd 为 (N*group,);支持混合精度 | | group_norm_grad | 新增 | 新增 aclnnGroupNormBackward | 新增 aten.native_group_norm_backward | 输出掩码三态 | ## 设计要点 - golden 真值统一 CPU aten 通路;cast 后整体升档(默认 fp32 对齐算子内部累加,Promote 探测 fp64 高精度真值);bf16 经 uint16 位视图无损转换;多轴 fold 归约 - third_party 全部为 torch Impl 类,适配参数名差异(axes/dim、num_groups/group、input_dtype 注入等);混合精度统一升最宽 dtype 计算后 cast 回原 dtype - 掩码输出(*_is_require/outputMask)为 False 时 golden 返回 None,框架按 SUPPRESSED 跳过比对 - 非连续输入全形态支持(stride 视图 / channels-last 转置),group_norm 系在 aten 调用点统一保证连续 - confusion_softmax_grad 无 aclnn 符号(libopapi 无导出)、无 aten 等价算子(mul/sum/sub 融合中间结果),仅注册 kernel/GEIR 条目 ## 验证 - A5(950, Ascend_base cann-9.3.0) 四模式 132/132:kernel 39 / GEIR 39 / aclnn 30 / e2e(NPU) 30(含 fp16/bf16/fp32 全 dtype、half_to_float、混合精度、多组数) - 4070 GPU third_party 94/94(全 Impl × 全 dtype CUDA 执行,含混合精度 cast 路径与掩码) - 非连续输入双模式(stride 加倍 / channels-last)× 全形态等价性验证通过 - pre-commit 全过(ruff/OAT 等),OAT 用 CI 同款 oat-py 1.0.1 + OAT.xml 复验 0 issue See merge request: cann/ops-nn!12311 | 22 days ago | |
softmax_grad_ext支持RA/ARA Co-authored-by: ASCEND222<dongfei16@h-partners.com> # message auto-generated for no-merge-commit merge: !11064 merge master into master softmax_grad_ext支持RA/ARA Created-by: ASCEND222 Commit-by: ASCEND222 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> softmax_grad_ext支持RA/ARA ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6392 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11064 | 21 days ago | |
test(softmax/norm): 七算子 TTK 标准 golden(TestSpec 四模式 + third_party) Co-authored-by: zhuzixian-lr<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !12311 merge zhu/softmax-norm-golden-standard into master test(softmax/norm): 七算子 TTK 标准 golden(TestSpec 四模式 + third_party) Created-by: zhuzixian-lr Commit-by: zhuzixian-lr Merged-by: cann-robot Description: Close #7004 ## 变更内容 为 7 个算子的 tests/assets/golden.py 统一升级为 ttk 标准 TestSpec 样式(__spec__ 注册 + Spec 类),并补齐 third_party 三方标杆声明: | 算子 | kernel/GEIR | aclnn | e2e | 说明 | |---|---|---|---|---| | softmax_v2 | 升级 | 升级 aclnnSoftmax | 新增 aten._softmax | 支持 half_to_float(fp16 输入 fp32 输出) | | softmax_grad | 重写(原 TF 实现) | 新增 aclnnSoftmaxBackward | 新增 aten._softmax_backward_data | 输入序跟随各自定义 | | log_softmax_v2 | 升级 | 升级 | 新增 aten.log_softmax | 真值 CPU aten | | log_softmax_grad | 升级 | 新增 aclnnLogSoftmaxBackward | 新增 aten._log_softmax_backward_data | x 为前向输出 | | confusion_softmax_grad | 升级 | —(无 aclnn 接口) | —(无 aten 等价) | 文件头已说明无接口原因 | | group_norm_v2 | 新增 | 新增 aclnnGroupNorm | 新增 aten.native_group_norm | kernel 条目 mean/rstd 为 (N*group,);支持混合精度 | | group_norm_grad | 新增 | 新增 aclnnGroupNormBackward | 新增 aten.native_group_norm_backward | 输出掩码三态 | ## 设计要点 - golden 真值统一 CPU aten 通路;cast 后整体升档(默认 fp32 对齐算子内部累加,Promote 探测 fp64 高精度真值);bf16 经 uint16 位视图无损转换;多轴 fold 归约 - third_party 全部为 torch Impl 类,适配参数名差异(axes/dim、num_groups/group、input_dtype 注入等);混合精度统一升最宽 dtype 计算后 cast 回原 dtype - 掩码输出(*_is_require/outputMask)为 False 时 golden 返回 None,框架按 SUPPRESSED 跳过比对 - 非连续输入全形态支持(stride 视图 / channels-last 转置),group_norm 系在 aten 调用点统一保证连续 - confusion_softmax_grad 无 aclnn 符号(libopapi 无导出)、无 aten 等价算子(mul/sum/sub 融合中间结果),仅注册 kernel/GEIR 条目 ## 验证 - A5(950, Ascend_base cann-9.3.0) 四模式 132/132:kernel 39 / GEIR 39 / aclnn 30 / e2e(NPU) 30(含 fp16/bf16/fp32 全 dtype、half_to_float、混合精度、多组数) - 4070 GPU third_party 94/94(全 Impl × 全 dtype CUDA 执行,含混合精度 cast 路径与掩码) - 非连续输入双模式(stride 加倍 / channels-last)× 全形态等价性验证通过 - pre-commit 全过(ruff/OAT 等),OAT 用 CI 同款 oat-py 1.0.1 + OAT.xml 复验 0 issue See merge request: cann/ops-nn!12311 | 22 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
feat: 增加 ascend350 平台支持(22 个算子) Co-authored-by: wenqi_wu<wenqiwu0628@163.com> # message auto-generated for no-merge-commit merge: !11038 merge adapt-ascend350 into master feat: 增加 ascend350 平台支持(22 个算子) Created-by: wenqi_wu Commit-by: wenqi_wu Merged-by: cann-robot Description: ## 描述 为 22 个算子增加 ascend350(arch35)平台支持,并将 Threshold 的 aclnn 接口 SocVersion BF16 判断重构为 NpuArch 判断。 算子列表(22 个): - activation: Relu6D、SoftplusGrad、Threshold - index: InplaceUpdate、ScatterNonAliasingAdd、SparseSegmentSumGrad - loss: SmoothL1Loss、SmoothL1LossGrad - norm: LpNormUpdate - optim: FusedMulApplyMomentum、FusedMulApplyMomentumExtern、SparseApplyAdadelta、SparseApplyFtrl、SparseApplyFtrlV2、SparseApplyProximalAdagrad、SparseApplyRMSProp - pooling: Dilation2D - quant: ActULQClampMaxGrad、ActULQClampMinGrad、ActsULQInputGrad、GroupedDynamicMxQuantWithDualAxis、SwigluBackwardMxQuantWithDualAxis 改动内容: 1. CMakeLists:SUPPORT_COMPUTE_UNIT 追加 ascend350,SUPPORT_TILING_DIR 追加 arch35; 2. op_host/*_def.cpp:追加 AICore().AddConfig("ascend350", ...); 3. op_kernel/CMakeLists:COMPUTE_UNITS 追加 ascend350; 4. 3 个算子复制 op_host/config/ascend950/*.json 到 ascend350/(ScatterNonAliasingAdd、GroupedDynamicMxQuantWithDualAxis、SwigluBackwardMxQuantWithDualAxis); 5. Threshold op_api/aclnn_threshold.cpp:GetDtypeSupportList 的 SocVersion 判断重构为 NpuArch 判断。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/6131 ## 测试 <!--TODO--> ## 文档更新 无需更新文档 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!11038 | 24 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
feat: SoftplusV2Grad 算子适配 ascend960dt/ascend960pr 平台 Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !12375 merge f1020 into master feat: SoftplusV2Grad 算子适配 ascend960dt/ascend960pr 平台 Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 为 SoftplusV2Grad 算子新增 ascend960dt、ascend960pr 平台的支持,复用已有 arch35 tiling 与 kernel 实现。 ### 改动原因 SoftplusV2Grad 此前仅注册 ascend950 平台,SUPPORT_COMPUTE_UNIT、AICore 配置与 kernel 编译单元均未包含 ascend960dt / ascend960pr,导致新平台无法完成算子注册、编译与下发。 ### 改动方法 - activation/softplus_v2_grad/CMakeLists.txt:SUPPORT_COMPUTE_UNIT 由 ascend950 扩展为 ascend950、ascend960dt、ascend960pr;SUPPORT_TILING_DIR 对应增加两个 arch35,即新平台沿用 arch35 tiling 目录。 - activation/softplus_v2_grad/op_host/softplus_v2_grad_def.cpp:新增 AICore().AddConfig("ascend960dt", aicoreConfig) 与 AICore().AddConfig("ascend960pr", aicoreConfig),沿用已有的 aicoreConfig(DynamicShape 支持、opFile.value 为 softplus_v2_grad)。 - activation/softplus_v2_grad/op_kernel/CMakeLists.txt:add_kernel_sources 的 COMPUTE_UNITS 由 ascend950 扩展为 ascend950 ascend960dt ascend960pr,即 arch35/softplus_v2_grad.cpp 同时为新平台编译,保持 AUTO_SYNC false。 算子接口未变更:输入 input_gradients、input_features,输出 output_backprops,数据类型为 float32 / float16 / bfloat16,格式 ND;属性 beta(默认 1.0)、threshold(默认 20.0)均为可选。 ## 关联的Issue - #6945 ## 测试 本次 PR 未包含测试代码与测试结果说明。变更涉及新平台的算子注册与 kernel 编译单元,建议在 ascend960dt、ascend960pr 环境完成算子泛化与二级冒烟验证后补充结果。 ## 文档更新 无(未修改文档)。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!12375 | 22 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
适配350 Co-authored-by: Hana77<wangtianqi27@huawei.com> # message auto-generated for no-merge-commit merge: !11579 merge master into master 适配350 Created-by: Hana77 Commit-by: Hana77 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 算子适配ascend350 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#6432](https://gitcode.com/cann/ops-nn/issues/6432) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11579 | 1 month ago | |
修改产品名 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !11017 merge master into master 修改产品名 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 修改quant和activation文件夹中的md文档涉及的产品名称 ## 关联的Issue [#6056](https://gitcode.com/cann/ops-nn/issues/6056) ## 测试 已经完成文档语法和链接一致性检测 ## 文档更新 quant和activation文件夹中的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11017 | 1 month ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
fix(pooling):整改David tiling侧无用workspace Co-authored-by: qq_52056150<wangshuo179@huawei.com> # message auto-generated for no-merge-commit merge: !12364 merge fix/dav3510-pooling-ws into master fix(pooling):整改David tiling侧无用workspace Created-by: qq_52056150 Commit-by: qq_52056150 Merged-by: cann-robot Description: ## 描述 将 workspace 整改范围从 DAV_3510 扩展到本 PR 实际支持的 RegBase 目标平台:Ascend950/Ascend350/ascend960dt/mc62(按算子实际支持范围)。直接复用 common/inc/op_host/tiling_util.h 的 IsRegbaseSocVersion/IsRegbaseNpuArch,不修改公共接口;已有 context 使用 IsRegbaseSocVersion(context),已有 PlatformAscendC 使用 IsRegbaseNpuArch(ascendcPlatform.GetCurNpuArch())。保留 MaxPoolGrad SIMT、MaxPool3DWithArgmaxV2 多核协作、MaxPoolWithArgmaxV3 MulCore 及 legacy/arch22 路径的必要 workspace,A2/A3 等非目标路径保持原行为。AvgPool3DGrad 统一使用公共 RegBase 判断,未扩展其平台注册或支持矩阵。本 PR 不含 960PR/DAV_9202,不新增平台注册或 kernel 支持。 规范 AdaptiveAvgPool2d kernel 入口:adaptive_avg_pool2d_apt.cpp -> adaptive_avg_pool2d.cpp,并同步 opFile.value 与文件头。 ## 关联的Issue #6704 https://gitcode.com/cann/ops-nn/issues/6704 ## 测试 本地批跑门槛、白盒用例及 David 冒烟通过。 ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!12364 | 22 days ago | |
swiglu_group_quant支持ascend960平台 Co-authored-by: taochangmin<taochangmin@huawei.com> # message auto-generated for no-merge-commit merge: !12115 merge swiglu_to_blue into master swiglu_group_quant支持ascend960平台 Created-by: taochangmin Commit-by: taochangmin Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> swiglu_group_quant支持ascend960平台,新增ascend960平台编译配置文件,新增hifloat4量化模式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6849 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ascend950和ascend960平台编译验证通过;950冒烟通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12115 | 23 days ago | |
activation算子支持ascend960dt Co-authored-by: wang-shilong32<wangshilong23@huawei.com> # message auto-generated for no-merge-commit merge: !12245 merge feat/op960dt-5-activation into master activation算子支持ascend960dt Created-by: wang-shilong32 Commit-by: wang-shilong32 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> activation算子支持ascend960dt: swiglu_group_grad/swiglu_group_quant_grad ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6872 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 冒烟测试,本地编译验证。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12245 | 23 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
修正 Swish README 中 Atlas A2 的产品支持标记 Co-authored-by: KaranocaVe<karanocave@qq.com> # message auto-generated for no-merge-commit merge: !12212 merge fix/2026-10-15-ops-nn-swish-atlas-a2-platform-doc-01 into master 修正 Swish README 中 Atlas A2 的产品支持标记 Created-by: KaranocaVe Commit-by: KaranocaVe Merged-by: cann-robot Description: # 修正 Swish README 中 Atlas A2 的产品支持标记 ## 变更 activation/swish/README.md 将 Atlas A2 系列产品的支持标记由 √ 改为 ×。Swish Host OpDef 仅注册 ascend950 和 ascend350,构建目标也未包含对应的 ascend910b,因此 README 不应将 Atlas A2 标记为支持。 ## 验证 - 验证结果:Swish Host OpDef 仅注册 ascend950、ascend350,CMake 构建目标不含 ascend910b,而 Atlas A2 的 README 行标为支持。 - 验证结果:补丁只把 README 的 Atlas A2 标记由 √ 改为 ×,没有改动算子实现。 - 未运行构建或设备用例;结论限于文档与注册/构建目标的一致性。 关联 Issue: https://gitcode.com/cann/ops-nn/issues/6844 See merge request: cann/ops-nn!12212 | 21 days ago | |
DynamicQuant等22个算子支持Ascend960dt Co-authored-by: TH_HW<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !11335 merge backBlue into master DynamicQuant等22个算子支持Ascend960dt Created-by: TH_HW Commit-by: TH_HW Merged-by: cann-robot Description: ## 描述 (+17812 / -2151)为一批 ops-nn 算子补齐 **Ascend 960DT(NPU Arch 9201)** 平台支持,并重构 GeGluV2 arch35 内核、为 Erfinv 增加 inplace 通路。 主要改动如下: 1. **Ascend960DT 平台适配(22 个算子)** - activation:Relu、ReluV2、ReluGrad、ReluGradV2、Sigmoid、SigmoidGrad、PRelu、PReluGradUpdate、SiluGrad、Softplus、Swish、SwishGrad、SwiGluGrad、GeGluV2。 - index:MapIndex、SparseSlice、QuantUpdateScatter。 - quant:Quantize、DynamicQuant、DynamicQuantV2、AntiMxQuant、GroupedDynamicMxQuant。 - 具体做法:CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt;*_def.cpp 增加 AddConfig("ascend960dt", ...);aclnn/op_api 与 infershape 增加 NpuArch::DAV_9201 / Ascend960DT 分支;kernel 增加 __NPU_ARCH__ == 9201 分支;新增 op_host/config/ascend960dt/ 下的算子二进制配置(共 22 个,如 relu_binary.json、p_relu.json 等);scripts/kernel/binary_config/ascendc_config.json 为相关算子登记 ascend960dt 计算单元与编译选项。 2. **GeGluV2 arch35 内核重构** - 将 arch35 模板按 erf / tanh 两类拆分,并补齐 align、align_last_axis_big、vreduce × fp16/bf16/fp32 变体,统一命名 *_arch35.h。 - tiling 新增 RegBase per-template per-element UB 预算模型(GetRegbasePerElem),并支持 ascend960dt。 - aclnnGeGlu 参数校验重构(CheckShape 支持 0D 输入与 dim 范围校验),新增 ST 用例(all_aclnnGeGlu(.V3).json)并调整 UT。 3. **Erfinv 支持 inplace**:新增 inplace dtype 支持列表与校验(GetInplaceDtypeSupportList / CheckInplaceDtypeValid),并补充 op_api UT。 4. **内核与接口修复** - SparseSlice:9201 路径改用 SetValue 写入 sliceStart/sliceEnd(替代 DataCopy),Reg::Reduce 使用完整命名空间限定。 - QuantUpdateScatter:9201 增加 FLOAT_OVERFLOW_MODE_CTRL 保护。 - ReluV2 infershape:Ascend960DT 不支持 NC1HWC0,UINT1 支持列表加入 Ascend960DT。 - DynamicQuant / Mx 量化:9201 上 fp8 scale 改为 bf16 乘法后再 cast 到 e8m0。 5. **代码规范**:统一 License 头注释格式、补齐文件末尾换行、调整 quant 系列 UT 的 CMakeLists;新增 MapIndex、SparseSlice 的 GE IR 图模式示例。 ## 关联的Issue 无。 ## 测试 - 新增 GeGluV2 ST 用例与 Erfinv inplace UT,补充/调整 GeGluV2 相关 UT。 - 新增 MapIndex / SparseSlice 的 GE IR 示例(examples/test_geir_*.cpp)。 - 通过 ascend960dt 编译与静态检查。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 新特性 - [ ] Bug修复 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!11335 | 22 days ago | |
feat: 增加 ascend350 平台支持(22 个算子) Co-authored-by: wenqi_wu<wenqiwu0628@163.com> # message auto-generated for no-merge-commit merge: !11038 merge adapt-ascend350 into master feat: 增加 ascend350 平台支持(22 个算子) Created-by: wenqi_wu Commit-by: wenqi_wu Merged-by: cann-robot Description: ## 描述 为 22 个算子增加 ascend350(arch35)平台支持,并将 Threshold 的 aclnn 接口 SocVersion BF16 判断重构为 NpuArch 判断。 算子列表(22 个): - activation: Relu6D、SoftplusGrad、Threshold - index: InplaceUpdate、ScatterNonAliasingAdd、SparseSegmentSumGrad - loss: SmoothL1Loss、SmoothL1LossGrad - norm: LpNormUpdate - optim: FusedMulApplyMomentum、FusedMulApplyMomentumExtern、SparseApplyAdadelta、SparseApplyFtrl、SparseApplyFtrlV2、SparseApplyProximalAdagrad、SparseApplyRMSProp - pooling: Dilation2D - quant: ActULQClampMaxGrad、ActULQClampMinGrad、ActsULQInputGrad、GroupedDynamicMxQuantWithDualAxis、SwigluBackwardMxQuantWithDualAxis 改动内容: 1. CMakeLists:SUPPORT_COMPUTE_UNIT 追加 ascend350,SUPPORT_TILING_DIR 追加 arch35; 2. op_host/*_def.cpp:追加 AICore().AddConfig("ascend350", ...); 3. op_kernel/CMakeLists:COMPUTE_UNITS 追加 ascend350; 4. 3 个算子复制 op_host/config/ascend950/*.json 到 ascend350/(ScatterNonAliasingAdd、GroupedDynamicMxQuantWithDualAxis、SwigluBackwardMxQuantWithDualAxis); 5. Threshold op_api/aclnn_threshold.cpp:GetDtypeSupportList 的 SocVersion 判断重构为 NpuArch 判断。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/6131 ## 测试 <!--TODO--> ## 文档更新 无需更新文档 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!11038 | 24 days ago | |
删除源码链接 Co-authored-by: fwx1169505<fengying27@h-partners.com> # message auto-generated for no-merge-commit merge: !12106 merge master into master 删除源码链接 Created-by: fengying555682 Commit-by: fwx1169505 Merged-by: cann-robot Description: ## 描述 删除源码链接 ## 关联的Issue [#6769](https://gitcode.com/cann/ops-nn/issues/6769) ## 测试 仅涉及文档修改,已经测试md文档语法 ## 文档更新 activation和quant目录下的md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12106 | 24 days ago | |
feat: ThresholdV2 与 ConcatOffset 算子适配 ascend350/ascend960pr/ascend960dt Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !11280 merge f0928 into master feat: ThresholdV2 与 ConcatOffset 算子适配 ascend350/ascend960pr/ascend960dt Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 为 ThresholdV2(activation/threshold_v2)与 ConcatOffset(index/concat_offset)两个算子扩展芯片支持,新增适配 ascend350、ascend960pr、ascend960dt 产品型号。 **改动原因**:新芯片需要在算子定义、编译单元与 tiling 配置中显式声明支持,否则算子不会为这些芯片生成 kernel 及二进制配置。 **改动方法**: - activation/threshold_v2 - CMakeLists.txt:SUPPORT_COMPUTE_UNIT 新增 ascend350、ascend960pr、ascend960dt,SUPPORT_TILING_DIR 统一映射到 arch35。 - op_host/threshold_v2_def.cpp:为 ascend350、ascend960pr、ascend960dt 注册 AICore().AddConfig。 - op_kernel/CMakeLists.txt:COMPUTE_UNITS 补充 ascend350 ascend960pr ascend960dt。 - 新增 op_host/config/{ascend350,ascend960pr,ascend960dt}/threshold_v2_binary.json(沿用 arch35/ascend950 tiling 配置)。 - index/concat_offset - CMakeLists.txt:SUPPORT_COMPUTE_UNIT 新增 ascend960pr、ascend960dt(ascend350 原已支持),SUPPORT_TILING_DIR 同步补齐为 4 个 arch35。 - op_host/concat_offset_def.cpp:为 ascend960pr、ascend960dt 注册 AICore().AddConfig。 - 新增 op_kernel/CMakeLists.txt,声明 ascend950 ascend350 ascend960pr ascend960dt 编译单元。 - 新增 op_host/config/{ascend960pr,ascend960dt}/concat_offset_binary.json。 ## 关联的Issue - #6258 https://gitcode.com/cann/ops-nn/issues/6258 ## 测试 - 本 PR 为芯片适配配置变更,未新增/修改测试用例。 ## 文档更新 - 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!11280 | 1 month 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: !364 merge license4 into master Format update: Adjusted the license description format in all relevant files. Created-by: jiangqi2025 Commit-by: jiangqi Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!364 | 10 months ago | |
新增算子cla_gate_quant Co-authored-by: RoyHys<huangyuqian6@huawei.com> # message auto-generated for no-merge-commit merge: !10510 merge claGate into master 新增算子cla_gate_quant Created-by: luckdog111 Commit-by: RoyHys Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增算子。 实现CLA(Cross-Layer Attention)两路head-wise gate加权合并与动态块量化的组合计算。先对Global/CLA分支与Local/SWA分支的Attention输出分别施加Sigmoid门控并加权合并,再将合并结果reshape为[T, K](K = N*D)进行基于块的动态量化,输出低精度的FP8/FP4张量和对应的E8M0缩放因子。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/5970 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地完成ut测试、ttk各种通路的st测试,torchapi接口通路测试和哥、aclgraph通路测试。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 新增算子接口文档aclnnClaGateQuant.md、torchapi_cla_gate_quant.md、README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!10510 | 1 month ago |
| Files | Last commit | Last update |
|---|---|---|
| 21 days ago | ||
| 21 days ago | ||
| 23 days ago | ||
| 24 days ago | ||
| 1 month ago | ||
| 21 days ago | ||
| 24 days ago | ||
| 4 months ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 1 month ago | ||
| 24 days ago | ||
| 1 month ago | ||
| 29 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 24 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 22 days ago | ||
| 23 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 24 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 24 days ago | ||
| 23 days ago | ||
| 24 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 21 days ago | ||
| 22 days ago | ||
| 1 month ago | ||
| 24 days ago | ||
| 30 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 22 days ago | ||
| 21 days ago | ||
| 22 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 23 days ago | ||
| 22 days ago | ||
| 21 days ago | ||
| 22 days ago | ||
| 22 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 22 days ago | ||
| 24 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 22 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 22 days ago | ||
| 23 days ago | ||
| 23 days ago | ||
| 24 days ago | ||
| 21 days ago | ||
| 22 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 1 month ago | ||
| 10 months ago | ||
| 1 month ago |