| Files | Last commit | Last update |
|---|---|---|
refactor: 统一 add/mul/pow/real_div/sub 算子代码风格 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6053 merge ccc_0929 into master refactor: 统一 add/mul/pow/real_div/sub 算子代码风格 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 对 add、mul、pow、real_div、sub 五个数学算子的代码进行统一的代码风格规范化(clang-format),包括: - 统一命名空间/类的括号风格与缩进 - 统一指针、引用修饰符位置(如 const char* const) - 规范函数声明与调用的换行对齐 - 统一注释风格及文件结尾换行符 - 修正 real_div 配置注释中的拼写错误(build-in → built-in) 本次改动仅涉及代码格式调整,不包含任何功能或逻辑变更。 ## 关联的Issue - #3464 ## 测试 无功能变更,仅代码格式调整,未新增测试。 ## 文档更新 无。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码风格规范化 See merge request: cann/ops-math!6053 | 29 days ago | |
refactor: 统一 add/mul/pow/real_div/sub 算子代码风格 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6053 merge ccc_0929 into master refactor: 统一 add/mul/pow/real_div/sub 算子代码风格 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 对 add、mul、pow、real_div、sub 五个数学算子的代码进行统一的代码风格规范化(clang-format),包括: - 统一命名空间/类的括号风格与缩进 - 统一指针、引用修饰符位置(如 const char* const) - 规范函数声明与调用的换行对齐 - 统一注释风格及文件结尾换行符 - 修正 real_div 配置注释中的拼写错误(build-in → built-in) 本次改动仅涉及代码格式调整,不包含任何功能或逻辑变更。 ## 关联的Issue - #3464 ## 测试 无功能变更,仅代码格式调整,未新增测试。 ## 文档更新 无。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码风格规范化 See merge request: cann/ops-math!6053 | 29 days ago | |
fix(pow/sub): A2/A3补充out dtype白名单校验(#3964) Co-authored-by: doufloat<baijinxiang@huawei.com> # message auto-generated for no-merge-commit merge: !6800 merge fix/pow-out-dtype-whitelist into master fix(pow/sub): A2/A3补充out dtype白名单校验(#3964) Created-by: doufloat Commit-by: doufloat Merged-by: cann-robot Description: ## 描述 **问题** aclnnPowScalarTensor、aclnnPowTensorScalar、aclnnPowTensorTensor、aclnnSubs 和 aclnnSub 在 out 传入资料输出支持列表之外的 dtype(如 DT_INT4)时,A2/A3 会继续进入 Build/Cast 并返回内部错误码,而不是第一段接口约定的 161002。 **根因** 输出类型此前只经过可转换关系检查。部分非法 dtype 能被 CanCast 放行,随后在 Build/Cast 阶段失败,导致参数非法被降级为内部错误。 **方案** - 新增 out dtype 白名单校验,但仅在 NpuArch::DAV_2201(A2/A3)启用。 - aclnn_pow.cpp 和 aclnn_pow_tensor_tensor.cpp 覆盖 aclnnPowScalarTensor、aclnnPowTensorScalar、aclnnPowTensorTensor 三个 out-of-place 入口。 - aclnn_sub.cpp 在 CheckParamsScalar 和 CheckParams 中覆盖 aclnnSubs、aclnnSub;原地接口继续沿用原有输入别名校验。 - A5 走 DAV_3510 路径,不启用新增白名单,保持原有 CanCast 及后续 Build 行为不变。 - A2/A3 合法 out dtype 路径不变,仅将非法 dtype 的返回码修正为 ACLNN_ERR_PARAM_INVALID(161002)。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3964 ## 测试 **A2:Ascend 910B3,CANN 9.2.0** - math_op_api_ut:158/158 PASS,包含新增 A2 非法 out 校验和 A5 不拦截回归用例。 - 当前补丁真机矩阵:PowScalarTensor/PowTensorScalar/PowTensorTensor/Subs/Sub 的 INT4/UINT1/HIFLOAT8/FLOAT8_E5M2/COMPLEX32 均返回 161002。 - 合法路径未被误拦截:三个 Pow 入口的 INT64 -> UINT16/UINT32/UINT64 均返回 0;FLOAT/FLOAT16/DOUBLE/BF16/COMPLEX64/COMPLEX128 输出在对应可转换输入下保持 0。 **A5:Ascend 950PR,CANN 9.2.0** - math_op_api_ut:158/158 PASS,包含 Ascend950_out_dtype_check_not_applied 回归用例。 - 当前补丁真机矩阵与基线一致: | out dtype | PowScalarTensor | PowTensorScalar / PowTensorTensor / Subs / Sub | | --- | --- | --- | | INT4 / UINT1 / COMPLEX32 | 561000 | 561103 | | HIFLOAT8 / FLOAT8_E5M2 | 0 | 0 | - 新增 A2/A3 out 白名单在 A5 未生效;合法 INT64 -> UINT16/UINT32/UINT64 仍返回 0。 **实现路径说明** A3 与 A2 均走 DAV_2201 路径,共用同一实现。本轮完成 A2 和 A5 真机验证。 ## 文档更新 不涉及。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他(请说明) See merge request: cann/ops-math!6800 | 10 days ago | |
docs: 订正 bitwise_not、cholesky、cummin、topk 等 8 个算子资料及头文件注释 Co-authored-by: Nice_try<zhangzhiwei108@huawei.com> # message auto-generated for no-merge-commit merge: !6781 merge sync-1028 into master docs: 订正 bitwise_not、cholesky、cummin、topk 等 8 个算子资料及头文件注释 Created-by: Nice_try Commit-by: Nice_try Merged-by: cann-robot Description: ## 描述 本 PR 订正 8 个算子资料与头文件注释中与实现、产品支持情况不一致的描述。改动全部为文档(zh/en)与头文件注释,不涉及代码逻辑。 ### 改动原因 资料与头文件注释存在与实现、错误码表或产品支持情况互相矛盾的描述:dtype 列表漏项、产品支持范围与参数表结论不一致、参数语义描述错误、公式求和区间端点错误、退化点取值未声明等,逐条见「关联的Issue」。 ### 改动方法 1. **bitwise_not**( docs/aclnnBitwiseNot.md、aclnnBitwiseNot_en.md):self、out 补充数据类型支持描述,与资料及实现对齐(#3950)。 2. **bitwise_or**(docs/aclnnBitwiseOrScalar&aclnnInplaceBitwiseOrScalar.md、_en.md):self、other、selfRef补充数据类型支持描述,消除与产品支持情况分组的矛盾(#3995)。 3. **cdist_grad**(docs/aclnnCdistBackward.md、_en.md):新增说明——上述闭式仅在 cdist > 0 时适用;当 cdist = 0(x1 与 x2 在该点对上完全重合)时,该点对对 x1 的梯度贡献按 0 处理(#3956)。 4. **cholesky**(docs/aclnnLinalgCholesky.md、_en.md):产品支持情况中 Ascend 950PR&950DT 系列产品由「不支持」改为「支持」;self、out 的数据类型由「FLOAT、BFLOAT16」补充为「FLOAT、FLOAT16、BFLOAT16」(#3957)。 5. **cummin**(docs/aclnnCummin.md、_en.md):self、valuesOut 的 dtype 约束由统一规则改为「具体数据类型关系见下方产品支持情况」,并在产品支持情况新增两条分组说明——Ascend 950PR&950DT 系列产品下 self 为 INT8/UINT8/BOOL 时 valuesOut 可为不同的可转换数据类型,其余数据类型需与 self 一致;Atlas A3/A2、Atlas 200I/500 A2、Atlas 推理、Atlas 训练系列产品下 self 的数据类型需能转换为 valuesOut 的数据类型(#3969)。 6. **grouped_bias_add_grad**(docs/aclnnGroupedBiasAddGrad.md、_en.md):groupIdx 求和区间上端点由 groupIdxOptional(j) 改为不含端点的 groupIdxOptional(j)-1,j=0 分支同步改为 groupIdxOptional(0)-1;无可选输入时求和区间由 0 至 C 改为 0 至 C-1;文字说明中明确 groupIdxOptional(j) 表示第 j 组的结束位置(不包含)(#3948)。 7. **pow**(op_api/aclnn_pow.h 头文件注释):out 的数据类型要求由「数据类型、数据格式和shape与self一致」改为「数据格式和shape需与self一致,数据类型需为self与exponent推导后可转换的数据类型」(#3959)。 8. **topk、topkV2**(docs/aclnnTopk.md、aclnnTopk_en.md、aclnnTopkV2.md、aclnnTopkV2_en.md 共 4 个文件):largest 由「计算维度上的结果排序方式」改为「选取最大还是最小的 k 个值」;sorted 删除「当前该参数仅支持取 True」,改为 False 表示不要求输出有序,并明确不保证输出顺序及等值元素的索引稳定性(#3971)。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3995 https://gitcode.com/cann/ops-math/issues/3971 https://gitcode.com/cann/ops-math/issues/3969 https://gitcode.com/cann/ops-math/issues/3959 https://gitcode.com/cann/ops-math/issues/3957 https://gitcode.com/cann/ops-math/issues/3956 https://gitcode.com/cann/ops-math/issues/3950 https://gitcode.com/cann/ops-math/issues/3948 ## 测试 - 本 PR 仅修改资料与头文件注释,不涉及代码逻辑,未做代码测试; - 资料改动需通过仓库资料门禁/评审校验。 ## 文档更新 - math/bitwise_not/docs/aclnnBitwiseNot.md、aclnnBitwiseNot_en.md - math/bitwise_or/docs/aclnnBitwiseOrScalar&aclnnInplaceBitwiseOrScalar.md、aclnnBitwiseOrScalar&aclnnInplaceBitwiseOrScalar_en.md - math/cdist_grad/docs/aclnnCdistBackward.md、aclnnCdistBackward_en.md - math/cholesky/docs/aclnnLinalgCholesky.md、aclnnLinalgCholesky_en.md - math/cummin/docs/aclnnCummin.md、aclnnCummin_en.md - math/grouped_bias_add_grad/docs/aclnnGroupedBiasAddGrad.md、aclnnGroupedBiasAddGrad_en.md - math/topk/docs/aclnnTopk.md、aclnnTopk_en.md、aclnnTopkV2.md、aclnnTopkV2_en.md - 头文件注释:math/bitwise_not/op_api/aclnn_bitwise_not.h、math/pow/op_api/aclnn_pow.h ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6781 | 12 days ago | |
fix(pow/sub): A2/A3补充out dtype白名单校验(#3964) Co-authored-by: doufloat<baijinxiang@huawei.com> # message auto-generated for no-merge-commit merge: !6800 merge fix/pow-out-dtype-whitelist into master fix(pow/sub): A2/A3补充out dtype白名单校验(#3964) Created-by: doufloat Commit-by: doufloat Merged-by: cann-robot Description: ## 描述 **问题** aclnnPowScalarTensor、aclnnPowTensorScalar、aclnnPowTensorTensor、aclnnSubs 和 aclnnSub 在 out 传入资料输出支持列表之外的 dtype(如 DT_INT4)时,A2/A3 会继续进入 Build/Cast 并返回内部错误码,而不是第一段接口约定的 161002。 **根因** 输出类型此前只经过可转换关系检查。部分非法 dtype 能被 CanCast 放行,随后在 Build/Cast 阶段失败,导致参数非法被降级为内部错误。 **方案** - 新增 out dtype 白名单校验,但仅在 NpuArch::DAV_2201(A2/A3)启用。 - aclnn_pow.cpp 和 aclnn_pow_tensor_tensor.cpp 覆盖 aclnnPowScalarTensor、aclnnPowTensorScalar、aclnnPowTensorTensor 三个 out-of-place 入口。 - aclnn_sub.cpp 在 CheckParamsScalar 和 CheckParams 中覆盖 aclnnSubs、aclnnSub;原地接口继续沿用原有输入别名校验。 - A5 走 DAV_3510 路径,不启用新增白名单,保持原有 CanCast 及后续 Build 行为不变。 - A2/A3 合法 out dtype 路径不变,仅将非法 dtype 的返回码修正为 ACLNN_ERR_PARAM_INVALID(161002)。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3964 ## 测试 **A2:Ascend 910B3,CANN 9.2.0** - math_op_api_ut:158/158 PASS,包含新增 A2 非法 out 校验和 A5 不拦截回归用例。 - 当前补丁真机矩阵:PowScalarTensor/PowTensorScalar/PowTensorTensor/Subs/Sub 的 INT4/UINT1/HIFLOAT8/FLOAT8_E5M2/COMPLEX32 均返回 161002。 - 合法路径未被误拦截:三个 Pow 入口的 INT64 -> UINT16/UINT32/UINT64 均返回 0;FLOAT/FLOAT16/DOUBLE/BF16/COMPLEX64/COMPLEX128 输出在对应可转换输入下保持 0。 **A5:Ascend 950PR,CANN 9.2.0** - math_op_api_ut:158/158 PASS,包含 Ascend950_out_dtype_check_not_applied 回归用例。 - 当前补丁真机矩阵与基线一致: | out dtype | PowScalarTensor | PowTensorScalar / PowTensorTensor / Subs / Sub | | --- | --- | --- | | INT4 / UINT1 / COMPLEX32 | 561000 | 561103 | | HIFLOAT8 / FLOAT8_E5M2 | 0 | 0 | - 新增 A2/A3 out 白名单在 A5 未生效;合法 INT64 -> UINT16/UINT32/UINT64 仍返回 0。 **实现路径说明** A3 与 A2 均走 DAV_2201 路径,共用同一实现。本轮完成 A2 和 A5 真机验证。 ## 文档更新 不涉及。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他(请说明) See merge request: cann/ops-math!6800 | 10 days ago | |
docs(pow): 纠正公式、参数及非连续输出标注 Co-authored-by: zhang-song-rui<zhangsongrui@h-partners.com> # message auto-generated for no-merge-commit merge: !6338 merge master into master docs(pow): 纠正公式、参数及非连续输出标注 Created-by: zhang-song-rui Commit-by: zhang-song-rui Merged-by: cann-robot Description: ## 描述 修正 Pow 现有接口资料中与参数角色、函数原型及实现不一致的表述: - 将 aclnnPowTensorScalar 的 out 非连续 Tensor 列由 - 改为 √,与 ViewCopy 写回行为一致;修正标量 exponent 的公式下标。 - 修正 aclnnPowScalarTensor 的标量底数公式、功能描述,以及 out 参数缺少 const 的类型标注。 - 将 aclnnPowTensorTensor 头文件注释中不存在的参数名 other 改为 exponent。 - 修正 Pow IR 的类型注释,准确描述两个输入的 dtype 可不同、输出按 Promote 推导。 ## 关联的Issue Closes #3565 关联文档纠错 Issue:https://gitcode.com/cann/ops-math/issues/3565 对应已确认的 Pow 扫描问题 DOC.02/1、DOC.05/1、DOC.07/1(task 289)及 GEIR.11/1。 ## 测试 - git diff --check 通过。 - 核对标量公式、const 参数类型及非连续输出标记与源码一致。 - 去除注释及空白后对比头文件,接口声明与注册代码一致。 - 确认 README、Exp2 文档和 TensorTensor Markdown 文档与 PR 基线一致。 - PR 保持为一笔提交。 ## 文档更新 修改 ScalarTensor、TensorScalar 两份 ACLNN 文档,以及 aclnn_pow_tensor_tensor.h、pow_proto.h 的注释。本次不增加空 Tensor、动态 shape/rank 等能力说明,也不补充 README 导航、维度约束及错误码条目。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6338 | 27 days ago | |
refactor: 统一 add/mul/pow/real_div/sub 算子代码风格 Co-authored-by: cai-chengchao<caichengchao1@h-partners.com> # message auto-generated for no-merge-commit merge: !6053 merge ccc_0929 into master refactor: 统一 add/mul/pow/real_div/sub 算子代码风格 Created-by: cai-chengchao Commit-by: cai-chengchao Merged-by: cann-robot Description: ## 描述 对 add、mul、pow、real_div、sub 五个数学算子的代码进行统一的代码风格规范化(clang-format),包括: - 统一命名空间/类的括号风格与缩进 - 统一指针、引用修饰符位置(如 const char* const) - 规范函数声明与调用的换行对齐 - 统一注释风格及文件结尾换行符 - 修正 real_div 配置注释中的拼写错误(build-in → built-in) 本次改动仅涉及代码格式调整,不包含任何功能或逻辑变更。 ## 关联的Issue - #3464 ## 测试 无功能变更,仅代码格式调整,未新增测试。 ## 文档更新 无。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码风格规范化 See merge request: cann/ops-math!6053 | 29 days ago | |
aclnnLogSpace内存一致性 Co-authored-by: t00850857<tanxin44@huawei.com> # message auto-generated for no-merge-commit merge: !2790 merge master-logspace into master aclnnLogSpace内存一致性 Created-by: tan_xin Commit-by: t00850857 Merged-by: cann-robot Description: ## 描述 降低aclnnLogSpace内存占用 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/2886 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2790 | 5 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 29 days ago | ||
| 29 days ago | ||
| 10 days ago | ||
| 12 days ago | ||
| 10 days ago | ||
| 27 days ago | ||
| 29 days ago | ||
| 5 months ago |