| Files | Last commit | Last update |
|---|---|---|
fix(fill_diagonal_v2): 静态验证问题整改——kernel回绕/BF16溢出校验/tiling域校验/950配置/文档与UT修正 Co-authored-by: zhang-wenbo-beat<zhangwenbo67@huawei.com> # message auto-generated for no-merge-commit merge: !6589 merge fix/fill-diagonal-v2-fix into master fix(fill_diagonal_v2): 静态验证问题整改——kernel回绕/BF16溢出校验/tiling域校验/950配置/文档与UT修正 Created-by: zhang-wenbo-beat Commit-by: zhang-wenbo-beat Merged-by: cann-robot Description: ## 一、PR 概述 对 FillDiagonalV2 算子进行静态验证问题整改:修复 sparse kernel 无符号回绕、aclnn BF16 溢出校验缺失、tiling 域校验缺失,补交 ascend950 构建配置,消除公开头保护宏冲突,并同步修正公开文档与实现不一致。不改变算子支持平台与 dtype 范围。 ## 二、背景问题 CannbotHarness 静态验证发现 6 类缺陷(kernel 回绕 / BF16 溢出校验 / tiling 域校验 / 950 配置缺失 / 宏冲突 / 文档不一致),详见关联 Issue。 ## 三、技术方案 - **sparse kernel**:blockStart 对齐收缩改为条件减法钳 0,消除 uint64 回绕;基址 128B 对齐场景新旧写法严格等价(穷举验证),并移除恒真死钳制 - **aclnn**:CheckNotOverflow 补 DT_BF16 分支(与 math/pow 同款写法) - **tiling**:补 rank∈[2,8] 与 >2 维各维等长校验(与 aclnn 入口对齐,合法输入行为不变) - **构建**:补交 config/ascend950/(binary.json + simplified_key.ini)并登记 compute_units - **头文件**:保护宏改为 OP_API_INC_ACLNN_FILL_DIAGONAL_H_(与文件名一致) - **文档**:维度 2~8、dtype 删 COMPLEX64、参数表角色对齐 def、wrap 公式与措辞修正、空 Tensor/wrap 2D 声明补齐 ## 四、变更文件清单 24 files:sparse.h / aclnn cpp+h / tiling.cpp / 950 配置×2 / ascendc_config.json / README / 接口文档 / proto.h / UT×2 / CMakeLists×8 / gen_data.py 等。 ## 五、关键代码改动详解 见各代码行内注释与关联 Issue 的缺陷清单。 ## 六、验证情况 - 已验证:aclnn/tiling/proto 编译 0 error(CANN 9.2.0 头);blockStart 修复 host 复算 6 场景一致 + 对齐基址新旧等价穷举 3072 组;pre-commit 11 钩子全 Passed(含 OAT) ## 七、支持平台与数据类型 无变化:Ascend 950PR&950DT / Atlas A3 / Atlas A2 支持 10 dtype(含 BFLOAT16);Atlas推理系列 / Kirin X90 / Kirin 9030 支持 9 dtype。 ## 关联的Issue #3830 ## 测试 见"六、验证情况"。 ## 文档更新 README.md、docs/aclnnInplaceFillDiagonal.md、op_graph/fill_diagonal_v2_proto.h 注释。 ## 类型标签 - [x] Bug修复 - [x] 文档更新 See merge request: cann/ops-math!6589 | 20 days ago | |
fix(error-code): remediate illegal E*9*** reporting for four conversion ops Co-authored-by: yyt_hw<yangyuting54@huawei.com> # message auto-generated for no-merge-commit merge: !6448 merge br_yyt_errorcode into master fix(error-code): remediate illegal E*9*** reporting for four conversion ops Created-by: yyt_hw Commit-by: yyt_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> [ErrorCode] conversion 四算子非法 E*9*** 错误码整改 1. fill_diagonal_v2 空指针:OP_CHECK_NULL_WITH_CONTEXT(EZ9999)→ OP_LOGE_WITH_INVALID_INPUT(EZ0004) dtype / dtype 不一致 / coreNum:改为 OP_LOGE_FOR_INVALID_DTYPE(_S)_WITH_REASON / OP_LOGE_FOR_INVALID_VALUE_WITH_REASON 废弃 EZ0007:OP_LOGE_WITH_INVALID_INPUT_DTYPE → OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON AICPU launcher 失败:下层已正式首报 → 外层改为 OP_LOGE_WITHOUT_REPORT 补充 tiling 负向 UT(非法 dtype、dtype mismatch) 2. npu_format_cast srcTensor == nullptr:OP_LOGE(ACLNN_ERR_INNER_NULLPTR) → OP_CHECK_NULL + 返回 ACLNN_ERR_PARAM_NULLPTR(空参正式路径) 3. transpose_v2 dim/dtype/shape/perm 非法:OP_LOGE(context…) → 对应 OP_LOGE_FOR_INVALID_* 删除 GetPlatformInfo 外层失败判断(内层恒 SUCCESS,死路径) DoTiling 外层:内层已首报 → OP_LOGE_WITHOUT_REPORT 补充非法 dtype / perm 负向 UT 4. unsqueeze InferShape 空参 / axes 非法 / 维数超限:改为 OP_LOGE_WITH_INVALID_INPUT / OP_LOGE_FOR_INVALID_* L0:dim 越界、重复 → OP_LOGE_FOR_INVALID_VALUE_WITH_REASON;InferShape 已首报后外层 WITHOUT_REPORT contiguous 校验:ACL_ERROR_FAILURE → ACLNN_ERR_PARAM_INVALID(EZ1001) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3674](https://gitcode.com/cann/ops-math/issues/3674) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> UT用例验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6448 | 17 days ago | |
fix(fill_diagonal_v2): 静态验证问题整改——kernel回绕/BF16溢出校验/tiling域校验/950配置/文档与UT修正 Co-authored-by: zhang-wenbo-beat<zhangwenbo67@huawei.com> # message auto-generated for no-merge-commit merge: !6589 merge fix/fill-diagonal-v2-fix into master fix(fill_diagonal_v2): 静态验证问题整改——kernel回绕/BF16溢出校验/tiling域校验/950配置/文档与UT修正 Created-by: zhang-wenbo-beat Commit-by: zhang-wenbo-beat Merged-by: cann-robot Description: ## 一、PR 概述 对 FillDiagonalV2 算子进行静态验证问题整改:修复 sparse kernel 无符号回绕、aclnn BF16 溢出校验缺失、tiling 域校验缺失,补交 ascend950 构建配置,消除公开头保护宏冲突,并同步修正公开文档与实现不一致。不改变算子支持平台与 dtype 范围。 ## 二、背景问题 CannbotHarness 静态验证发现 6 类缺陷(kernel 回绕 / BF16 溢出校验 / tiling 域校验 / 950 配置缺失 / 宏冲突 / 文档不一致),详见关联 Issue。 ## 三、技术方案 - **sparse kernel**:blockStart 对齐收缩改为条件减法钳 0,消除 uint64 回绕;基址 128B 对齐场景新旧写法严格等价(穷举验证),并移除恒真死钳制 - **aclnn**:CheckNotOverflow 补 DT_BF16 分支(与 math/pow 同款写法) - **tiling**:补 rank∈[2,8] 与 >2 维各维等长校验(与 aclnn 入口对齐,合法输入行为不变) - **构建**:补交 config/ascend950/(binary.json + simplified_key.ini)并登记 compute_units - **头文件**:保护宏改为 OP_API_INC_ACLNN_FILL_DIAGONAL_H_(与文件名一致) - **文档**:维度 2~8、dtype 删 COMPLEX64、参数表角色对齐 def、wrap 公式与措辞修正、空 Tensor/wrap 2D 声明补齐 ## 四、变更文件清单 24 files:sparse.h / aclnn cpp+h / tiling.cpp / 950 配置×2 / ascendc_config.json / README / 接口文档 / proto.h / UT×2 / CMakeLists×8 / gen_data.py 等。 ## 五、关键代码改动详解 见各代码行内注释与关联 Issue 的缺陷清单。 ## 六、验证情况 - 已验证:aclnn/tiling/proto 编译 0 error(CANN 9.2.0 头);blockStart 修复 host 复算 6 场景一致 + 对齐基址新旧等价穷举 3072 组;pre-commit 11 钩子全 Passed(含 OAT) ## 七、支持平台与数据类型 无变化:Ascend 950PR&950DT / Atlas A3 / Atlas A2 支持 10 dtype(含 BFLOAT16);Atlas推理系列 / Kirin X90 / Kirin 9030 支持 9 dtype。 ## 关联的Issue #3830 ## 测试 见"六、验证情况"。 ## 文档更新 README.md、docs/aclnnInplaceFillDiagonal.md、op_graph/fill_diagonal_v2_proto.h 注释。 ## 类型标签 - [x] Bug修复 - [x] 文档更新 See merge request: cann/ops-math!6589 | 20 days ago | |
Math仓算子适配Ascend350平台 Co-authored-by: huairuchen<chenhuairu@huawei.com> # message auto-generated for no-merge-commit merge: !6372 merge dvlite-math-350-adapt into master Math仓算子适配Ascend350平台 Created-by: huairuchen Commit-by: huairuchen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Math仓部分随机数算子在350平台进行适配 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/4202 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 算子泛化测试,冒烟测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6372 | 14 days ago | |
fix(error-code): remediate illegal E*9*** reporting for four conversion ops Co-authored-by: yyt_hw<yangyuting54@huawei.com> # message auto-generated for no-merge-commit merge: !6448 merge br_yyt_errorcode into master fix(error-code): remediate illegal E*9*** reporting for four conversion ops Created-by: yyt_hw Commit-by: yyt_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> [ErrorCode] conversion 四算子非法 E*9*** 错误码整改 1. fill_diagonal_v2 空指针:OP_CHECK_NULL_WITH_CONTEXT(EZ9999)→ OP_LOGE_WITH_INVALID_INPUT(EZ0004) dtype / dtype 不一致 / coreNum:改为 OP_LOGE_FOR_INVALID_DTYPE(_S)_WITH_REASON / OP_LOGE_FOR_INVALID_VALUE_WITH_REASON 废弃 EZ0007:OP_LOGE_WITH_INVALID_INPUT_DTYPE → OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON AICPU launcher 失败:下层已正式首报 → 外层改为 OP_LOGE_WITHOUT_REPORT 补充 tiling 负向 UT(非法 dtype、dtype mismatch) 2. npu_format_cast srcTensor == nullptr:OP_LOGE(ACLNN_ERR_INNER_NULLPTR) → OP_CHECK_NULL + 返回 ACLNN_ERR_PARAM_NULLPTR(空参正式路径) 3. transpose_v2 dim/dtype/shape/perm 非法:OP_LOGE(context…) → 对应 OP_LOGE_FOR_INVALID_* 删除 GetPlatformInfo 外层失败判断(内层恒 SUCCESS,死路径) DoTiling 外层:内层已首报 → OP_LOGE_WITHOUT_REPORT 补充非法 dtype / perm 负向 UT 4. unsqueeze InferShape 空参 / axes 非法 / 维数超限:改为 OP_LOGE_WITH_INVALID_INPUT / OP_LOGE_FOR_INVALID_* L0:dim 越界、重复 → OP_LOGE_FOR_INVALID_VALUE_WITH_REASON;InferShape 已首报后外层 WITHOUT_REPORT contiguous 校验:ACL_ERROR_FAILURE → ACLNN_ERR_PARAM_INVALID(EZ1001) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3674](https://gitcode.com/cann/ops-math/issues/3674) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> UT用例验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6448 | 17 days ago | |
Math仓算子适配Ascend350平台 Co-authored-by: huairuchen<chenhuairu@huawei.com> # message auto-generated for no-merge-commit merge: !6372 merge dvlite-math-350-adapt into master Math仓算子适配Ascend350平台 Created-by: huairuchen Commit-by: huairuchen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Math仓部分随机数算子在350平台进行适配 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/4202 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 算子泛化测试,冒烟测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6372 | 14 days ago | |
增加A2 A3新算子支持 Co-authored-by: slx2008<shaolixin@huawei.com> # message auto-generated for no-merge-commit merge: !448 merge master into master 增加A2 A3新算子支持 Created-by: songkai111 Commit-by: slx2008 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!448 | 10 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 20 days ago | ||
| 17 days ago | ||
| 20 days ago | ||
| 14 days ago | ||
| 17 days ago | ||
| 14 days ago | ||
| 10 months ago |