| 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 | |
修复 NpuFormatCast、FillDiagonal、卷积权重和Triu文档错误 Co-authored-by: wangchao661<wangchao661@huawei.com> # message auto-generated for no-merge-commit merge: !5520 merge master into master 修复 NpuFormatCast、FillDiagonal、卷积权重和Triu文档错误 Created-by: wangchao661 Commit-by: wangchao661 Merged-by: cann-robot Description: ## 描述 修复 NpuFormatCast、FillDiagonal、卷积权重和Triu文档错误 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3108 ## 测试 编译门禁 ## 文档更新 - conversion/npu_format_cast/docs/aclnnNpuFormatCast.md - 修正第二段接口注释、FRACTAL_Z_3D 和 NHWC 枚举值。 - conversion/fill_diagonal_v2/docs/aclnnInplaceFillDiagonal.md - 修正 wrap=True 填充公式,补全 fillValue 类型说明。 - conversion/trans_data/docs/aclnnCalculateConvolutionWeightSize.md - 删除错误的固定内存大小注释,补充 biasDeviceAddr 释放。 - conversion/trans_data/docs/aclnnTransConvolutionWeight.md - 补充示例中 aclnnConvolution 接口的依赖说明。 - conversion/triu/docs/aclnnTriu&aclnnInplaceTriu.md - 修正错误码表格 rowspan,修复示例代码语法错误。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5520 | 2 months 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 | |
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 | |
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 | |
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 |
FillDiagonalV2
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | × |
| Atlas推理系列产品 | √ |
| Atlas训练系列产品 | × |
| Kirin X90处理器系列产品 | √ |
| Kirin 9030处理器系列产品 | √ |
功能说明
- 算子功能:以fillValue填充tensor对角线。
- 计算公式:
- 以二维为例,
wrap为False时,填充位置为[r, r],其中0 <= r < m,m = min(col, row),col为列的长度,row为行的长度。 wrap为True时,按展开后的一维索引填充:对于满足(col + 1) * i < row * col的非负整数i,填充位置为[floor((col + 1) * i / col), ((col + 1) * i) % col]。
- 以二维为例,
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| selfRef | 输入/输出张量 | 表示输入/输出张量,支持非连续的Tensor。 | BFLOAT16、FLOAT16、FLOAT、DOUBLE、INT8、INT16、INT32、INT64、UINT8、BOOL | ND |
| fillValue | 输入 | 表示填充值,数据类型需要是可转换为FLOAT且转换为selfRef数据类型时不溢出的数据类型。 | 可转换为FLOAT的数据类型 | - |
| wrap | 属性 | 可选属性,默认False。表示填充方式,仅对二维输入Tensor有效,当输入维度大于2时该参数被忽略。对于高矩阵(行数row大于列数col),若wrap值为True,每经过m+1行形成一条新的对角线,其中m = min(col, row)。 | BOOL | - |
- Atlas推理系列产品、Kirin X90/Kirin 9030处理器系列产品:不支持BFLOAT16。
约束说明
- selfRef的维度必须大于1。
- 当selfRef的维度大于2时,各维度的长度必须相同。
- fillValue必须能转换为FLOAT类型,并且在转换为selfRef的数据类型时不能发生溢出。
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| aclnn API | test_aclnn_inplace_fill_diagonal | 通过aclnnInplaceFillDiagonal接口方式调用InplaceFillDiagonal算子。 |