| Files | Last commit | Last update |
|---|---|---|
迁移开源TF插件--conversion Co-authored-by: nextyale<yaochen15@huawei.com> # message auto-generated for no-merge-commit merge: !4310 merge transfer-conversion into master 迁移开源TF插件--conversion Created-by: nextyale Commit-by: nextyale Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:迁移TF插件 See merge request: cann/ops-math!4310 | 2 months ago | |
【算子新增】:Diag算子增加950支持 Co-authored-by: RoyHys<huangyuqian6@huawei.com> # message auto-generated for no-merge-commit merge: !2185 merge master into master 【算子新增】:Diag算子增加950支持 Created-by: RoyHys Commit-by: RoyHys Merged-by: cann-robot Description: ## 描述 新增Diag算子950支持 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1311 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2185 | 6 months ago | |
fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Co-authored-by: IceBearPolar<xuxuepeng4@huawei.com> # message auto-generated for no-merge-commit merge: !6611 merge err_code into master fix(conversion): 算子 host 侧错误码标准化整改(infershape/tiling/op_api) Created-by: IceBearPolar Commit-by: IceBearPolar Merged-by: cann-robot Description: ## 描述 对 conversion 类算子 host 侧代码进行错误码标准化整改,统一错误日志与错误上报行为: 1. **错误日志规范化**:将 infershape / tiling 中泛化的 OP_LOGE 与 OP_CHECK_NULL_WITH_CONTEXT 替换为标准错误宏(OP_LOGE_WITH_INVALID_INPUT、OP_LOGE_FOR_INVALID_TENSORNUM、OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON、OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、OP_LOGE_FOR_INVALID_SHAPEDIM_WITH_REASON 等),使日志明确指出算子名、无效输入/属性名、实际值与原因,便于用户定位问题。 2. **错误上报补齐**:对执行失败场景补充 REPORT_PREDEFINED_ERR_MSG 标准错误上报(infershape 失败上报 EZ1014,tiling 失败上报 EZ1008),内部辅助日志改用 OP_LOGE_WITHOUT_REPORT,避免同一错误重复上报。 3. **健壮性修复**: - diag_flat / diag_v2 infershape 中属性 diagonal 指针原未判空直接解引用,存在空指针风险,补充判空保护; - flatten op_api 中 ADD_TO_LAUNCHER_LIST_AICORE 失败场景区分 ACLNN_ERR_PARAM_NULLPTR 与其他错误码分别记录日志。 涉及算子:concat_v2、diag、diag_flat、diag_v2、flatten、slice、slice_last_dim、slice_with_axes(op_host 下 infershape / tiling / op_api 文件)。 ## 关联的Issue 不涉及(错误码标准化专项整改) ## 测试 已在A2 补齐独立ut 177例  ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6611 | 22 days ago | |
simt-c风格转换:as_strided、diag、cdist等算子 Co-authored-by: xufeng12121<1074805447@qq.com> # message auto-generated for no-merge-commit merge: !2662 merge simt into master simt-c风格转换:as_strided、diag、cdist等算子 Created-by: xufeng12121 Commit-by: xufeng12121 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Simt C风格接口整改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1536 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 二级冒烟:http://7.215.10.221/scheduler/alljobs?length=100&isalljobs=true&search=20260512_201151177 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2662 | 6 months ago | |
feat: 补充53个算子的golden函数与arch35测试用例 Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !3568 merge upload into master feat: 补充53个算子的golden函数与arch35测试用例 Created-by: yefeicoding Commit-by: yefeicoding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1961 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:补充用例 See merge request: cann/ops-math!3568 | 4 months ago | |
feat: diag算子适配Ascend960,arg_max/arg_min_with_value图模式支持Ascend960DT Co-authored-by: jzj007<jiangzhijie9@huawei.com> # message auto-generated for no-merge-commit merge: !6467 merge diag into master feat: diag算子适配Ascend960,arg_max/arg_min_with_value图模式支持Ascend960DT Created-by: jzj007 Commit-by: jzj007 Merged-by: cann-robot Description: ## 描述 本 PR 为 ops-math 仓补充 Ascend960DT( ascend960dt,NpuArch dav_9201)平台的算子适配:为 Diag 算子使能 960DT,并修正 ArgMaxWithValue / ArgMinWithValue 在 960DT 上的图模式数据类型推导。 ### 改动原因 1. Diag 仅在 ascend950 / ascend350 上注册,scripts/kernel/binary_config/ascendc_config.json 中 Diag 的 compute_units 也只包含这两个平台,导致 Ascend960DT 上缺失该算子能力。 2. ArgMaxWithValue / ArgMinWithValue 的 InferDataType 需要按 NpuArch 白名单决定是否读取 indice_dtype 属性: - arg_max_with_value 的白名单原本只有 NpuArch::DAV_3510,ascend960dt 会落到默认 DT_INT32,忽略 indice_dtype; - arg_min_with_value 使用 short_soc_version == "Ascend950" 字符串比较,同样覆盖不到 ascend960dt; - 两个算子的 CMakeLists.txt 中 SUPPORT_COMPUTE_UNIT 此前已包含 ascend960dt,缺的正是图模式这层推导。 ### 改动方法 1. conversion/diag/CMakeLists.txt:SUPPORT_COMPUTE_UNIT 追加 ascend960dt,对应 SUPPORT_TILING_DIR 使用 arch35,复用现有 tiling 与 kernel,不新增 arch 目录。 2. conversion/diag/op_host/diag_def.cpp:新增 AICore().AddConfig("ascend960dt", aicore_config)。 3. conversion/diag/op_host/config/ascend960dt/: - diag_binary.json:7 条 dtype 组合(float16 / float32 / double / bfloat16 / int32 / int64 / complex64),输入 shape 为动态 [-2],与 ascend950 配置一致; - diag_simplified_key.ini:[Diag] default=0。 4. scripts/kernel/binary_config/ascendc_config.json:Diag 的 compute_units 追加 ascend960dt(auto_sync 保持 true)。 5. math/arg_max_with_value/op_graph/arg_max_with_value_graph_infer.cpp:SUPPORTED_NPU_ARCH_LIST 追加 NpuArch::DAV_9201。 6. math/arg_min_with_value/op_graph/arg_min_with_value_graph_infer.cpp:实现对齐 arg_max_with_value,抽出 IsSupportedNpuArch(),按 NpuArch 值查白名单 {DAV_3510, DAV_9201};补充平台信息与 NpuArch 读取失败时的 OP_LOGW;移除 short_soc_version 字符串比较与内联判断。 ascend960dt 与 dav_9201 的对应关系来自 cmake/soc_arch_variables.cmake 的 ASCEND_ALL_COMPUTE_UNIT / SOC_TO_ARCH_VALUES。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3689 ## 测试 - [x] 对两处 InferDataType 改动执行 g++ -fsyntax-only -std=c++17 语法编译校验,无错误 - [ ] 二级冒烟 / 算子泛化:本次未执行,需在 Ascend960DT 环境验证 Diag 编译与执行,以及 ArgMaxWithValue / ArgMinWithValue 图模式下 indice_dtype=int64 的推导结果 > 说明:本次未改动 kernel 代码与 tiling 逻辑,Diag 直接复用 op_kernel/arch35 与 op_host/arch35。 ## 文档更新 本次未修改 docs/ 与算子文档。需注意 conversion/diag/README.md 的"产品支持情况"表尚未列出 Ascend960DT 系列,如需对外声明支持范围,建议同步补充该表。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6467 | 25 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago |
Diag
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | √ |
| Atlas推理系列产品 | √ |
| Atlas训练系列产品 | √ |
功能说明
-
算子功能:将输入tensor(展平视为1D)的对角线元素,展开为2D对角矩阵
-
计算公式:
设:
x∈Rn:输入向量\mathbf{x} \in \mathbb{R}^n :输入向量 x∈Rn:输入向量
y∈Rn×n:输出对角矩阵\mathbf{y} \in \mathbb{R}^{n \times n}:输出对角矩阵 y∈Rn×n:输出对角矩阵
其中:
yi,i=xi\mathbf{y}_{i,i} = x_i yi,i=xi
yi,j=0当i≠j\mathbf{y}_{i,j} = 0 当i \ne j yi,j=0当i=j
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 公式中的x。 | INT64、INT32、FLOAT、FLOAT16、DOUBLE、BF16、COMPLEX64、COMPLEX128 | ND |
| y | 输出 | 公式中的y。 | INT64、INT32、FLOAT、FLOAT16、DOUBLE、BF16、COMPLEX64、COMPLEX128 | ND |
- Atlas训练系列产品、Atlas推理系列产品、Atlas 200I/500 A2推理产品、Atlas A2系列产品、Atlas A3系列产品:不支持BF16。
约束说明
只支持输入shape维度1-4维,对应输出2-8维,不支持标量输入。
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| 图模式调用 | NA | 通过算子IR构图方式调用diag算子 |