| Files | Last commit | Last update |
|---|---|---|
master翻译合入 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !6751 merge master into master master翻译合入 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 合入math仓翻译的内容 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4170 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 docs/context,aclnn等商发文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6751 | 13 days ago | |
math仓算子错误日志整改 Co-authored-by: qq_52874943<gaomingyuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !5345 merge master into master math仓算子错误日志整改 Created-by: qq_52874943 Commit-by: qq_52874943 Merged-by: cann-robot Description: ## 描述 本 PR 针对 math 仓算子日志进行整改(关联 Issue #2853),主要目的是规范算子错误日志的级别与内容。改动覆盖约 35 个文件,核心内容包括三类:将 examples/test_geir_*.cpp 示例程序中 GE 初始化失败、加图失败、运行图失败、反初始化失败等错误场景的日志级别由 INFO 修正为 ERROR;修正 op_kernel_aicpu、op_api、tiling、framework 插件中参数校验及错误提示日志的英文语法与拼写;同时清理行尾多余空白字符。整体为纯日志与文档性整改,不涉及算子计算逻辑与对外接口行为变更。 ## 关联的Issue 关联Issue[#2853](https://gitcode.com/cann/ops-math/issues/2853) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5345 | 2 months ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 21 days ago | |
supports the realization of next-generation technologies Co-authored-by: ASCEND222<dongfei16@h-partners.com> # message auto-generated for no-merge-commit merge: !812 merge master into master supports the realization of next-generation technologies Created-by: ASCEND222 Commit-by: ASCEND222 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 支持下一代实现 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!812 | 9 months ago | |
fix: E*9****内部错误码整改为正式语义码并保留内部异常EZ9999上报 Co-authored-by: chenyifeng<chenyifeng27@h-partners.com> # message auto-generated for no-merge-commit merge: !6606 merge fix_errorNum_1021 into master fix: E*9****内部错误码整改为正式语义码并保留内部异常EZ9999上报 Created-by: chen_0715 Commit-by: chenyifeng Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次 PR 整改以下 43 个算子中非法使用的内部错误码(E*9****),使其符合错误码使用规范: - cholesky / complex / cross / cummax / cummin / cumprod / get_shape / histogram_v2 / is_finite / is_inf - kl_div_v2 / lin_space / log_add_exp / non_finite_check / pdist / polar / pows / radix_top_k - reduce_log_sum / reduce_log_sum_exp / reduce_max / reduce_mean / reduce_mean_with_count / reduce_min - reduce_nansum / reduce_std_with_mean / rfft1_d / search_sorted / signbit / sin / sinc / sinkhorn / topk - affine_grid / amp_update_scale / angle_v2 / arg_max_v2 / arg_min / arg_min_with_value / atan2 / bessel_i1e / cdist_grad - conversion/tril 改动原因:上述算子 op_host / op_api / op_graph 源码中存在裸 OP_LOGE (EZ9999 兜底上报)、 OP_CHECK_NULL_WITH_CONTEXT / OP_CHECK_NOTNULL (EZ9999 上报)等不符合错误码使用规范的上报路径,需按失败原因分类整改为正式语义码或内部透传。 采取的方法: - op_host 参数/输入校验类(shape / dtype / format / attr 值域等)裸 OP_LOGE → 正式语义宏(EZ0004 / EZ0008–EZ0038) - op_host 内部 API 失败类(平台能力查询、tiling API 失败等)→ OP_LOGE_WITHOUT_REPORT 透传,去掉 EZ9999 上报、保留日志 - OP_CHECK_NULL_WITH_CONTEXT (EZ9999)→ 显式空指针检查 + 正式码宏 - op_api OP_CHECK_NOTNULL (EZ9999)→ 显式检查 + OP_LOGE_WITHOUT_REPORT(ACLNN_ERR_INNER_NULLPTR) + 返回公共错误码 - op_api OP_LOGE(ACLNN_ERR_INNER_* / RUNTIME_ERROR) (561xxx / 361xxx)→ OP_LOGE_WITHOUT_REPORT ;正式参数码 ACLNN_ERR_PARAM_* (161xxx)保留 - 删除 CREATE_EXECUTOR 之后不可达的空指针死检查( CHECK_RET(executor.get()!=nullptr, ACLNN_ERR_INNER_CREATE_EXECUTOR) ,40 处) - op_graph(histogram_v2 / reduce_mean 融合 pass)E9 上报 → 正式码或透传 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3977 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 43 算子 op_host / op_api / op_graph 全量编译通过,exit 0(910b + 950/arch35) - 本地增加ut测试130 用例全量通过(910b 83 + 950 47),日志级验证触发 78 次正式 EZ 错误码上报,覆盖 14 个正式错误码 - 原版 math_op_host_ut 300 用例全量通过,无回归 - 静态复扫:范围内 E*9**** 正式上报清零(残留均为 CHECK_RET 返回公共码 / 动态 return 等允许项) - 附:适配 CANN 9.3.0 atvoss 库 tiling key 编码变化,更新 reduce_max / reduce_mean_with_count 测试的 9 处 expectedTilingKey (官方 master 在 9.3.0 下同样失败,非本 PR 引入) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6606 | 14 days ago | |
修复issue的问题 Co-authored-by: sakuraqqz<furao15@h-partners.com> # message auto-generated for no-merge-commit merge: !6812 merge master into master 修复issue的问题 Created-by: sakuraqqz Commit-by: sakuraqqz Merged-by: cann-robot Description: ## 描述 本 PR 修复 6 个算子问题,均为 Bug 修复(含 1 项文档修正): 1. **is_inf 尾块越界读写(#3925)**:数据长度不足 32B 对齐时,尾块原先按 32B 整倍搬运导致 GM 越界读/写。修复为整块用 DataCopy、尾块用 DataCopyPad 按真实字节搬运,ComputePerCore 尾块输出按真实计数写出。math/is_inf/op_kernel/is_inf.h。 2. **addcmul value=NaN 走错快路径(#3894)**:IsEqualToOne 对 NaN 判等为 true(所有比较均 false 取反),导致 value=NaN 时误走 AxpyV2 快路径、缺失 value 项。修复为显式排除 NaN。math/addcmul/op_api/aclnn_addcmul.cpp。 3. **cdist 非法 shape 返回码(#3929)**:out 形状与推导不匹配时返回内部空指针错误 561103,修复为在 GetWorkspaceSize 增加 out 期望形状校验,返回标准参数错误 161002。math/cdist/op_api/aclnn_cdist.cpp。 4. **div 非法参数返回码(#3962)**:日志错误码与返回码不一致,统一返回 161002。math/div/op_api/aclnn_div.cpp。 5. **VarMean 文档矛盾(#4182)**:中英文档 self 维度列由 1-8 修正为 0-8(与「shape 支持 0 到 8 维」及 meanOut/varOut 的 0-8 保持一致);参数表 varOut/meanOut 行序与原型(varOut 为第 5 参、meanOut 为第 6 参)对齐。math/reduce_var/docs/。 6. **LinSpace legacy tiling 丢失 INT64 num 精度(#3347):** LinSpaceGetConstValue 的 DT_INT64 分支先将 int64_t 经 float 转换,num=16777219 被舍入为 16777220,与 InferShape 输出维度不一致;修复为直接读取 int64 数值、经 double 无损保留。math/lin_space/op_host/lin_space_tiling.cpp。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3925 - https://gitcode.com/cann/ops-math/issues/3894 - https://gitcode.com/cann/ops-math/issues/3929 - https://gitcode.com/cann/ops-math/issues/3962 - https://gitcode.com/cann/ops-math/issues/4182 - https://gitcode.com/cann/ops-math/issues/3347 ## 测试 910B3 / CANN 9.3.0 上板验证(2026-10-29): - **is_inf**:尾块用例长度 17/25/31/33/40(非 32B 对齐),尾部放置 inf/-inf/nan,输入输出 buffer 后 64B 金丝雀检测越界,5 组全部 PASS 且无越界读写。 - **addcmul**:value=NaN → out=NaN(修复前误得 7.0);value=1.0/2.0 回归正常。 - **cdist**:out 形状不匹配返回 161002,合法形状返回 0。 - **div**:shape 不匹配/非法 mode 均返回 161002。 - **VarMean**:issue 复现脚本实测命中 0 处(纯文档改动,无需上板)。 - **LinSpace**:tiling data 中 num=16777219 保留、InferShape 输出 [16777219](num=17 对照),Host UT 6/6 PASS,基线回归证实旧实现舍入为 16777220。 ## 文档更新 - math/reduce_var/docs/aclnnVarMean.md、math/reduce_var/docs/aclnnVarMean_en.md(维度范围与参数顺序修正)。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6812 | 10 days ago | |
批量修改算子的系统ws大小 Co-authored-by: ligen<ligen75@h-partners.com> # message auto-generated for no-merge-commit merge: !5299 merge master into master 批量修改算子的系统ws大小 Created-by: ligen75 Commit-by: ligen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 批量修改算子的系统ws大小 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3013 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 自验通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5299 | 2 months ago | |
supports the realization of next-generation technologies Co-authored-by: ASCEND222<dongfei16@h-partners.com> # message auto-generated for no-merge-commit merge: !812 merge master into master supports the realization of next-generation technologies Created-by: ASCEND222 Commit-by: ASCEND222 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 支持下一代实现 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!812 | 9 months 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 |
IsInf
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR&950DT系列产品 | √ |
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
| Atlas 200I/500 A2推理产品 | × |
| Atlas推理系列产品 | √ |
| Atlas训练系列产品 | × |
| Kirin X90处理器系列产品 | √ |
| Kirin 9030处理器系列产品 | √ |
功能说明
-
算子功能:判断张量中哪些元素是无限大值,即为inf、-inf。
-
计算公式:
outi=(inputi==±inf)out_i=(input_i == ±inf) outi=(inputi==±inf)
-
示例:
- 若x=[9, 6, 3],计算结果为[False, False, False]。
- 若x=[[-3.14, inf], [2.7183, nan]],计算结果为[[False, True], [False, False]]。 注意整型、布尔都是有界的。
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 待进行判断的入参,公式中的input_i。 | FLOAT、FLOAT16、BFLOAT16 | ND |
| out | 输出 | 待进行判断的出参,公式中的out_i。 | BOOL | ND |
- Atlas训练系列产品、Atlas推理系列产品:不支持BFLOAT16。
- Kirin X90/Kirin 9030处理器系列产品:不支持BFLOAT16。
约束说明
无
调用说明
| 调用方式 | 调用样例 | 说明 |
|---|---|---|
| aclnn调用 | test_aclnn_is_inf | 通过aclnnIsInf接口方式调用IsInf算子。 |
| 图模式调用 | test_geir_is_inf | 通过算子IR构图方式调用IsInf算子。 |