| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
## 描述 新增 Bias 算子(Ascend950/arch35)的三段式 SIMD 实现。Bias 算子按照 axis、num_axes 和 bias_from_blob 属性推导 bias 的逻辑广播形状,计算 y = x + broadcast(bias)。对标 canndev 内置同名 Bias 算子,本次在 ops-math 目标仓新增 A5 路径,不修改 A2 既有实现。 主要改动: - 新增 math/bias/ 算子目录,包含 arch35 RegBase kernel(手写 CopyIn/Compute/CopyOut 三段式)、Broadcast tiling、OpDef/InferShape/InferDataType、binary config、GEIR example、TTK manifest、golden、UT - fp16/bf16 走 Cast→FP32 Add→Cast 回输出 dtype 路径,fp32 走直接 Add 路径 - 支持 dtype:float16/float32/bfloat16(同 dtype),format:ND,rank 1~8 - 支持 attrs:axis(含负值归一化)、num_axes(-1/0/正整数)、bias_from_blob(true/false) - docs/zh/op_list.md 新增 Bias 条目 ## 关联的Issue 无 ## 测试 - 编译打包通过 - CI pre-commit 全部通过(clang-format/ruff-check/ruff-format/codespell/OAT/trailing-whitespace 等) - 泛化测试:828/828 PASS(3 dtype × 9 attr 组合 × 1D-8D shape × 空 tensor × 尾块/边界,--binary=release) - GEIR 通路:50/50 PASS(3 dtype × 1D-3D+5D,含三方精度 cross_check + 三方性能 xpu_device_us 实测) - 三方精度:15/15 PASS(NPU vs CPU golden vs A100 GPU,三个比较方向均 PASS) - 性能对标:75/75 PASS(NPU 全面优于 A100 2.1x~12x,folded G/N ≥ 0.5) - 特殊值:3/3 PASS(fp16/bf16/fp32 的 -inf/+inf/nan/-0.0 传播) - UT:12/12 PASS(tiling 9 + infershape 3) ## 文档更新 - 新增 math/bias/README.md(产品支持情况、功能说明、参数说明、约束说明、调用说明、参考资源) - 更新 docs/zh/op_list.md(新增 Bias 条目) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: Co-authored-by: SeanDictionary<b24081019@njupt.edu.cn> # message auto-generated for no-merge-commit merge: !4836 merge feat/bias into master feat: Bias 算子下一代实现(无 aclnn 接口) Created-by: SeanDictionary Commit-by: SeanDictionary Merged-by: cann-robot Description: ## 描述 新增 Bias 算子(Ascend950/arch35)的三段式 SIMD 实现。Bias 算子按照 axis、num_axes 和 bias_from_blob 属性推导 bias 的逻辑广播形状,计算 y = x + broadcast(bias)。对标 canndev 内置同名 Bias 算子,本次在 ops-math 目标仓新增 A5 路径,不修改 A2 既有实现。 主要改动: - 新增 math/bias/ 算子目录,包含 arch35 RegBase kernel(手写 CopyIn/Compute/CopyOut 三段式)、Broadcast tiling、OpDef/InferShape/InferDataType、binary config、GEIR example、TTK manifest、golden、UT - fp16/bf16 走 Cast→FP32 Add→Cast 回输出 dtype 路径,fp32 走直接 Add 路径 - 支持 dtype:float16/float32/bfloat16(同 dtype),format:ND,NC1HWC0 - 支持 attrs:axis(含负值归一化)、num_axes(-1/0/正整数)、bias_from_blob(true/false) - docs/zh/op_list.md 新增 Bias 条目 ## 关联的Issue [[Requirement|需求建议]: 新增支持Bias算子](https://gitcode.com/cann/ops-math/issues/2729) ## 测试 - 编译打包通过 - CI pre-commit 全部通过(clang-format/ruff-check/ruff-format/codespell/OAT/trailing-whitespace 等) - release 泛化:828/828 PASS。 - UT:12/12 PASS(tiling 9 + infershape 3)。 - 三方精度:16/16 PASS。 - DFX:15/15 PASS(空 tensor/inf-nan/nonalign/large/negaxis/blobfalse/numneg1)。 - 性能:21/21 PASS(mean G/N=2.249,20/21 NPU 快于 GPU)。 - GEIR:50/50 PASS(含三方精度+三方性能,xpu_device_us 实测)。 ## 文档更新 - 新增 math/bias/README.md(产品支持情况、功能说明、参数说明、约束说明、调用说明、参考资源) - 更新 docs/zh/op_list.md(新增 Bias 条目) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4836 | 1 个月前 |