| Files | Last commit | Last update |
|---|---|---|
feat: viewcopy/as_strided/tensor_move 回合ascend960dt平台适配代码 Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !6191 merge v121_10 into master feat: viewcopy/as_strided/tensor_move 回合ascend960dt平台适配代码 Created-by: yefeicoding Commit-by: yefeicoding Merged-by: cann-robot Description: ## 描述 viewcopy/as_strided/tensor_move 回合ascend960dt平台适配代码 ## 关联的Issue #3498 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6191 | 24 days ago | |
feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !6157 merge f1008 into master feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 为 ascend960pr / ascend960dt 两个新增芯片形态适配算子,覆盖 conversion 与 math 目录下共 14 个算子;同时修正 addr 的 dtype 支持列表判断逻辑,并对个别文件做版权头/格式整理。 ### 改动原因 ascend960pr / ascend960dt 为新增芯片形态,现有算子需补齐平台注册、编译单元与二进制配置后,才能在新平台上被算子信息库发现、编译并选择正确的 kernel 二进制。 ### 改动方法 1. **算子信息库注册**( *_def.cpp):新增 this->AICore().AddConfig("ascend960pr", ...) 与 AddConfig("ascend960dt", ...) - conversion:assign、dynamic_partition、masked_fill、mem_set、tensor_move、tril、triu - math:addr、asin、eye、mod、sinc、truncate_div、truncate_mod 2. **编译配置**(CMakeLists.txt):在 SUPPORT_COMPUTE_UNIT / COMPUTE_UNIT 中追加 ascend960pr、ascend960dt,并在 SUPPORT_TILING_DIR / TILING_DIR 中追加对应的 arch35(tiling 目录沿用 arch35) 3. **二进制配置**:为每个算子新增 op_host/config/ascend960pr/ 与 op_host/config/ascend960dt/ 目录,包含 <op>_binary.json 与 <op>_simplified_key.ini 4. **addr dtype 判断修正**(math/addr/op_api/aclnn_addr.cpp):GetDtypeSupportList() 的判断由区间判断 >= ASCEND910B && <= ASCEND910E 改为显式判断 == ASCEND910B || == ASCEND910_93 || IsRegBase(),使 reg-base 平台复用 910B dtype 支持列表 5. **格式整理**:conversion/mem_set_v2/op_host/mem_set_v2_def.cpp、math/adds/op_host/adds_def.cpp、math/adds/CMakeLists.txt 仅做版权头/空行/行尾换行等整理 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3440 ## 测试 本 PR 未包含测试代码改动;适配涉及算子信息库、编译配置与二进制配置,需在 ascend960pr / ascend960dt 平台补充二级冒烟与算子泛化验证。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6157 | 1 month ago | |
ballquery算子多个问题修复 Co-authored-by: m0_46386992<wanghongbin19@huawei.com> # message auto-generated for no-merge-commit merge: !6758 merge harden-code into master ballquery算子多个问题修复 Created-by: m0_46386992 Commit-by: m0_46386992 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修改BallQuery算子如下问题 1. README 调用说明表头列名不符合文档模板要求 2. README 未说明空张量(零长度维)输入的输出行为 3. README 未说明查询球零命中时的输出行为(输出全 0,易被误读为命中第 0 个点) 4. README 未说明动态 shape(-1 标记/未知秩)的支持语义及校验时机 5. Kernel 内层坐标索引用 int32 计算,超大输入(约 4GiB 以上)下溢出导致越界读 6. 示例程序输入缓冲区未释放,存在堆内存泄漏 7. 示例程序图执行模式配置偏离库内其他示例的统一惯例 8. 算子 proto 头文件的属性约束注释与 README 及实际实现不一致 9. 参考实现(golden)半径阈值按 double 精度平方,与 kernel 的 float32 平方在边界值上判定相反 10. 参考实现的精度对齐声明不准确(声称对齐 TBE 实现,实际对齐的是本算子 kernel 的 float32 计算路径) 11. 参考实现注释中残留不可追溯的内部设计文档编号引用 12. canndev 框架头文件中输出 idx 的布局注释维度顺序写反((B,M,sample_num) 应为 (M,B,sample_num)) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/4274 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - L0/L1/L2 测试,功能覆盖测试,通路验证测试共计构建100+用例均通过。 - UT测试通过 - 冒烟测试通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了README.md文件 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6758 | 11 days ago | |
fix(diag_v2,batch_to_space,cosh,diag_flat): 修复检视与上板回归发现的校验缺失、注册与文档缺陷 Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !6769 merge longtail into master fix(diag_v2,batch_to_space,cosh,diag_flat): 修复检视与上板回归发现的校验缺失、注册与文档缺陷 Created-by: yefeicoding Commit-by: yefeicoding Merged-by: cann-robot Description: ## 描述 按人工检视意见与 TTK 上板回归证据,修复 math 仓 4 个算子的校验缺失、注册错误、测试资产与文档规范问题(61 文件,+649/-443),缺陷明细见关联 Issue。 ### diag_v2 - 校验缺失(P1):arch35 tiling 增加 diagonal 取值域校验(-(m-1)<=k<=(n-1),含 INT64_MIN 溢出保护);arch35 tiling 拒绝 rank>2(原 rank=3 静默按 2D 读取 GetDim 产出错误结果);infershape 拒绝 rank=0 标量输入;aclnn CheckShape 补维度下限 1;空输出快速路径补 out shape 校验;OpDef x/y 补注册 DT_COMPLEX32/DT_COMPLEX128(对齐 proto 与基线声明) - 文档:README 调用说明表术语/列名对齐仓内规范、Kirin 产品名补 <term> 标记、输出参数名 out→y;aclnnDiag.md 补 BF16 产品差异(npu 标签)与空 Tensor 支持度、修正 161002 返回值;proto 注释 diagonal int32→int64;输入维度声明统一为 rank 1/2(经上板证据人工确认) - 测试资产:kernel ST 容差对齐逐位一致(spec.yaml bitwise_equal);golden.py License 头修复(OAT);交付文件行尾空白/EOF/clang-format/codespell 合规 ### batch_to_space - 注册格式(P1):x/y 由 NHWC 改为 ND,修复 TF E2E 通路交付算子在位不可达(GE 选核格式不匹配回退内置 aicpu_tf_kernel,bf16 全失败 EZ3002) - tiling(P1):搜索候选 totalCount 欠拷修复(bestRealCore 初值 1→0,首个可行候选必然记录;N>1 只处理首块的 50% 位错配);totalCount 按最终 (bestAxis,bestFactor) 对齐重算;workspace 设置统一到空/非空输出分发前 - infershape(P1):动态图下非 const crops 形状为未知描述符((-2,)→GetShapeSize=-2、(-1,-1)→1),原元素数校验误拒合法动态图;对齐 batch_to_space_nd 以 IsConstTensor 门控,非 const 校验交由运行时 tiling - golden:block_size=1 合法域(公开契约 >=1)改走 tf.raw_ops.BatchToSpaceND - UT:空输出 tiling 用例对齐 totalCount=1 现行契约;infershape 新增未知秩/未知维描述符回归用例 - 文档:README 数据类型全称化(BF16→BFLOAT16)、裁剪约束更正为 >=0 ### cosh - 0 维标量输入支持(P1):tiling 输入/输出形状经 EnsureNotScalar 归一化后比较;infershape rank-0 输出归一化为 {1}(平台标量约定,原 () 使 oom/DFX 代码生成 reduce(shape) 空序列崩溃) - golden:兼容 TF 2.6.5 零维 bfloat16 张量的 numpy 互操作(x.numpy() 中转) - 文档:README 移除 PyTorch API 调用说明行 ### diag_flat - 文档:aclnnDiagFlat.md 产品差异描述迁入「约束说明」并按产品打标签(npu="910"/"310p") - 测试资产:ST atk 用例回滚为原始 209 条 ## 关联的Issue - #4374 ## 测试 - TTK 上板回归(operator_test_case 用例库全量 L0+L1,Atlas 950PR / CANN 9.3.0,基线 c96b007d6): - diag_v2:aclnn 595/595、GEIR 1034/1034(含 uint16/32/64 231 例);kernel 全量 202/202(三模式+oom);异常 8 条(diagonal 越界/INT64_MIN/rank>2)均显式拒绝 - batch_to_space:GEIR 620/620、TF 620/620(cst/dyn 双模式) - cosh:aclnn 707/708、inplace 704/704、GEIR 687/687、TF 687/687(唯一未过为用例构造问题:零 stride 广播 out,非算子缺陷) - diag_flat:kernel 1120/1122、GEIR 1063/1063、aclnn 214/214(2 例声明形状 2^32 超 HBM 预检不可执行) - UT:BatchToSpaceTilingTest 11/11、BatchToSpaceInfershapeTest 8/8 - pre-commit 全钩子(trailing-whitespace/EOF/clang-format/ruff/codespell/OAT)通过 ## 文档更新 - conversion/diag_v2/README.md、docs/aclnnDiag.md、op_graph/diag_v2_proto.h - conversion/batch_to_space/README.md - conversion/diag_flat/docs/aclnnDiagFlat.md - math/cosh/README.md ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6769 | 10 days ago | |
docs: 修复注释与文档不一致(batch_to_space_nd、broadcast_to、chunk_cat 文件注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6596 merge docs/comment-cleanup-20261022-01 into master docs: 修复注释与文档不一致(batch_to_space_nd、broadcast_to、chunk_cat 文件注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正以下文件的注释与实际代码不一致问题,仅修改注释,不涉及业务逻辑、接口行为或配置默认值。 - conversion/batch_to_space_nd/op_kernel/arch35/batch_to_space_nd_large_c.h:\file 注释由 batch_to_space_largec.h 修正为 batch_to_space_nd_large_c.h。 - conversion/batch_to_space_nd/op_kernel/arch35/batch_to_space_nd_small_c.h:\file 注释由 batch_to_space_smallc.h 修正为 batch_to_space_nd_small_c.h。 - conversion/broadcast_to/examples/test_geir_broadcast_to.cpp:\file 注释由 test_geir_add.cpp 修正为 test_geir_broadcast_to.cpp。 - conversion/chunk_cat/op_api/aclnn_chunk_cat.cpp:\file 注释由 aclnn_cat.cpp 修正为 aclnn_chunk_cat.cpp。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3816 ## 测试 - [x] git diff --check(CRLF-aware)通过 - [x] 本地 OAT 合规检查通过(含本 PR 文件的 203 文件批次) - [x] git clang-format --diff 对本次修改行无建议 - [x] Markdown 链接/锚点/围栏检查通过(本 PR 不涉及 Markdown) - [ ] 编译/UT 未运行:仅注释变更,无代码逻辑变化 ## 文档更新 无独立文档文件更新;本次仅修正上述源文件的注释。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## 待确认项 无。 See merge request: cann/ops-math!6596 | 18 days ago | |
fix:修复squeeze发现的信息库默认字段问题 Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6591 merge migrate_gelocal_question into master fix:修复squeeze发现的信息库默认字段问题 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq Merged-by: cann-robot Description: ## 描述 修复squeeze发现的信息库默认字段问题 补充默认补充字段默认值为false,对其ini中的flag设置,属性设置以原型为准 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6591 | 19 days ago | |
[BugFix] 拦截BroadcastTo非法负维 Co-authored-by: zhouyuanhang30083383<zhouyuanhang4@h-partners.com> # message auto-generated for no-merge-commit merge: !6856 merge fix/le-scalar-out-dtype-and-broadcast-to-neg-dim into master [BugFix] 拦截BroadcastTo非法负维 Created-by: m0_55003149 Commit-by: zhouyuanhang30083383 Merged-by: cann-robot Description: ## 描述 修正 BroadcastTo 对目标 shape 中非法负值的处理: - 在 _shape_values 属性路径和常量 shape Tensor 路径中统一校验目标维度; - 允许 -1、0 和正数,拒绝小于 -1 的维度; - 保留现有广播规则、空 Tensor 和动态 shape 行为; - 补充 infershape UT 覆盖 INT32/INT64 的非法负维。 本 PR 不再包含 LeScalar/#3880 的修改。 ## 关联的 Issue [Fixes #3852](https://gitcode.com/cann/ops-math/issues/3852) ## 测试 - git diff --check 通过; - 新增 BroadcastTo infershape UT 覆盖 -2 等非法负维。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6856 | 10 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 | |
产品名变更 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 | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days ago | |
【CircularPad/ReflectionPad】修复issue问题 修正padding约束说明与实现行为不一致 Co-authored-by: wjc<wangjincheng14@huawei.com> # message auto-generated for no-merge-commit merge: !6875 merge personal/wjc/issue3923 into master 【CircularPad/ReflectionPad】修复issue问题 修正padding约束说明与实现行为不一致 Created-by: Anthony0331 Commit-by: wjc Merged-by: cann-robot Description: ## 描述 本PR处理两个issue反馈的资料与实现不一致问题,均为纯资料修改,不改变任何运行行为。 **Issue #3923(CircularPad2d/3d padding上界)**:资料161002错误码子项承诺"padding大于等于self对应维度的大小"返回161002,与实现不符。经代码核验: - 两侧tiling对上界判定均为严格大于(arch22: left > inputW;arch35:padL > inOutputSize,报错信息为"circular wrapping more than once is not supported"),即 padding == dim 为设计放行,issue 作者在910B2实测该场景输出与循环填充语义一致 - padding > dim 时在算子准备(tiling)阶段失败,返回561103而非161002 修改内容:删除该161002子项(rowspan 7→6);参数约束改为"Ascend 950(Arch35)上每侧正padding不超过对应维度大小(允许等于),其他产品以对应版本约束为准";约束说明补充"大于对应维度时不支持,可能在算子准备(含tiling)阶段失败,不一定返回161002"。 **Issue #3932(ReflectionPad1d/2d/3d 负padding)**:负padding场景第一段GetWorkspaceSize放行(现有校验 padding[i] < dim,负值天然通过),第二段执行返回561103,资料未声明负padding语义。 经代码核验,负padding全程无静默成功路径、不产生错误数据:第一段SafePadSum已拦截危险负值(负pad裁剪超出对应维度时返回161002),其余负值在执行阶段以561103失败。选择"不支持负padding"口径并将现状如实写入资料。 修改内容:三份资料padding参数约束补充"须为非负";约束说明新增"不支持负padding;传入负值时第一段可能放行,执行阶段失败,不一定返回161002"。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3923 - https://gitcode.com/cann/ops-math/issues/3932 ## 测试 - 纯文档修改,无代码行为变更,不涉及 UT/ST - 本地执行 pre-commit 全量检查:trailing-whitespace、end-of-file-fixer、codespell、OAT 合规扫描全部通过 ## 文档更新 本PR更新约束说明,涉及文件: - conversion/circular_pad/docs/aclnnCircularPad2d.md - conversion/circular_pad/docs/aclnnCircularPad3d.md - conversion/mirror_pad/docs/aclnnReflectionPad1d.md - conversion/mirror_pad/docs/aclnnReflectionPad2d.md - conversion/mirror_pad/docs/aclnnReflectionPad3d.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6875 | 11 days ago | |
fix: circular_pad_grad golden 支持 torch.Tensor 输入并对非法输入零值降级 Co-authored-by: tan_xin<tanxin44@huawei.com> # message auto-generated for no-merge-commit merge: !6873 merge master-tile into master fix: circular_pad_grad golden 支持 torch.Tensor 输入并对非法输入零值降级 Created-by: tan_xin Commit-by: tan_xin Merged-by: cann-robot Description: ## 描述 完善 conversion/circular_pad_grad/tests/assets/golden.py 对 aclnn 通路 golden 的处理: 1. **支持 torch.Tensor 输入**:aclnn 通路 CPU host 侧对 torch 原生 dtype(float32/float16)以 torch.Tensor 传入、非原生 dtype(bfloat16)以 numpy 视图传入;circular_pad_grad_golden 与 _aclnn_circular_pad_grad_golden 均增加对 torch.Tensor 输入的支持(detach().cpu().numpy() 转换或直接透传给 torch 计算)。 2. **bfloat16 识别修正**:dtype 判断由精确相等改为子串匹配("bfloat16" in origin_dtype),覆盖 torch dtype 字符串变体。 3. **非法输入零值降级**:新增 _aclnn_zero_fallback,当 golden 数学对非法输入(expected_error 用例,如 padding 非法)必然失败时,不再先行抛出 GOLDEN_FAILURE 中断流程,而是返回与输出容器同 shape/dtype 的零参考,让用例继续进入算子侧校验,由算子拒收产生证据。 4. **Spec 签名扩展**:AclnnCircularPad2dBackwardSpec.golden / AclnnCircularPad3dBackwardSpec.golden 增加 gradInput 参数,并包裹 try/except 实现零值降级。 ## 关联的Issue 关联 Issue [#4302](https://gitcode.com/cann/ops-math/issues/4302) ## 测试 - aclnn 通路 golden 用例:torch.Tensor 输入(float32/float16)与 numpy bfloat16 输入均验证。 - expected_error 非法输入用例:golden 零值降级后进入算子侧校验,验证算子拒收行为。 ## 文档更新 NA ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6873 | 11 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 | 12 days ago | |
fix(proto): 修复39个算子proto.h注释的拼写与语法错误 Co-authored-by: sun-yibo1<sunyibo1@hisilicon.com> # message auto-generated for no-merge-commit merge: !5815 merge fix/proto-comment-grammar into master fix(proto): 修复39个算子proto.h注释的拼写与语法错误 Created-by: sun-yibo1 Commit-by: sun-yibo1 Merged-by: cann-robot Description: ## 描述 对 39 个算子的 op_graph/*_proto.h 注释做拼写与语法修复,仅注释与格式变更,不涉及任何代码逻辑: - **拼写错误**:select_v2 condittion→condition(2处)、axpy_v2 opratioan→operation、clip_by_value 英文 dtype 列表中的全角逗号改半角 - **系统性语法(历史模板复制扩散)**:Support broadcasting→Supports broadcasting(27个文件)、A ND→An ND(33个文件97处) - **单文件语法修复 71 处(含 signbit returns→Returns、axpy should→Should 两处句首大写补漏)**:ger has→have、addcmul/addcdiv multiply→multiplies、muls An required→A required、equal (x=y)→(x1==x2)、Elementwise→Element-wise、bias_add/lerp/gcd 语序与冠词修复、aicore→AiCore、mod/floor_mod 矛盾表述统一、句首大小写与标点空格等 - 附带 pre-commit 钩子强制规范化(clang-format 重排、尾随空白、文件末尾换行),并保留各文件原有行尾风格(CRLF/LF) 涉及算子:add/sub/mul/muls/div/real_div/floor_div/div_no_nan/pow/minimum/maximum/signbit/less/less_equal/greater/greater_equal/not_equal/equal/bias_add/squared_difference/lerp/logical_and/logical_or/bitwise_or/bitwise_and/bitwise_xor/tanh_grad/axpy/axpy_v2/addcmul/addcdiv/select/select_v2/mod/floor_mod/ger/gcd/clip_by_value/clip_by_value_v2 ## 关联的Issue - #3234 - https://gitcode.com/cann/ops-math/issues/3234 ## 测试 - 纯注释变更,无功能影响 - pre-commit 钩子全部通过(clang-format / trailing-whitespace / end-of-file-fixer / codespell / OAT 合规检查) - 严格限定在上述 39 个算子文件,全仓其余算子未改动(其余算子同类问题可后续另行清理) ## 文档更新 不涉及仓内 docs/ 目录;本 PR 即为 proto.h 注释(算子原型文档源)的修正 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5815 | 17 days ago | |
clamp去除小数截断校验 Co-authored-by: yyt_hw<yangyuting54@huawei.com> # message auto-generated for no-merge-commit merge: !6854 merge br_yyt_clamp_fix into master clamp去除小数截断校验 Created-by: yyt_hw Commit-by: yyt_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> clamp允许降精度cast,去除浮点截断校验 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#4288](https://gitcode.com/cann/ops-math/issues/4288) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> UT测试通过,上板验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 未更新 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6854 | 11 days ago | |
coalesce_sparse/cummin适配960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6776 merge backBlue1 into master coalesce_sparse/cummin适配960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 CoalesceSparse、Cummin 两个算子新增 Ascend960DT(NpuArch::DAV_9201)平台支持,使二者可在 Ascend960DT 上完成注册、编译与运行。 具体改动: - CoalesceSparse(conversion/coalesce_sparse): - 在 op_host/coalesce_sparse_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicore_config),完成 Ascend960DT 计算单元注册;同时对输入/输出 DataType、Format、UnknownShapeFormat 的换行格式做统一整改,并补齐文件末尾换行。 - 在 op_host/coalesce_sparse_tiling.cpp 的 TilingKeyCalcu、TilingDataCalcu 中,将 isAscend950 判定由仅 DAV_3510 扩展为 DAV_3510 || DAV_9201,使 Ascend960DT 复用 Ascend950 的 tiling key 与多核任务切分逻辑。 - 新增 op_host/config/ascend960dt/coalesce_sparse_binary.json,覆盖 12 组 dtype 组合(unique_len/unique_indices 为 int64/int32,indices 为 int64/int32,values 为 float32/float16/int32);新增 coalesce_sparse_simplified_key.ini(default=0)。 - Cummin(math/cummin): - 在 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 在 op_host/cummin_def.cpp 中新增 AddConfig("ascend960dt", aicoreConfig),并补齐文件末尾换行。 - 新增 op_host/config/ascend960dt/cummin_binary.json,覆盖 float16/bfloat16/float32/int32 四组 dtype(输入输出同 dtype,另输出 int32 的 argmin);新增 cummin_simplified_key.ini(default=0)。 - 二进制配置:在 scripts/kernel/binary_config/ascendc_config.json 中,为 CoalesceSparse 的 compute_units 增加 ascend960dt 并补充 ascend960dt 的 compile_options(-mllvm -cce-aicore-dcci-before-kernel-end=false);为 Cummin 的 compute_units 增加 ascend960dt。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 CoalesceSparse、Cummin 在 Ascend960DT 下均能正常注册与编译,并生成对应 kernel 二进制。 - 二进制/交付件验证:确认两算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含对应的 ascend960dt 编译单元。 - 功能验证:在 Ascend960DT 上分别运行两算子的 aclnn 用例,覆盖各自 binary 配置中的 dtype 与 shape 组合,结果与 Golden 一致。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6776 | 11 days ago | |
concat 算子支持 ascend960 多核调整 Co-authored-by: z00894303<z00894303@huawei.com> # message auto-generated for no-merge-commit merge: !6379 merge master into master concat 算子支持 ascend960 多核调整 Created-by: hw-zhangpanpan Commit-by: z00894303 Merged-by: cann-robot Description: ## 描述 concat 算子在 ascend960平台上的 tiling 未充分利用多核并行能力。将合轴后的0轴任务分配为更接近 totalCoreNum 的整数倍块,提升多核并行度与 concat 算子的整体性能,同时不影响其他平台的既有行为。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4098 ## 测试 冒烟、泛化用例 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6379 | 13 days ago | |
Kirin X90/9030支持Cast/Mul/Transpose/Add/ConcatD/StridedSlice算子 Co-authored-by: chenlong1<chenlong1@huawei.com> Co-authored-by: jinzy1999<jinzy@pku.edu.cn> # message auto-generated for no-merge-commit merge: !6581 merge master into master Kirin X90/9030支持Cast/Mul/Transpose/Add/ConcatD/StridedSlice算子 Created-by: chenlong1 Commit-by: chenlong1;jinzy1999 Merged-by: cann-robot Description: ## 描述 Kirin X90/9030支持Cast/Mul/Transpose/Add/ConcatD/StridedSlice算子 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3790 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6581 | 12 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 | |
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 | 18 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 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 | |
Contiguous EZ9999 错误码修复 Co-authored-by: init__zhb__<zhanghaobo6@huawei.com> # message auto-generated for no-merge-commit merge: !6629 merge fix_ez_code/contiguous into master Contiguous EZ9999 错误码修复 Created-by: init__zhb__ Commit-by: init__zhb__ Merged-by: cann-robot Description: ## 描述 conversion/contiguous 下的错误码改造,整改列表如下: | 层级 | 上报接口 | 文件 | 行号 | | ---- | ------- | ---------- | -- | | op_host | OP_LOGE | conversion/contiguous/op_host/op_api/contiguous.cpp | 620 | op_host | OP_LOGE | conversion/contiguous/op_host/op_api/contiguous.cpp | 628 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!-- - UT (opapi)构建:bash build.sh -u --opapi --soc=ascend910b --noexec -j8 - UT测试通过:--> 外加黄区编包pass:  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6629 | 14 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 | |
feat: DepthToSpace/SpaceToDepth 新增 RT2.0 infershape(verify 并入 + 动态 shape 透传 + InferDataType 内联注册)及 UT Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !6655 merge inferB into master feat: DepthToSpace/SpaceToDepth 新增 RT2.0 infershape(verify 并入 + 动态 shape 透传 + InferDataType 内联注册)及 UT Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> DepthToSpace/SpaceToDepth 新增 RT2.0 infershape(verify 并入 + 动态 shape 透传 + InferDataType 内联注册)及 UT ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/4198 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6655 | 12 days 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 | 18 days ago | |
fix(diag_v2,batch_to_space,cosh,diag_flat): 修复检视与上板回归发现的校验缺失、注册与文档缺陷 Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !6769 merge longtail into master fix(diag_v2,batch_to_space,cosh,diag_flat): 修复检视与上板回归发现的校验缺失、注册与文档缺陷 Created-by: yefeicoding Commit-by: yefeicoding Merged-by: cann-robot Description: ## 描述 按人工检视意见与 TTK 上板回归证据,修复 math 仓 4 个算子的校验缺失、注册错误、测试资产与文档规范问题(61 文件,+649/-443),缺陷明细见关联 Issue。 ### diag_v2 - 校验缺失(P1):arch35 tiling 增加 diagonal 取值域校验(-(m-1)<=k<=(n-1),含 INT64_MIN 溢出保护);arch35 tiling 拒绝 rank>2(原 rank=3 静默按 2D 读取 GetDim 产出错误结果);infershape 拒绝 rank=0 标量输入;aclnn CheckShape 补维度下限 1;空输出快速路径补 out shape 校验;OpDef x/y 补注册 DT_COMPLEX32/DT_COMPLEX128(对齐 proto 与基线声明) - 文档:README 调用说明表术语/列名对齐仓内规范、Kirin 产品名补 <term> 标记、输出参数名 out→y;aclnnDiag.md 补 BF16 产品差异(npu 标签)与空 Tensor 支持度、修正 161002 返回值;proto 注释 diagonal int32→int64;输入维度声明统一为 rank 1/2(经上板证据人工确认) - 测试资产:kernel ST 容差对齐逐位一致(spec.yaml bitwise_equal);golden.py License 头修复(OAT);交付文件行尾空白/EOF/clang-format/codespell 合规 ### batch_to_space - 注册格式(P1):x/y 由 NHWC 改为 ND,修复 TF E2E 通路交付算子在位不可达(GE 选核格式不匹配回退内置 aicpu_tf_kernel,bf16 全失败 EZ3002) - tiling(P1):搜索候选 totalCount 欠拷修复(bestRealCore 初值 1→0,首个可行候选必然记录;N>1 只处理首块的 50% 位错配);totalCount 按最终 (bestAxis,bestFactor) 对齐重算;workspace 设置统一到空/非空输出分发前 - infershape(P1):动态图下非 const crops 形状为未知描述符((-2,)→GetShapeSize=-2、(-1,-1)→1),原元素数校验误拒合法动态图;对齐 batch_to_space_nd 以 IsConstTensor 门控,非 const 校验交由运行时 tiling - golden:block_size=1 合法域(公开契约 >=1)改走 tf.raw_ops.BatchToSpaceND - UT:空输出 tiling 用例对齐 totalCount=1 现行契约;infershape 新增未知秩/未知维描述符回归用例 - 文档:README 数据类型全称化(BF16→BFLOAT16)、裁剪约束更正为 >=0 ### cosh - 0 维标量输入支持(P1):tiling 输入/输出形状经 EnsureNotScalar 归一化后比较;infershape rank-0 输出归一化为 {1}(平台标量约定,原 () 使 oom/DFX 代码生成 reduce(shape) 空序列崩溃) - golden:兼容 TF 2.6.5 零维 bfloat16 张量的 numpy 互操作(x.numpy() 中转) - 文档:README 移除 PyTorch API 调用说明行 ### diag_flat - 文档:aclnnDiagFlat.md 产品差异描述迁入「约束说明」并按产品打标签(npu="910"/"310p") - 测试资产:ST atk 用例回滚为原始 209 条 ## 关联的Issue - #4374 ## 测试 - TTK 上板回归(operator_test_case 用例库全量 L0+L1,Atlas 950PR / CANN 9.3.0,基线 c96b007d6): - diag_v2:aclnn 595/595、GEIR 1034/1034(含 uint16/32/64 231 例);kernel 全量 202/202(三模式+oom);异常 8 条(diagonal 越界/INT64_MIN/rank>2)均显式拒绝 - batch_to_space:GEIR 620/620、TF 620/620(cst/dyn 双模式) - cosh:aclnn 707/708、inplace 704/704、GEIR 687/687、TF 687/687(唯一未过为用例构造问题:零 stride 广播 out,非算子缺陷) - diag_flat:kernel 1120/1122、GEIR 1063/1063、aclnn 214/214(2 例声明形状 2^32 超 HBM 预检不可执行) - UT:BatchToSpaceTilingTest 11/11、BatchToSpaceInfershapeTest 8/8 - pre-commit 全钩子(trailing-whitespace/EOF/clang-format/ruff/codespell/OAT)通过 ## 文档更新 - conversion/diag_v2/README.md、docs/aclnnDiag.md、op_graph/diag_v2_proto.h - conversion/batch_to_space/README.md - conversion/diag_flat/docs/aclnnDiagFlat.md - math/cosh/README.md ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6769 | 10 days ago | |
fix:diag_v2拦截INT64_MIN(2D)、INT64_MIN/INT64_MAX(1D)diagonal输入 Co-authored-by: IceBearPolar<xuxuepeng4@huawei.com> # message auto-generated for no-merge-commit merge: !6872 merge master into master fix:diag_v2拦截INT64_MIN(2D)、INT64_MIN/INT64_MAX(1D)diagonal输入 Created-by: IceBearPolar Commit-by: IceBearPolar Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnnDiagGetWorkspaceSize 在 diagonal=INT64_MIN(1D/2D)或 1D INT64_MAX 等导致输出边长不可表示时有符号溢出/abort,统一返回 ACLNN_ERR_PARAM_INVALID(161002)。 - 仅改 aclnn L2 入口极值与 1D 边长安全校验;不改变 2D -m/n 空对角线等既有兼容语义。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3922](https://gitcode.com/cann/ops-math/issues/3922) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。-->  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6872 | 8 days ago | |
test: 新增 8 个算子 Ascend 950 arch35 ST 测试样例(as_strided、concat、concat_v2、dynamic_partition、mem_set、split_v、strided_slice_grad、addr) Co-authored-by: babeiee<125106023003@njust.edu.cn> # message auto-generated for no-merge-commit merge: !6381 merge add-arch35-st-ttk-samples into master test: 新增 8 个算子 Ascend 950 arch35 ST 测试样例(as_strided、concat、concat_v2、dynamic_partition、mem_set、split_v、strided_slice_grad、addr) Created-by: babeiee Commit-by: babeiee Merged-by: cann-robot Description: ## 描述 DV122 补充算子 ST 测试样例:为 8 个算子新增 Ascend 950(arch35)ST 测试资产。 覆盖算子(REG_OP、kernel 模式,输入格式 ND): | 算子 | 目录 | 功能 | |------|------|------| | as_strided | conversion/ | 以 size/stride/storage_offset 在 x 存储上构造视图张量 | | concat | conversion/ | 沿指定维度拼接多个张量 | | concat_v2 | conversion/ | 沿指定维度拼接多个张量(v2 接口) | | dynamic_partition | conversion/ | 按 partitions 索引将 x 切分为 num_partitions 个输出 | | mem_set | conversion/ | 以指定尺寸与初始值初始化内存区域 | | split_v | conversion/ | 按 size_splits 沿 split_dim 将 x 切分为 num_split 个输出 | | strided_slice_grad | conversion/ | StridedSlice 梯度:将 dy 按 strides 散射到 shape 尺寸零张量 | | addr | math/ | 计算 y = beta * x1 + alpha * (x2 ⊗ x3) | 每个算子新增 11 个文件: - tests/st/arch35/ttk_kernel_{op}_st.csv:arch35 ST 样例(每算子 10 条,维度覆盖 1d~8d) - tests/st/testcases/:L0 功能用例 + L2 异常用例 CSV ## 关联的Issue - #3595(https://gitcode.com/cann/ops-math/issues/3595) ## 测试 - arch35 ST 样例 80 条(8 算子 × 10,维度覆盖 1d~8d) - L0 功能用例 277 条:as_strided 37、concat 40、concat_v2 40、dynamic_partition 35、mem_set 12、split_v 31、strided_slice_grad 40、addr 42;数据类型覆盖各算子合法 dtype 域,含 nan/inf/极值等特殊输入 - L2 异常用例 121 条:dtype 非法 60、format 不支持(FRACTAL_NZ)30、输出 shape 不匹配 5、必选参数缺失 8、约束违反 14、mem_set 数组类异常 4,期望返回对应 ACL_ERROR_* 错误码 ## 文档更新 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:新增算子 ST 测试样例 See merge request: cann/ops-math!6381 | 25 days ago | |
docs: 修复注释与文档不一致(concat、diag_v2、dynamic_stitch 等 文件注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6598 merge docs/comment-cleanup-20261022-03 into master docs: 修复注释与文档不一致(concat、diag_v2、dynamic_stitch 等 文件注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正以下文件的注释与实际代码不一致问题: - conversion/concat/tests/ut/op_host/test_concat_infershape.cpp:\file 注释由 test_concat_infershpe.cpp 修正为 test_concat_infershape.cpp。 - conversion/diag_v2/op_kernel/diag_v2_b32.h:#endif 尾注释由 DIAG_V2_B64_H 修正为实际保护宏 DIAG_V2_B32_H。 - conversion/dynamic_stitch/op_kernel/arch35/dynamic_stitch_scatter_simt.h:\file 注释由 dynamic_stitch_simt.h 修正为 dynamic_stitch_scatter_simt.h。 - conversion/fill/op_api/aclnn_fill_scalar.h:#endif 尾注释由 OP_API_INC_FILL_H_ 修正为实际保护宏 OP_API_ACLNN_FILL_SCALAR_H_。 - conversion/fill/op_api/aclnn_fill_tensor.h:#endif 尾注释由 OP_API_INC_LEVEL2_ACLNN_FILL_TENSOR_H_ 修正为实际保护宏 OP_API_ACLNN_FILL_TENSOR_H_。 此外,按仓库 pre-commit 要求,对被修改文件应用了文件末尾换行/空白/clang-format 修复(仅格式调整,不涉及业务逻辑、接口行为或配置默认值)。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3820 ## 测试 - [x] 本地完整 pre-commit(含 clang-format、EOF/空白、OAT)通过 - [x] git diff --check(CRLF-aware)通过 - [ ] 编译/UT 未运行:本次为注释与格式调整,无代码逻辑变化 ## 文档更新 无独立文档文件更新;本次修正源文件注释,并同步仓库要求的格式问题。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## 待确认项 无。 See merge request: cann/ops-math!6598 | 18 days ago | |
fix:修复squeeze发现的信息库默认字段问题 Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6591 merge migrate_gelocal_question into master fix:修复squeeze发现的信息库默认字段问题 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq Merged-by: cann-robot Description: ## 描述 修复squeeze发现的信息库默认字段问题 补充默认补充字段默认值为false,对其ini中的flag设置,属性设置以原型为准 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6591 | 19 days ago | |
fix: FeedsRepeat 修复功能、精度与资料问题 Co-authored-by: xuxiao59<xuxiao59@huawei.com> # message auto-generated for no-merge-commit merge: !6754 merge fix/feeds_repeat into master fix: FeedsRepeat 修复功能、精度与资料问题 Created-by: gcw_xYUkRrAH Commit-by: xuxiao59 Merged-by: cann-robot Description: ## 描述 修复 FeedsRepeat 算子经全量验证(Ascend950PR,静态检查 + 用例生成 + 上板执行)发现的功能、精度与资料问题,共 13 个文件、5 类缺陷根因: **Kernel 侧(op_kernel/feeds_repeat.h)** - 为 Sum/InitOutput 的 PopStackBuffer 预留 UB 栈空间(8KB),防止 TPipe 占满 UB 后 PopStackBuffer 断言失败(设备表现为 VEC_ERROR / NO_OUTPUT / 静默错误数值) - 负 feeds_repeat_times 钳 0、Repeat 循环按剩余输出截断( write_times = min(repeat_times, row_remain)),消除 sum(repeats) > output_feeds_size 时的块内越界写 - ClearOutputSpace 清零起点 end_index 钳制到 [0, empty_size],消除负数经 uint32 回绕导致的块外越界写 - 循环计数器 int 转 int64_t,防大 shape 溢出 **Tiling 侧(op_host/feeds_repeat_tiling.cpp)** - feeds 秩校验前移至 GetDim(0) 之前(rank-0 不再越界读) - feeds_repeat_times 容量上限按平台 UB 动态计算(含 8KB 栈预留),A2/A3 约 92KB、950 约 120KB - 空 tensor(dim0<1 / batch_num<=0)明确拒绝 - feeds_repeat_times 逐维溢出保护(累乘前检查 INT64_MAX) - output_feeds_size 负值拒绝 **InferShape 侧(op_host/feeds_repeat_infershape.cpp)** - 必选属性 output_feeds_size 判空与取值域校验前移至未知 Rank 早退之前 - 逐维判定 feeds_repeat_times 元素总数未知性(含偶数个 -1 维时 GetShapeSize 返回正积的边界),未知时跳过计数校验、由执行阶段 tiling 完成 **Proto(op_graph/feeds_repeat_proto.h)** - feeds/y dtype 从 TensorType::BasicType() 收紧为 {FP16, FP32, BF16}(与 def.cpp/InferDataType 同口径) **样例(examples/test_geir_feeds_repeat.cpp)** - 修复宏内 "placeholder" + int 指针偏移 bug(实际生成 "laceholder1" 而非 "placeholder1") - 输入缓冲 new[] 后补 delete[](Tensor 构造拷贝数据后即释放) - 输出按 dtype 打印而非逐字节 uint8 - 提前返回路径补 GEFinalize() - WriteDataToFile 增加fwrite 结果检查 **测试资产** - golden.py 入仓 tests/assets/(双键注册 feeds_repeat/FeedsRepeat、截断语义、mix_tolerance、多维展平、设备跟随) - UT 扩容:tiling 15 例(含秩 0/溢出/UB 贴界拒绝)、infershape 8 例(含 [-2] 传播/负属性/动态维)、kernel 若干 - gen_data.py 重写(原版 import tensorflow 且 argv 传参有误无法运行);删除不可运行的 gen_tiling.py **README** - UB 容量口径由固定 48KB/64KB 改为按平台动态推导(A2/A3 约 92KB、950 约 120KB) - 动态 shape 与 -1/-2 语义、output_feeds_size 取值域、空 tensor 约束声明 - feeds_repeat_times 元素总数定义与秩不限说明 ## 关联的Issue - https://gitcode.com/wangyueting/changwei_liuyi/issues/119 (GOLDEN_FAILURE:golden 语义不一致) - https://gitcode.com/wangyueting/changwei_liuyi/issues/121 (EE9999:UB 占满致设备崩溃) - https://gitcode.com/wangyueting/changwei_liuyi/issues/122 (E90003:容量门误拒合法输入 + 空 tensor 未声明) - https://gitcode.com/wangyueting/changwei_liuyi/issues/176 (ClearOutputSpace 清零长度负数 uint32 回绕越界写) - https://gitcode.com/wangyueting/changwei_liuyi/issues/177 (Repeat 循环未按剩余输出截断覆写) ## 测试 - Host UT:23/23 PASSED(tiling 15 + infershape 8,含新增秩 0/溢出/UB 贴界/[-2]/负属性/动态维守卫用例) - Kernel 路由:全量 571 例 + 34 条原失败复测全 PASS(三模式 dyn/cst/bin 100% 精度) - GEIR 路由:全量四模式(source/binary × const/dynamic)各 58 例全 PASS - 确定性路由:56 例 × 10 次重复全部 deterministic PASS - 异常路由:21 条 L2 负例中 15 条受控拒绝(拒绝消息含具体参数值)、6 条契约未建立 - ST 自验证:56 条 L0 输入检查 + 1 条真机 smoke PASS(100.0%) - 构建验证:ascend950/ascend910b kernel + ophost 全部编译通过 - 静态检查:87 项检查 0 发现(含 canndev 兼容基线对比 PASS) ## 文档更新 - README.md:UB 容量口径、动态 shape 语义、output_feeds_size 取值域、空 tensor 约束 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6754 | 12 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 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 | 12 days ago | |
docs: 修复注释与文档不一致(fill_diagonal_v2、fill_v2、fills 等 文件注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6599 merge docs/comment-cleanup-20261022-04 into master docs: 修复注释与文档不一致(fill_diagonal_v2、fill_v2、fills 等 文件注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正以下文件的注释与实际代码不一致问题: - conversion/fill_diagonal_v2/tests/ut/op_host/test_fill_diagonal_v2_infershape.cpp:\file 注释由 test_fill_diagonal_v2_proto.cpp 修正为 test_fill_diagonal_v2_infershape.cpp。 - conversion/fill_diagonal_v2/tests/ut/op_kernel/test_fill_diagonal_v2_tiling.h:#endif 尾注释由 _FAST_OP_TEST_FILL_DIAGONAL_TILING_H_ 修正为实际保护宏 _FAST_OP_TEST_FILL_DIAGONAL_V2_TILING_H_。 - conversion/fill_v2/op_graph/fill_v2_proto.h:#endif 尾注释由 OP_PROTO_FILL_V2_H_ 修正为实际保护宏 FILL_V2_PROTO_H_。 - conversion/fills/tests/ut/op_host/test_fills_infershape.cpp:\file 注释由 test_fills_proto.cpp 修正为 test_fills_infershape.cpp。 - conversion/identity_n/op_graph/identity_n_proto.h:#endif 尾注释由 SHAPE_N_PROTO_H_ 修正为实际保护宏 IDENTITY_N_PROTO_H_。 此外,按仓库 pre-commit 要求,对被修改文件应用了文件末尾换行/空白/clang-format 修复(仅格式调整,不涉及业务逻辑、接口行为或配置默认值)。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3821 ## 测试 - [x] 本地完整 pre-commit(含 clang-format、EOF/空白、OAT)通过 - [x] git diff --check(CRLF-aware)通过 - [ ] 编译/UT 未运行:本次为注释与格式调整,无代码逻辑变化 ## 文档更新 无独立文档文件更新;本次修正源文件注释,并同步仓库要求的格式问题。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## 待确认项 无。 See merge request: cann/ops-math!6599 | 18 days ago | |
docs: 修复注释与文档不一致(fill_diagonal_v2、fill_v2、fills 等 文件注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6599 merge docs/comment-cleanup-20261022-04 into master docs: 修复注释与文档不一致(fill_diagonal_v2、fill_v2、fills 等 文件注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正以下文件的注释与实际代码不一致问题: - conversion/fill_diagonal_v2/tests/ut/op_host/test_fill_diagonal_v2_infershape.cpp:\file 注释由 test_fill_diagonal_v2_proto.cpp 修正为 test_fill_diagonal_v2_infershape.cpp。 - conversion/fill_diagonal_v2/tests/ut/op_kernel/test_fill_diagonal_v2_tiling.h:#endif 尾注释由 _FAST_OP_TEST_FILL_DIAGONAL_TILING_H_ 修正为实际保护宏 _FAST_OP_TEST_FILL_DIAGONAL_V2_TILING_H_。 - conversion/fill_v2/op_graph/fill_v2_proto.h:#endif 尾注释由 OP_PROTO_FILL_V2_H_ 修正为实际保护宏 FILL_V2_PROTO_H_。 - conversion/fills/tests/ut/op_host/test_fills_infershape.cpp:\file 注释由 test_fills_proto.cpp 修正为 test_fills_infershape.cpp。 - conversion/identity_n/op_graph/identity_n_proto.h:#endif 尾注释由 SHAPE_N_PROTO_H_ 修正为实际保护宏 IDENTITY_N_PROTO_H_。 此外,按仓库 pre-commit 要求,对被修改文件应用了文件末尾换行/空白/clang-format 修复(仅格式调整,不涉及业务逻辑、接口行为或配置默认值)。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3821 ## 测试 - [x] 本地完整 pre-commit(含 clang-format、EOF/空白、OAT)通过 - [x] git diff --check(CRLF-aware)通过 - [ ] 编译/UT 未运行:本次为注释与格式调整,无代码逻辑变化 ## 文档更新 无独立文档文件更新;本次修正源文件注释,并同步仓库要求的格式问题。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## 待确认项 无。 See merge request: cann/ops-math!6599 | 18 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days ago | |
迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6237 merge merge-pr-5595-5610-5757 into master 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq;Dazhou_Cao Merged-by: cann-robot Description: ## 描述 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6237 | 20 days ago | |
feat: 迁移gelocal控制流与基础算子交付件(含While/If/Case/For/PartitionedCall、TF控制流插件、reshape),实现RT2.0交付 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !6621 merge migrate-gelocal-delivery into master feat: 迁移gelocal控制流与基础算子交付件(含While/If/Case/For/PartitionedCall、TF控制流插件、reshape),实现RT2.0交付 Created-by: Dazhou_Cao Commit-by: Dazhou_Cao Merged-by: cann-robot Description: ## 描述 汇总迁移 gelocal(RT2.0)算子交付件: - **基础/GE 控制流算子**:size、rank、LoopCond、NextIteration、RefIdentity、SwitchByIndex、aipp_data、End、squeezev2、unsqueezev2,以及 enter/exit/merge/switch/switch_n/ref_* 等 - **子图控制流算子**:If、Case、For、PartitionedCall、While(原型注册 + RT2.0 推导注册 + UT + README,If/Case/For/PartitionedCall 含 GeIR 示例;均归入 ge 分类) - **TF 控制流插件**:If/_If/StatelessIf、While/_While/StatelessWhile、Case/StatelessCase、PartitionedCall/StatefulPartitionedCall 变体合并映射 - **reshape**:infershape 对齐 RT1.0 语义、allowzero/shape 属性注册、信息库 - **文档**:README 产品支持表统一(全部√)、gather_shapes 归入 conversion、op_list 同步登记 ## 测试 - bash build.sh --ophost --opgraph -j8 构建通过(含各算子 REG_OP 注册校验) - 宿主侧全量 UT:2594/2594 PASSED(384 test suites) ## 说明 - 内容汇总自此前迁移 PR(6474 / 6522 / 6208)的交付件,本 PR 为其合并后的统一交付 See merge request: cann/ops-math!6621 | 15 days ago | |
fix(aicpu): 补齐手写json缺失的opInfo字段 Co-authored-by: liu-wei<lovline.liuwei@huawei.com> # message auto-generated for no-merge-commit merge: !6519 merge fix/aicpu-opinfo-metadata into master fix(aicpu): 补齐手写json缺失的opInfo字段 Created-by: liu-wei Commit-by: liu-wei Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因、所采取的方法。--> 对齐 AICPU 整包生成侧与 CANN 9.2.0 安装版 aicpu_kernel.json 的 opInfo 元数据,补齐 6 个算子的字段缺失: - conversion/identity/op_kernel_aicpu/identity.json - 补齐 formatAgnostic=True、opsFlag=OPS_FLAG_OPEN(对齐安装版) - kernelSo 指向修正(libnn → libmath)已由 master db84400e2 率先合入,本 PR rebase 后不再重复改动 - math/rsqrt/op_kernel_aicpu/rsqrt.json、math/sqrt/op_kernel_aicpu/sqrt.json:补齐 formatAgnostic=True(对齐安装版) - math/tile/op_kernel_aicpu/tile.json:补齐 opsFlag=OPS_FLAG_OPEN(对齐安装版及同族 TileWithAxis 注册写法) - math/pow/op_kernel_aicpu/pow.json:补齐 opsFlag=OPS_FLAG_CLOSE(对齐安装版) - math/greater_equal/op_kernel_aicpu/greater_equal_aicpu_def.cpp:补齐 TRUE_FORMAT_AGNOSTIC 覆盖(安装版比较家族 GreaterEqual/Less/NotEqual 均为 True、Equal 为 False,本仓 Less/NotEqual 已覆盖,唯独 GreaterEqual 漏了 formatAgnostic) 背景:三仓 AICPU 整包 json 与安装版逐算子逐字段比对([cann/ops-cv#1276](https://gitcode.com/cann/ops-cv/issues/1276))定位到上述差异。76 个 AICPU 算子中 5 个为手写 json(identity/rsqrt/sqrt/tile/pow),不走 ApplyMathAicpuDefaultCfg+ExtendCfgInfo 注册机制,迁移/手写时字段易漏,本 PR 逐一补齐;后续建议将手写 json 逐步迁移为 def 注册,从根本上规避。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [cann/ops-cv#1276](https://gitcode.com/cann/ops-cv/issues/1276)(AICPU整包json与安装版json 算子定义差异梳理) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 5 个手写 json 语法校验通过 - 76 个 AICPU 算子源码推导值与本机 CANN 9.2.0 安装版全量比对:修复后 6 个目标算子的 formatAgnostic/opsFlag 与安装版完全对齐,其余 3 项差异(Coordinates1DTo2D/OnesLike/TileWithAxis,整包侧演进项)保持不变 - trans_soc / find_value_by_key 等既有机制无行为影响(GreaterEqual 仅新增一行 ExtendCfgInfo 覆盖) - pre-commit 全钩子通过(json 校验 / clang-format / codespell / OAT 合规) - 重建验证:重新 configure(重编 71 个 opdef 生成 aicpu_kernel.ini)并构建 gen_aicpu_json_from_opdef,再生成 aicpu_math.json——76 算子齐全,6 个目标算子的 kernelSo/formatAgnostic/opsFlag 全部落盘正确(Identity kernelSo 由 libnn 修正为 libmath,三处 True/OPEN 补齐,GreaterEqual 经 def→ini→json 链路生效),全量比对无回归 - 符号核验:构建 libmath_aicpu_kernels.so(aarch64),RunCpuKernel 动态符号导出、"Identity" 注册名字符串在 so 内,非本仓 AICPU 算子名(Conv2D/ROIAlign 等)反证 0 命中 - 未执行 NPU 上板运行与完整打包封测(无硬件环境;CUST 注册加载行为需端到端图编译验证) - rebase 至 master f597aafa 后复核:剩余字段补齐改动与原 PR 逐行一致,master db84400e2 已含 kernelSo 修正(本 PR 该项变为无差异),pre-commit 全钩子通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6519 | 13 days ago | |
docs: 修复注释与文档不一致(fill_diagonal_v2、fill_v2、fills 等 文件注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6599 merge docs/comment-cleanup-20261022-04 into master docs: 修复注释与文档不一致(fill_diagonal_v2、fill_v2、fills 等 文件注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正以下文件的注释与实际代码不一致问题: - conversion/fill_diagonal_v2/tests/ut/op_host/test_fill_diagonal_v2_infershape.cpp:\file 注释由 test_fill_diagonal_v2_proto.cpp 修正为 test_fill_diagonal_v2_infershape.cpp。 - conversion/fill_diagonal_v2/tests/ut/op_kernel/test_fill_diagonal_v2_tiling.h:#endif 尾注释由 _FAST_OP_TEST_FILL_DIAGONAL_TILING_H_ 修正为实际保护宏 _FAST_OP_TEST_FILL_DIAGONAL_V2_TILING_H_。 - conversion/fill_v2/op_graph/fill_v2_proto.h:#endif 尾注释由 OP_PROTO_FILL_V2_H_ 修正为实际保护宏 FILL_V2_PROTO_H_。 - conversion/fills/tests/ut/op_host/test_fills_infershape.cpp:\file 注释由 test_fills_proto.cpp 修正为 test_fills_infershape.cpp。 - conversion/identity_n/op_graph/identity_n_proto.h:#endif 尾注释由 SHAPE_N_PROTO_H_ 修正为实际保护宏 IDENTITY_N_PROTO_H_。 此外,按仓库 pre-commit 要求,对被修改文件应用了文件末尾换行/空白/clang-format 修复(仅格式调整,不涉及业务逻辑、接口行为或配置默认值)。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3821 ## 测试 - [x] 本地完整 pre-commit(含 clang-format、EOF/空白、OAT)通过 - [x] git diff --check(CRLF-aware)通过 - [ ] 编译/UT 未运行:本次为注释与格式调整,无代码逻辑变化 ## 文档更新 无独立文档文件更新;本次修正源文件注释,并同步仓库要求的格式问题。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## 待确认项 无。 See merge request: cann/ops-math!6599 | 18 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 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 | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days ago | |
docs: 修正 matrix_diag 文件头注释与头文件保护注释 Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6600 merge docs/comment-cleanup-20261022-05 into master docs: 修正 matrix_diag 文件头注释与头文件保护注释 Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正 conversion/matrix_diag 下多处注释与实际代码不一致的问题,并同步修正一处 clang-format 格式问题: - conversion/matrix_diag/op_graph/matrix_diag_graph_infer.cpp:\file 注释由 matrix_diag_infershape.cpp 修正为 matrix_diag_graph_infer.cpp。 - conversion/matrix_diag/op_host/matrix_diag_tiling_arch35.h:#endif 尾注释由 OPS_BUILT_IN_OP_TILING_RUNTIME_MATRIX_DIAG_TILING_H_ 修正为实际保护宏 OPS_MATH_CONVERSION_MATRIX_DIAG_OP_HOST_MATRIX_DIAG_TILING_ARCH35_H_;同时按仓库 pre-commit 规则修正 MatrixDiagTiling 构造函数初始化列表后的空格格式。 - conversion/matrix_diag/op_kernel/arch35/matrix_diag_scatter_high_slice_batch.h:\file 注释由 matrix_diag_big_n.h 修正为 matrix_diag_scatter_high_slice_batch.h。 - conversion/matrix_diag/op_kernel/arch35/matrix_diag_scatter_high_slice_yUB.h:\file 注释由 matrix_diag_big_n.h 修正为 matrix_diag_scatter_high_slice_yUB.h。 说明:conversion/im2col/op_kernel/arch35/im2col_norm_NHWC.h 的 \file 注释未在本 PR 修复。该文件存在既有的大范围 clang-format 差异(约 169 行),应用会引入与本 PR 无关的大规模格式变更,已留待单独处理。 改动不涉及业务逻辑、接口行为或配置默认值,仅修正注释内容与格式。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3822 ## 测试 - [x] 本地完整 pre-commit 检查通过(含 clang-format、空白检查、文件末尾换行) - [x] 改动仅为注释与格式调整,不改变编译产物和算子逻辑,无需算子功能/精度测试 ## 文档更新 本次仅修正源码中的文件头注释与头文件保护宏尾注释,无独立文档文件更新。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6600 | 18 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 | 12 days ago | |
docs(matrix_diag_part_v3): 修正原型语义与兼容算子说明 Co-authored-by: LiJianhao2<25213050226@m.fudan.edu.cn> # message auto-generated for no-merge-commit merge: !6101 merge fix/ops-math-2026-10-02-001-matrix-diag-part-doc into master docs(matrix_diag_part_v3): 修正原型语义与兼容算子说明 Created-by: little_apple_12 Commit-by: LiJianhao2 Merged-by: cann-robot Description: ## 描述 - 修正 conversion/matrix_diag_part_v3/op_graph/matrix_diag_part_v3_proto.h 的 brief:说明 MatrixDiagPartV3 从张量最后两维提取一条或多条对角线,不再描述为根据对角线值构造输出。 - 修正同一文件的框架兼容项:将错误的 FillDiagonal 改为 TensorFlow MatrixDiagPartV3,与对应框架算子注册定义及输入一致。 改动仅包含上述两个注释 hunk,不改接口、kernel、shape 推导、README 或运行时行为;两项均对应 issue #3383。 ## 关联的Issue 关联Issue #3383 ## 测试 - 对旧描述执行 grep 静态检查:旧 brief、Tensorflow 拼写及 FillDiagonal 均无命中。 - 对新描述执行 grep 静态检查:第 18 行匹配 Extracts one or more diagonals,第 36 行匹配 TensorFlow operator MatrixDiagPartV3。 - 仓内适用 pre-commit hooks:trailing-whitespace、large-file、merge-conflict、private-key、codespell 与 OAT 检查通过;EOF fixer 和写入式 clang-format 钩子显式跳过,避免改写原本无 EOF 换行的文件。 - 仓内 clang-format 18.1.8 使用 --dry-run --Werror --style=file 检查通过;git diff --check 通过。 - 未运行 CANN 单测、编译或 NPU 算子;本 PR 仅修改原型注释。 ## 文档更新 conversion/matrix_diag_part_v3/op_graph/matrix_diag_part_v3_proto.h:修正 brief 和 TensorFlow 兼容算子说明。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ### 当前PR是否有AI参与: [] 否 [x] 是 __1. Agent平台信息: Codex CLI 0.153.4 __2. 模型信息: gpt-5.6-luna __3. Prompt摘要: 依据 issue #3383 静态核对 MatrixDiagPartV3 原型语义与 TensorFlow 对应签名,仅修正两处注释;逐 hunk 对账并执行静态、格式与合规检查。 ### 希望检视人员了解: 1. 人工参与说明:用户提供挖掘报告、基线 commit、目标环境和提交流程;本轮代理独立核对源码与全量 issue/PR 命中、修复并执行验证。没有运行 CANN 单测或 NPU 算子。 See merge request: cann/ops-math!6101 | 28 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 | |
support ascend960dt/ascend960pr Co-authored-by: yangjinwen<yangjinwen2@huawei.com> # message auto-generated for no-merge-commit merge: !6523 merge dev-v121-bugfix into master support ascend960dt/ascend960pr Created-by: yangjinwen Commit-by: yangjinwen Merged-by: cann-robot Description: ## 描述 ascend960dt/ascend960pr 平台缺失部分算子的二进制编译配置,且 Concat→ConcatD 融合 pass 的 RegBase 平台判断未覆盖 ascend960dt(DAV_9201)架构,导致相关算子在 ascend960dt/ascend960pr 平台不可用。 本次改动: 1. conversion/concat_d/op_graph/fusion_pass/concat_to_concatd_fusion_pass.cpp:IsTargetPlatform() 的 regbaseArch 白名单新增 NpuArch::DAV_9201,使 Concat→ConcatD 融合 pass 在 ascend960dt 平台生效,日志同步更新。 2. scripts/kernel/binary_config/ascendc_config.json:为 Concat、ConcatD、ConcatV2、Pack、BatchToSpaceND、MatrixSetDiag、SpaceToDepth、DepthToSpace、Rint 共 9 个算子补充 ascend960dt 计算单元(compute_units)及对应编译选项配置。 3. **MatrixSetDiag 新增 ascend960dt/ascend960pr 平台支持**: - conversion/matrix_set_diag/CMakeLists.txt:COMPUTE_UNIT 新增 ascend960dt、ascend960pr,TILING_DIR 对应 arch35; - conversion/matrix_set_diag/op_host/matrix_set_diag_def.cpp:AICore 配置注册 ascend960dt、ascend960pr; - 新增 op_host/config/ascend960dt/matrix_set_diag_binary.json 与 op_host/config/ascend960pr/matrix_set_diag_binary.json(int8/int16/int32/int64 四种 dtype 二进制配置,DtypeByte 匹配)。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3681 See merge request: cann/ops-math!6523 | 21 days ago | |
feat(matrix_set_diag_v2): 迁移A6算子支持到A5主线 Co-authored-by: focusforce<gongquanchao@huawei.com> # message auto-generated for no-merge-commit merge: !6146 merge v121_10 into master feat(matrix_set_diag_v2): 迁移A6算子支持到A5主线 Created-by: focusforce Commit-by: focusforce Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> matrix_set_diag_v2迁移A6算子支持到A5主线 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3492](https://gitcode.com/cann/ops-math/issues/3492) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6146 | 28 days ago | |
feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !6157 merge f1008 into master feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 为 ascend960pr / ascend960dt 两个新增芯片形态适配算子,覆盖 conversion 与 math 目录下共 14 个算子;同时修正 addr 的 dtype 支持列表判断逻辑,并对个别文件做版权头/格式整理。 ### 改动原因 ascend960pr / ascend960dt 为新增芯片形态,现有算子需补齐平台注册、编译单元与二进制配置后,才能在新平台上被算子信息库发现、编译并选择正确的 kernel 二进制。 ### 改动方法 1. **算子信息库注册**( *_def.cpp):新增 this->AICore().AddConfig("ascend960pr", ...) 与 AddConfig("ascend960dt", ...) - conversion:assign、dynamic_partition、masked_fill、mem_set、tensor_move、tril、triu - math:addr、asin、eye、mod、sinc、truncate_div、truncate_mod 2. **编译配置**(CMakeLists.txt):在 SUPPORT_COMPUTE_UNIT / COMPUTE_UNIT 中追加 ascend960pr、ascend960dt,并在 SUPPORT_TILING_DIR / TILING_DIR 中追加对应的 arch35(tiling 目录沿用 arch35) 3. **二进制配置**:为每个算子新增 op_host/config/ascend960pr/ 与 op_host/config/ascend960dt/ 目录,包含 <op>_binary.json 与 <op>_simplified_key.ini 4. **addr dtype 判断修正**(math/addr/op_api/aclnn_addr.cpp):GetDtypeSupportList() 的判断由区间判断 >= ASCEND910B && <= ASCEND910E 改为显式判断 == ASCEND910B || == ASCEND910_93 || IsRegBase(),使 reg-base 平台复用 910B dtype 支持列表 5. **格式整理**:conversion/mem_set_v2/op_host/mem_set_v2_def.cpp、math/adds/op_host/adds_def.cpp、math/adds/CMakeLists.txt 仅做版权头/空行/行尾换行等整理 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3440 ## 测试 本 PR 未包含测试代码改动;适配涉及算子信息库、编译配置与二进制配置,需在 ascend960pr / ascend960dt 平台补充二级冒烟与算子泛化验证。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6157 | 1 month ago | |
feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !6157 merge f1008 into master feat: 新增 ascend960pr/ascend960dt 平台算子适配(14 个算子) Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 为 ascend960pr / ascend960dt 两个新增芯片形态适配算子,覆盖 conversion 与 math 目录下共 14 个算子;同时修正 addr 的 dtype 支持列表判断逻辑,并对个别文件做版权头/格式整理。 ### 改动原因 ascend960pr / ascend960dt 为新增芯片形态,现有算子需补齐平台注册、编译单元与二进制配置后,才能在新平台上被算子信息库发现、编译并选择正确的 kernel 二进制。 ### 改动方法 1. **算子信息库注册**( *_def.cpp):新增 this->AICore().AddConfig("ascend960pr", ...) 与 AddConfig("ascend960dt", ...) - conversion:assign、dynamic_partition、masked_fill、mem_set、tensor_move、tril、triu - math:addr、asin、eye、mod、sinc、truncate_div、truncate_mod 2. **编译配置**(CMakeLists.txt):在 SUPPORT_COMPUTE_UNIT / COMPUTE_UNIT 中追加 ascend960pr、ascend960dt,并在 SUPPORT_TILING_DIR / TILING_DIR 中追加对应的 arch35(tiling 目录沿用 arch35) 3. **二进制配置**:为每个算子新增 op_host/config/ascend960pr/ 与 op_host/config/ascend960dt/ 目录,包含 <op>_binary.json 与 <op>_simplified_key.ini 4. **addr dtype 判断修正**(math/addr/op_api/aclnn_addr.cpp):GetDtypeSupportList() 的判断由区间判断 >= ASCEND910B && <= ASCEND910E 改为显式判断 == ASCEND910B || == ASCEND910_93 || IsRegBase(),使 reg-base 平台复用 910B dtype 支持列表 5. **格式整理**:conversion/mem_set_v2/op_host/mem_set_v2_def.cpp、math/adds/op_host/adds_def.cpp、math/adds/CMakeLists.txt 仅做版权头/空行/行尾换行等整理 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3440 ## 测试 本 PR 未包含测试代码改动;适配涉及算子信息库、编译配置与二进制配置,需在 ascend960pr / ascend960dt 平台补充二级冒烟与算子泛化验证。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6157 | 1 month ago | |
【CircularPad/ReflectionPad】修复issue问题 修正padding约束说明与实现行为不一致 Co-authored-by: wjc<wangjincheng14@huawei.com> # message auto-generated for no-merge-commit merge: !6875 merge personal/wjc/issue3923 into master 【CircularPad/ReflectionPad】修复issue问题 修正padding约束说明与实现行为不一致 Created-by: Anthony0331 Commit-by: wjc Merged-by: cann-robot Description: ## 描述 本PR处理两个issue反馈的资料与实现不一致问题,均为纯资料修改,不改变任何运行行为。 **Issue #3923(CircularPad2d/3d padding上界)**:资料161002错误码子项承诺"padding大于等于self对应维度的大小"返回161002,与实现不符。经代码核验: - 两侧tiling对上界判定均为严格大于(arch22: left > inputW;arch35:padL > inOutputSize,报错信息为"circular wrapping more than once is not supported"),即 padding == dim 为设计放行,issue 作者在910B2实测该场景输出与循环填充语义一致 - padding > dim 时在算子准备(tiling)阶段失败,返回561103而非161002 修改内容:删除该161002子项(rowspan 7→6);参数约束改为"Ascend 950(Arch35)上每侧正padding不超过对应维度大小(允许等于),其他产品以对应版本约束为准";约束说明补充"大于对应维度时不支持,可能在算子准备(含tiling)阶段失败,不一定返回161002"。 **Issue #3932(ReflectionPad1d/2d/3d 负padding)**:负padding场景第一段GetWorkspaceSize放行(现有校验 padding[i] < dim,负值天然通过),第二段执行返回561103,资料未声明负padding语义。 经代码核验,负padding全程无静默成功路径、不产生错误数据:第一段SafePadSum已拦截危险负值(负pad裁剪超出对应维度时返回161002),其余负值在执行阶段以561103失败。选择"不支持负padding"口径并将现状如实写入资料。 修改内容:三份资料padding参数约束补充"须为非负";约束说明新增"不支持负padding;传入负值时第一段可能放行,执行阶段失败,不一定返回161002"。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3923 - https://gitcode.com/cann/ops-math/issues/3932 ## 测试 - 纯文档修改,无代码行为变更,不涉及 UT/ST - 本地执行 pre-commit 全量检查:trailing-whitespace、end-of-file-fixer、codespell、OAT 合规扫描全部通过 ## 文档更新 本PR更新约束说明,涉及文件: - conversion/circular_pad/docs/aclnnCircularPad2d.md - conversion/circular_pad/docs/aclnnCircularPad3d.md - conversion/mirror_pad/docs/aclnnReflectionPad1d.md - conversion/mirror_pad/docs/aclnnReflectionPad2d.md - conversion/mirror_pad/docs/aclnnReflectionPad3d.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6875 | 11 days ago | |
【docs】补充 aclnnNpuFormatCast / aclnnTransMatmulWeight 的 NZ 存储排布说明 Co-authored-by: yyt_hw<yangyuting54@huawei.com> # message auto-generated for no-merge-commit merge: !6737 merge br_yyt_issue3953 into master 【docs】补充 aclnnNpuFormatCast / aclnnTransMatmulWeight 的 NZ 存储排布说明 Created-by: yyt_hw Commit-by: yyt_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 补充 aclnnNpuFormatCast / aclnnTransMatmulWeight 的 NZ 存储排布说明 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3953](https://gitcode.com/cann/ops-math/issues/3953) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> CI通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新conversion/npu_format_cast/docs/aclnnNpuFormatCast.md、conversion/trans_data/docs/aclnnTransMatmulWeight.md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6737 | 8 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days ago | |
feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Co-authored-by: yangjinhan<yangjinhan@huawei.com> # message auto-generated for no-merge-commit merge: !6644 merge feat/register-infer-datatype into master feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Created-by: Ruyue1550 Commit-by: yangjinhan Merged-by: cann-robot Description: ## 描述 按 RT1.0 到 RT2.0 推导框架迁移方案第 1 步(补齐缺失的 InferDataType 注册,零行为变更)要求,为 12 个缺失 InferDataType 注册的算子新增 op_graph/*_graph_infer.cpp 注册文件。本次变更只新增文件、不修改任何存量代码,共 12 个文件、240 行。 ### 改动点 | # | 算子 | 新增文件 | 注册方式 | |---|------|---------|---------| | 1 | Pad | conversion/pad/op_graph/pad_graph_infer.cpp | InferDataTypeOutputSameAsInput | | 2 | PadV2 | conversion/pad_v2/op_graph/pad_v2_graph_infer.cpp | 同上 | | 3 | PadV3 | conversion/pad_v3/op_graph/pad_v3_graph_infer.cpp | 同上 | | 4 | PadV3Grad | conversion/pad_v3_grad/op_graph/pad_v3_grad_graph_infer.cpp | 同上 | | 5 | MirrorPad | conversion/mirror_pad/op_graph/mirror_pad_graph_infer.cpp | 同上 | | 6 | BroadcastTo | conversion/broadcast_to/op_graph/broadcast_to_graph_infer.cpp | 同上 | | 7 | Transpose | conversion/transpose/op_graph/transpose_graph_infer.cpp | 同上 | | 8 | Rint | math/rint/op_graph/rint_graph_infer.cpp | 同上 | | 9 | TruncateDiv | math/truncate_div/op_graph/truncate_div_graph_infer.cpp | 同上 | | 10 | Expand | math/expand/op_graph/expand_graph_infer.cpp | 同上 | | 11 | GetShape | math/get_shape/op_graph/get_shape_graph_infer.cpp | 专门推导,输出固定 INT32 | | 12 | HistogramFixedWidth | math/histogram_fixed_width/op_graph/histogram_fixed_width_graph_infer.cpp | 专门推导,输出固定 INT32 | ### 改动原因 1. 背景:RT2.0 V2 路径的 dtype 推导在未注册 InferDataType 时依赖 IR(proto/def 的 TensorType)符号映射兜底。以显式注册替代隐式兜底,使推导逻辑代码自明、不依赖 IR 声明的隐式行为,并为后续推导框架切换就位 op_graph 注册设施。 2. dtype 语义逐算子以 RT1.0 SetDataType 为基线核对(迁移原则:非算子语义变更): - 上述 #1-#10 共 10 个算子的 canndev RT1.0 实现均为 SetDataType(input_dtype)(取输入 x 的类型,const/非 const/未知 rank 各分支一致),输出 dtype 跟随输入,故注册仓内公共推导函数 InferDataTypeOutputSameAsInput,与本仓已有 Tile/Erfc/TruncateMod 注册同构; - GetShape、HistogramFixedWidth 的 RT1.0 实现硬编码 SetDataType(DT_INT32),输出为形状值/直方图计数,与输入 dtype 无关,故注册输出固定 INT32 的专门推导,与两者 proto/def 中 OUTPUT(y, TensorType({DT_INT32})) 声明一致。 3. 零行为变更:注册结果与 IR 符号推导兜底结果一致,不改变任何现网推导行为。 4. 构建零改动:op_graph/*.cpp 由 CMake GLOB_RECURSE 自动收集(cmake/func.cmake),无需修改 CMakeLists。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4099 ## 测试 - 本地无 CANN 构建环境,未执行编译与 UT,请通过门禁验证(评论 compile 触发 CI) - 已完成静态核对:13 个注册的 dtype 语义与 canndev RT1.0 SetDataType 逐分支一致、与各算子 proto/def 输出声明一致、与本仓已有同款注册(tile/erfc/truncate_mod/circular_pad)代码风格一致 - UT dtype 断言用例(断言注册结果=兜底结果)可随检视意见补充 ## 文档更新 无需更新文档(纯推导注册代码,无接口与行为变化) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6644 | 13 days ago | |
fix: 修复 pad_v2 GEIR 示例 include 路径与 GetSampleBuffers 声明冲突 Co-authored-by: tan_xin<tanxin44@huawei.com> # message auto-generated for no-merge-commit merge: !6915 merge master-tile into master fix: 修复 pad_v2 GEIR 示例 include 路径与 GetSampleBuffers 声明冲突 Created-by: tan_xin Commit-by: tan_xin Merged-by: cann-robot Description: ## 描述 修复 conversion/pad_v2/examples/arch35/test_geir_pad_v2.cpp(PadV2 算子 GEIR 图模式样例)的编译问题: 1. **修正 include 相对路径**:example 位于 examples/arch35/,与 op_graph/ 相差两级目录,由 #include "../op_graph/pad_v2_proto.h" 改为 #include "../../op_graph/pad_v2_proto.h"(对齐同仓 parallel_concat example 写法)。 2. **移除未使用的 include**:删除 #include "experiment_ops.h"。 3. **声明一致性**:GetSampleBuffers() 前置声明补充 static,与定义处的 static 声明保持一致,消除 linkage 冲突导致的编译错误。 ## 关联的Issue 关联 Issue [#4353](https://gitcode.com/cann/ops-math/issues/4353) ## 测试 - GEIR 图模式样例 test_geir_pad_v2.cpp 编译验证通过。 ## 文档更新 NA ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6915 | 10 days ago | |
fix: 拒绝 910B ReplicationPad 浮点路径不支持的负 padding Co-authored-by: wjc<wangjincheng14@huawei.com> # message auto-generated for no-merge-commit merge: !6837 merge personal/wjc/issue3878 into master fix: 拒绝 910B ReplicationPad 浮点路径不支持的负 padding Created-by: Anthony0331 Commit-by: wjc Merged-by: cann-robot Description: ## 描述 ReplicationPad(replicate模式)支持负padding(裁剪语义),但910B/910_93上float16/float/bfloat16经AICore执行时不支持负padding:用户传入负padding会在device侧报507035错误,报错位置深、信息不友好、难以定位。 本PR的修改: - op_replication_pad.h新增CheckNegativePadSupportedOnAiCore,接入ReplicationPad1d/2d/3d的CheckParams,存在负padding且dtype为float16/float/bfloat16时返回ACLNN_ERR_PARAM_INVALID,将device侧错误转为宿主侧干净的参数错误 - 拦截条件与真实执行分派(padv3.cpp IsAiCoreSupport(edge))逐条对齐,仅拦截必然走AICore浮点路径的场景:INT32等走AICPU的dtype放行、维数大于5走AICPU放行、RegBase平台放行、非910B/910_93平台放行 - 新增UT用例覆盖拦截与放行两侧:1d/2d/3d的float32负padding期望ACLNN_ERR_PARAM_INVALID,1d的float16负padding期望ACLNN_ERR_PARAM_INVALID,int32负padding期望ACL_SUCCESS - 同步更新aclnnReplicationPad1d/2d/3d文档中的padding约束说明 涉及代码变更,不影响已支持场景的行为:正padding与非910B平台行为不变。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3878 ## 测试 - UT:case_negative_pad_float32_reject / case_negative_pad_float16_reject期望ACLNN_ERR_PARAM_INVALID,case_negative_pad_int32_allow期望ACL_SUCCESS  - 本地执行pre-commit全量检查:trailing-whitespace、end-of-file-fixer、clang-format、codespell、OAT合规扫描全部通过 - 运行继承性ATK用例    ## 文档更新 本PR更新约束说明,涉及文件: - conversion/pad_v3/docs/aclnnReplicationPad1d.md - conversion/pad_v3/docs/aclnnReplicationPad2d.md - conversion/pad_v3/docs/aclnnReplicationPad3d.md ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6837 | 11 days ago | |
feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Co-authored-by: yangjinhan<yangjinhan@huawei.com> # message auto-generated for no-merge-commit merge: !6644 merge feat/register-infer-datatype into master feat(infershape): 补齐 12 个算子 op_graph InferDataType 注册 Created-by: Ruyue1550 Commit-by: yangjinhan Merged-by: cann-robot Description: ## 描述 按 RT1.0 到 RT2.0 推导框架迁移方案第 1 步(补齐缺失的 InferDataType 注册,零行为变更)要求,为 12 个缺失 InferDataType 注册的算子新增 op_graph/*_graph_infer.cpp 注册文件。本次变更只新增文件、不修改任何存量代码,共 12 个文件、240 行。 ### 改动点 | # | 算子 | 新增文件 | 注册方式 | |---|------|---------|---------| | 1 | Pad | conversion/pad/op_graph/pad_graph_infer.cpp | InferDataTypeOutputSameAsInput | | 2 | PadV2 | conversion/pad_v2/op_graph/pad_v2_graph_infer.cpp | 同上 | | 3 | PadV3 | conversion/pad_v3/op_graph/pad_v3_graph_infer.cpp | 同上 | | 4 | PadV3Grad | conversion/pad_v3_grad/op_graph/pad_v3_grad_graph_infer.cpp | 同上 | | 5 | MirrorPad | conversion/mirror_pad/op_graph/mirror_pad_graph_infer.cpp | 同上 | | 6 | BroadcastTo | conversion/broadcast_to/op_graph/broadcast_to_graph_infer.cpp | 同上 | | 7 | Transpose | conversion/transpose/op_graph/transpose_graph_infer.cpp | 同上 | | 8 | Rint | math/rint/op_graph/rint_graph_infer.cpp | 同上 | | 9 | TruncateDiv | math/truncate_div/op_graph/truncate_div_graph_infer.cpp | 同上 | | 10 | Expand | math/expand/op_graph/expand_graph_infer.cpp | 同上 | | 11 | GetShape | math/get_shape/op_graph/get_shape_graph_infer.cpp | 专门推导,输出固定 INT32 | | 12 | HistogramFixedWidth | math/histogram_fixed_width/op_graph/histogram_fixed_width_graph_infer.cpp | 专门推导,输出固定 INT32 | ### 改动原因 1. 背景:RT2.0 V2 路径的 dtype 推导在未注册 InferDataType 时依赖 IR(proto/def 的 TensorType)符号映射兜底。以显式注册替代隐式兜底,使推导逻辑代码自明、不依赖 IR 声明的隐式行为,并为后续推导框架切换就位 op_graph 注册设施。 2. dtype 语义逐算子以 RT1.0 SetDataType 为基线核对(迁移原则:非算子语义变更): - 上述 #1-#10 共 10 个算子的 canndev RT1.0 实现均为 SetDataType(input_dtype)(取输入 x 的类型,const/非 const/未知 rank 各分支一致),输出 dtype 跟随输入,故注册仓内公共推导函数 InferDataTypeOutputSameAsInput,与本仓已有 Tile/Erfc/TruncateMod 注册同构; - GetShape、HistogramFixedWidth 的 RT1.0 实现硬编码 SetDataType(DT_INT32),输出为形状值/直方图计数,与输入 dtype 无关,故注册输出固定 INT32 的专门推导,与两者 proto/def 中 OUTPUT(y, TensorType({DT_INT32})) 声明一致。 3. 零行为变更:注册结果与 IR 符号推导兜底结果一致,不改变任何现网推导行为。 4. 构建零改动:op_graph/*.cpp 由 CMake GLOB_RECURSE 自动收集(cmake/func.cmake),无需修改 CMakeLists。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/4099 ## 测试 - 本地无 CANN 构建环境,未执行编译与 UT,请通过门禁验证(评论 compile 触发 CI) - 已完成静态核对:13 个注册的 dtype 语义与 canndev RT1.0 SetDataType 逐分支一致、与各算子 proto/def 输出声明一致、与本仓已有同款注册(tile/erfc/truncate_mod/circular_pad)代码风格一致 - UT dtype 断言用例(断言注册结果=兜底结果)可随检视意见补充 ## 文档更新 无需更新文档(纯推导注册代码,无接口与行为变化) ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6644 | 13 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days ago | |
fix: 【ReplicationPad3dBackward】Atlas A2/A3上AiCore dtype负padding提前拦截返回161002 Co-authored-by: wjc<wangjincheng14@huawei.com> # message auto-generated for no-merge-commit merge: !6940 merge personal/wjc/issue3965 into master fix: 【ReplicationPad3dBackward】Atlas A2/A3上AiCore dtype负padding提前拦截返回161002 Created-by: Anthony0331 Commit-by: wjc Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> #3965 反馈:Atlas 910B 上调用 aclnnReplicationPad3dBackward 传入负 padding(如 self=[1,1,4,5,6]、padding=[-1,1,0,2,1,0])时,接口第一阶段不报参数错误,执行后在设备侧产生运行时错误(sync error 507035),且无有效报错信息。 根因:mode=replication + Ascend910B/910_93 + FLOAT16/FLOAT32/BFLOAT16 的组合会分派到 arch22 AiCore kernel,其内部以无符号类型处理 padding,负 padding 被当作超大数,导致设备侧越界访问。 改动方法: - 在 op_api 第一段(GetWorkspaceSize)的 CheckShape 中新增拦截:命中上述分派组合且 padding 含负值时,记录日志并返回 ACLNN_ERR_PARAM_INVALID(161002),不再进入执行阶段。拦截条件与 padv3grad.cpp 中 IsAiCoreSupportReplication3D 的分派条件严格一致:DOUBLE/COMPLEX64/COMPLEX128 走 AICPU 的路径不受影响,非 910B/910_93 产品不受影响,replication_pad1d/2d_backward 及 reflect 模式不受影响。 - 同步更新文档 aclnnReplicationPad3dBackward.md:参数表补充 A2/A3 产品上 FLOAT16/FLOAT32/BFLOAT16 输入时 padding 各元素须大于等于 0 的约束;错误码表 161002 新增对应子项。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> - https://gitcode.com/cann/ops-math/issues/3965 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 新增 UT 2 例(test_aclnn_replication_pad3d_backward_l2.cpp): - case_negative_padding_arch22_aicore_dtype:复刻 issue 复现参数(self=[1,1,4,5,6],padding=[-1,1,0,2,1,0],FLOAT),断言第一段返回 ACLNN_ERR_PARAM_INVALID; - case_negative_padding_arch22_double_not_intercepted:同参数 DOUBLE dtype,断言第一段正常返回,锚定 AICPU 路径不受新拦截影响。 - 两例均按 GetCurrentPlatformInfo 门控,仅在 910B/910_93 环境执行,其他环境自动跳过。 - pre-commit(含 OAT 合规检查)对本次改动的 3 个文件全部通过。 - 继承性atk测试通过 -  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> - 更新 conversion/pad_v3_grad_replication/docs/aclnnReplicationPad3dBackward.md:参数表 padding 约束、错误码表新增子项。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6940 | 8 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days ago | |
feat: parallel_concat 算子新增 ascend960dt/ascend960pr 平台支持 Co-authored-by: Hana77<wangtianqi27@huawei.com> # message auto-generated for no-merge-commit merge: !6444 merge 121 into master feat: parallel_concat 算子新增 ascend960dt/ascend960pr 平台支持 Created-by: Hana77 Commit-by: Hana77 Merged-by: cann-robot Description: ## 描述 本次变更使能 parallel_concat(ParallelConcat)算子在 Ascend 960 平台(ascend960dt/ascend960pr)运行,涉及算子工程编译配置与算子定义注册两处改动。 改动原因:parallel_concat 算子此前仅注册 ascend950、ascend350 计算单元(复用 arch35 tiling/kernel 实现),需新增 ascend960dt、ascend960pr 平台支持,与仓库内其他 conversion 类算子的 Ascend 960 适配保持一致。 改动方法: 1. conversion/parallel_concat/CMakeLists.txt - SUPPORT_COMPUTE_UNIT 由 "ascend950" "ascend350" 扩展为 "ascend950" "ascend350" "ascend960dt" "ascend960pr" - SUPPORT_TILING_DIR 同步新增两个 "arch35",ascend960dt/ascend960pr 复用 op_host/arch35 tiling 实现 - add_kernel_sources 的 COMPUTE_UNITS 新增 ascend960dt ascend960pr,kernel 复用 arch35/parallel_concat.cpp 2. conversion/parallel_concat/op_host/parallel_concat_def.cpp - ParallelConcat 算子定义新增 AICore().AddConfig("ascend960dt", aiCoreConfig) 与 AICore().AddConfig("ascend960pr", aiCoreConfig),AICore 配置沿用 ascend950/ascend350 现有配置 ## 关联的Issue - #3644(https://gitcode.com/cann/ops-math/issues/3644) ## 测试 本次变更仅涉及平台注册与编译配置,未修改算子计算逻辑,kernel/tiling 复用 arch35 现有实现;仓库内已有 tests/ut(op_host tiling、infershape、op_kernel)与 GE 图模式样例 examples/arch35/test_geir_parallel_concat.cpp,可在 ascend960dt/ascend960pr 环境执行算子 UT 与 GE 图模式调用验证。 ## 文档更新 本次变更未涉及文档更新。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6444 | 22 days ago | |
迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6237 merge merge-pr-5595-5610-5757 into master 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq;Dazhou_Cao Merged-by: cann-robot Description: ## 描述 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6237 | 20 days ago | |
迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6237 merge merge-pr-5595-5610-5757 into master 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq;Dazhou_Cao Merged-by: cann-robot Description: ## 描述 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6237 | 20 days ago | |
feat: 迁移5个conversion算子(identity/identity_n/snapshot/stop_gradient/prevent_gradient) Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !5245 merge feature/migrate-conversion-ops into master feat: 迁移5个conversion算子(identity/identity_n/snapshot/stop_gradient/prevent_gradient) Created-by: Dazhou_Cao Commit-by: Dazhou_Cao Merged-by: cann-robot Description: 迁移5个conversion算子,包含op_graph、op_host、tests、CMakeLists和README See merge request: cann/ops-math!5245 | 1 month ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days ago | |
feat: 迁移gelocal控制流与基础算子交付件(含While/If/Case/For/PartitionedCall、TF控制流插件、reshape),实现RT2.0交付 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !6621 merge migrate-gelocal-delivery into master feat: 迁移gelocal控制流与基础算子交付件(含While/If/Case/For/PartitionedCall、TF控制流插件、reshape),实现RT2.0交付 Created-by: Dazhou_Cao Commit-by: Dazhou_Cao Merged-by: cann-robot Description: ## 描述 汇总迁移 gelocal(RT2.0)算子交付件: - **基础/GE 控制流算子**:size、rank、LoopCond、NextIteration、RefIdentity、SwitchByIndex、aipp_data、End、squeezev2、unsqueezev2,以及 enter/exit/merge/switch/switch_n/ref_* 等 - **子图控制流算子**:If、Case、For、PartitionedCall、While(原型注册 + RT2.0 推导注册 + UT + README,If/Case/For/PartitionedCall 含 GeIR 示例;均归入 ge 分类) - **TF 控制流插件**:If/_If/StatelessIf、While/_While/StatelessWhile、Case/StatelessCase、PartitionedCall/StatefulPartitionedCall 变体合并映射 - **reshape**:infershape 对齐 RT1.0 语义、allowzero/shape 属性注册、信息库 - **文档**:README 产品支持表统一(全部√)、gather_shapes 归入 conversion、op_list 同步登记 ## 测试 - bash build.sh --ophost --opgraph -j8 构建通过(含各算子 REG_OP 注册校验) - 宿主侧全量 UT:2594/2594 PASSED(384 test suites) ## 说明 - 内容汇总自此前迁移 PR(6474 / 6522 / 6208)的交付件,本 PR 为其合并后的统一交付 See merge request: cann/ops-math!6621 | 15 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days ago | |
feat: 迁移gelocal控制流与基础算子交付件(含While/If/Case/For/PartitionedCall、TF控制流插件、reshape),实现RT2.0交付 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !6621 merge migrate-gelocal-delivery into master feat: 迁移gelocal控制流与基础算子交付件(含While/If/Case/For/PartitionedCall、TF控制流插件、reshape),实现RT2.0交付 Created-by: Dazhou_Cao Commit-by: Dazhou_Cao Merged-by: cann-robot Description: ## 描述 汇总迁移 gelocal(RT2.0)算子交付件: - **基础/GE 控制流算子**:size、rank、LoopCond、NextIteration、RefIdentity、SwitchByIndex、aipp_data、End、squeezev2、unsqueezev2,以及 enter/exit/merge/switch/switch_n/ref_* 等 - **子图控制流算子**:If、Case、For、PartitionedCall、While(原型注册 + RT2.0 推导注册 + UT + README,If/Case/For/PartitionedCall 含 GeIR 示例;均归入 ge 分类) - **TF 控制流插件**:If/_If/StatelessIf、While/_While/StatelessWhile、Case/StatelessCase、PartitionedCall/StatefulPartitionedCall 变体合并映射 - **reshape**:infershape 对齐 RT1.0 语义、allowzero/shape 属性注册、信息库 - **文档**:README 产品支持表统一(全部√)、gather_shapes 归入 conversion、op_list 同步登记 ## 测试 - bash build.sh --ophost --opgraph -j8 构建通过(含各算子 REG_OP 注册校验) - 宿主侧全量 UT:2594/2594 PASSED(384 test suites) ## 说明 - 内容汇总自此前迁移 PR(6474 / 6522 / 6208)的交付件,本 PR 为其合并后的统一交付 See merge request: cann/ops-math!6621 | 15 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 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 | 12 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 | 12 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 | |
feat: 迁移5个conversion算子(identity/identity_n/snapshot/stop_gradient/prevent_gradient) Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !5245 merge feature/migrate-conversion-ops into master feat: 迁移5个conversion算子(identity/identity_n/snapshot/stop_gradient/prevent_gradient) Created-by: Dazhou_Cao Commit-by: Dazhou_Cao Merged-by: cann-robot Description: 迁移5个conversion算子,包含op_graph、op_host、tests、CMakeLists和README See merge request: cann/ops-math!5245 | 1 month ago | |
fix(conversion): space_to_batch精度问题修复 Co-authored-by: onanfield<tianshang@huawei.com> # message auto-generated for no-merge-commit merge: !6429 merge fix/spacetobatch-wvalidmax-floor-div into master fix(conversion): space_to_batch精度问题修复 Created-by: onanfield Commit-by: onanfield Merged-by: cann-robot Description: ## 描述 space_to_batch W轴有效上界负分子整除向零截断,改为向下取整 ## 关联的Issue https://gitcode.com/wangyueting/changwei_liuyi/issues/112 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6429 | 22 days ago | |
fix(space_to_batch_nd): 修正 arch35 尾部 padding 块有效区间负向越界判断 Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !6511 merge fix_s2bnd into master fix(space_to_batch_nd): 修正 arch35 尾部 padding 块有效区间负向越界判断 Created-by: yefeicoding Commit-by: yefeicoding Merged-by: cann-robot Description: ## 描述 conversion/space_to_batch_nd/op_kernel/arch35/space_to_batch_nd.h 中,HasValidRange、CalcValidRange、CalcBlockCountRange 三处在计算有效 block 区间上界时使用 (pt + sp - 1 - bi) / bsVal(CalcBlockCountRange 为 ... / bsN + 1)。当某个 block 完全落在尾部 padding 区域时,分子 pt + sp - 1 - bi 为负,而 C++ 整数除法向零截断得到 0,使本应为空的有效区间被判为 [0, 0] 非空;完全落在尾部 padding 的 block 因此被当作有效块,在 CopyInKey2/3/4 中越界读取相邻 batch 的数据。 本次将三处区间上界计算改为分子为负时取 -1(CalcBlockCountRange 中取 0),使区间判空,消除越界读取。 ## 关联的Issue #3685 ## 测试 本 PR diff 仅涉及 space_to_batch_nd.h,未包含测试文件变更。建议针对 block 完全落在尾部 padding 的 space_to_batch_nd 场景进行算子泛化 / 冒烟验证。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6511 | 21 days ago | |
feat: DepthToSpace/SpaceToDepth 新增 RT2.0 infershape(verify 并入 + 动态 shape 透传 + InferDataType 内联注册)及 UT Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !6655 merge inferB into master feat: DepthToSpace/SpaceToDepth 新增 RT2.0 infershape(verify 并入 + 动态 shape 透传 + InferDataType 内联注册)及 UT Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> DepthToSpace/SpaceToDepth 新增 RT2.0 infershape(verify 并入 + 动态 shape 透传 + InferDataType 内联注册)及 UT ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/4198 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6655 | 12 days ago | |
math仓算子适配350 Co-authored-by: zhouliang<zhouliang88@huawei.com> # message auto-generated for no-merge-commit merge: !5906 merge master into master math仓算子适配350 Created-by: zhou-liang1027 Commit-by: zhouliang Merged-by: cann-robot Description: ## 描述 math仓算子适配350 ## 关联的Issue [math仓算子适配350](https://gitcode.com/cann/ops-math/issues/3463) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5906 | 1 month ago | |
feat: split_v/split/unpack 算子支持 ascend960dt Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !6032 merge ft-960dt-split into master feat: split_v/split/unpack 算子支持 ascend960dt Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - feat: split_v 算子支持 ascend960dt - feat: split 算子支持 ascend960dt - feat: unpack 算子支持 ascend960dt ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3353 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6032 | 1 month ago | |
splitd算子inferdatatype只推导首个动态输出,补齐多输出场景的dtype推导 Co-authored-by: sujunwei3<sujunwei3@huawei.com> # message auto-generated for no-merge-commit merge: !6775 merge fix/splitd-infer-datatype into master splitd算子inferdatatype只推导首个动态输出,补齐多输出场景的dtype推导 Created-by: sujunwei3 Commit-by: sujunwei3 Merged-by: cann-robot Description: ## 描述 SplitD 算子 RT2 infershape 的 InferDataType4SplitD 回调原先只调用 SetOutputDataType(0, xDtype),仅推导第一个动态输出实例的 dtype。y 为 DYNAMIC_OUTPUT,当 num_split > 1 时其余输出实例的 dtype 不会被推导,在纯 RT2(无 RT1 infershape)调用路径下会造成同一算子多个输出类型不一致。 修复方式:参照 Split/SplitV 已有的同类修复,通过 GetComputeNodeOutputNum() 遍历所有动态输出实例,逐个设置输入 dtype;并补充直接调用 infer_datatype 的多输出 UT 防止回归。 ## 关联的Issue #4183 ## 测试 1. **单元测试**(bash build.sh -u --ophost --ops=split_d --soc=ascend910b) - 新增 split_d_infer_datatype_bf16_multi_output:BF16 输入、num_split=2,断言两个输出均为 DT_BF16; - 新增 split_d_infer_datatype_float_multi_output:FLOAT 输入、num_split=3,断言三个输出均为 DT_FLOAT; - UT 采用 OpInferDataTypeContextBuilder 直接调用 infer_datatype,输出槽初始化为 DT_MAX 哨兵值,未推导的输出会立即断言失败。 2. **反向验证** - 临时恢复旧的单输出实现后,两个新用例 FAILED,证明 UT 能捕获旧缺陷;恢复修复后 5 个用例全部 PASSED。 3. **回归** - 原 3 个 infershape UT 用例(正/负 split_dim、整除性校验)无回归。 ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6775 | 12 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days ago | |
【错误码整改】chunk_cat、split_d、squeeze、unfold_grad算子错误码整改 Co-authored-by: t00935269<tangkaidi1@huawei.com> # message auto-generated for no-merge-commit merge: !6636 merge master into master 【错误码整改】chunk_cat、split_d、squeeze、unfold_grad算子错误码整改 Created-by: tangkaidi Commit-by: t00935269 Merged-by: cann-robot Description: ## 描述 chunk_cat、split_d、squeeze、unfold_grad的host侧错误码进行整改,将输入缺失、属性值及 Shape/Dtype 非法等场景改为对应的正式错误码,并避免外层重复上报覆盖底层错误,以及部分错误码错误使用的情况。 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue [Experience Request|体验需求]: 【错误码整改】chunk_cat、split_d、squeeze、unfold_grad算子错误码整改 [#3857](https://gitcode.com/cann/ops-math/issues/3857) <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 共计63个错误码整改点,每个修改点各对应1个独立的测试UT,共63个全部PASS,同时库上已有UT用例共32个,不受影响仍然全部PASS。 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 不涉及 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6636 | 18 days ago | |
fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6690 merge migrate_gelocal_fix_ErrorCode into master fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq Merged-by: cann-robot Description: ## 描述 整改四个算子squeezev2/squeezev3/unsqueezev2/unsqueezev3,op_host层级infershape中非法使用的错误码 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6690 | 15 days ago | |
fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6690 merge migrate_gelocal_fix_ErrorCode into master fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq Merged-by: cann-robot Description: ## 描述 整改四个算子squeezev2/squeezev3/unsqueezev2/unsqueezev3,op_host层级infershape中非法使用的错误码 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6690 | 15 days ago | |
修复 stack_ball_query 算子错误码 Co-authored-by: init__zhb__<zhanghaobo6@huawei.com> # message auto-generated for no-merge-commit merge: !6686 merge br.fix.errcode.stack_ball_query into master 修复 stack_ball_query 算子错误码 Created-by: init__zhb__ Commit-by: init__zhb__ Merged-by: cann-robot Description: ## 描述 conversion/stack_ball_query算子EZ9999错误码整改,整改列表: | 层级 | 上报接口 | 文件 | 行号 | |---|---|---|---| | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 38 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 46 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 48 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 50 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 52 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 55 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 93 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_infershape.cpp | 95 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 53 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 61 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 72 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 81 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 101 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 115 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 131 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 139 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 162 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 167 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 169 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 173 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 184 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 187 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 196 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 210 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 212 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 214 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 280 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 289 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 293 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 299 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 336 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 381 | | op_host | OP_CHECK_NULL_WITH_CONTEXT | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 383 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 387 | | op_host | OP_LOGE | conversion/stack_ball_query/op_host/stack_ball_query_tiling.cpp | 395 | ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 - UT 构建通过: bash build.sh -u --ophost --ops=stack_ball_query --soc=ascend910b --noexec -j8 - UT 测试通过: bash $ $ ./build/tests/ut/op_host/math_op_host_ut --gtest_filter='StackBallQuery*' Note: Google Test filter = StackBallQuery* ... [ RUN ] StackBallQueryInfershape.stack_ball_query_infershape_neg_input_num_mismatch [ OK ] StackBallQueryInfershape.stack_ball_query_infershape_neg_input_num_mismatch (0 ms) StackBallQueryInfershape TearDown [----------] 14 tests from StackBallQueryInfershape (0 ms total) [----------] Global test environment tear-down Global Environment TearDown [==========] 32 tests from 2 test suites ran. (25 ms total) [ PASSED ] 32 tests. - 黄区构建通过:  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6686 | 14 days ago | |
feat: 迁移5个conversion算子(identity/identity_n/snapshot/stop_gradient/prevent_gradient) Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> # message auto-generated for no-merge-commit merge: !5245 merge feature/migrate-conversion-ops into master feat: 迁移5个conversion算子(identity/identity_n/snapshot/stop_gradient/prevent_gradient) Created-by: Dazhou_Cao Commit-by: Dazhou_Cao Merged-by: cann-robot Description: 迁移5个conversion算子,包含op_graph、op_host、tests、CMakeLists和README See merge request: cann/ops-math!5245 | 1 month ago | |
Kirin X90/9030支持Cast/Mul/Transpose/Add/ConcatD/StridedSlice算子 Co-authored-by: chenlong1<chenlong1@huawei.com> Co-authored-by: jinzy1999<jinzy@pku.edu.cn> # message auto-generated for no-merge-commit merge: !6581 merge master into master Kirin X90/9030支持Cast/Mul/Transpose/Add/ConcatD/StridedSlice算子 Created-by: chenlong1 Commit-by: chenlong1;jinzy1999 Merged-by: cann-robot Description: ## 描述 Kirin X90/9030支持Cast/Mul/Transpose/Add/ConcatD/StridedSlice算子 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3790 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6581 | 12 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 | 12 days ago | |
A5A6支持strided_slice_assign_v2算子 Co-authored-by: liaohuming<liaohuming@huawei.com> # message auto-generated for no-merge-commit merge: !5726 merge master into master A5A6支持strided_slice_assign_v2算子 Created-by: liaohuming Commit-by: liaohuming Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> A5A6支持strided_slice_assign_v2算子。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/4313 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> (1)设计了ut,白盒用例98条,泛化用例500条,性能用例,测试均通过。 (2)二级冒烟通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新了README.md与aclnnStridedSliceAssignV2.md文档。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [x] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5726 | 10 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days 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 | 18 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days ago | |
feat: viewcopy/as_strided/tensor_move 回合ascend960dt平台适配代码 Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !6191 merge v121_10 into master feat: viewcopy/as_strided/tensor_move 回合ascend960dt平台适配代码 Created-by: yefeicoding Commit-by: yefeicoding Merged-by: cann-robot Description: ## 描述 viewcopy/as_strided/tensor_move 回合ascend960dt平台适配代码 ## 关联的Issue #3498 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6191 | 24 days ago | |
fix: harden July math operators and relocate MulNoNan dtype inference Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !6533 merge fix/july-five-ops-hardening-20261020 into master fix: harden July math operators and relocate MulNoNan dtype inference Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 TensorRedirect示例以字节填充生成FLOAT数据,且未完整设置Data输出描述、校验输出和传播文件写入错误;AddV2示例的两个Data使用相同索引,也未把输出校验和文件写入结果作为成功条件。本次修正这些路径,补齐相关资源清理,使示例在结果或文件写入异常时返回失败。 同步将TensorRedirect在Ascend 950PR&950DT系列产品上的rank描述对齐为[0,8],包括标量;AddV2约束说明对齐其参数表和实际支持类型。 基于主仓master 21854b2844e6d65ceecd2de0c7cb65efa44e41de,前次两算子修订受测提交:44980699fb1a7d5df1d5fd1a0d5b23141183ce40。 **MulNoNan:编译信息布局、CPU参考及GE示例** - math/mul_no_nan/op_host/arch35/mul_no_nan_tiling_arch35.h:用Ops::Base::BroadcastCompileInfo替代私有两字段结构。原结构为16字节,而BroadcastBaseTiling在平台对象为空时按带isAscendC字段的24字节结构读取,存在coreNum错位及ubSize越界读取风险;统一类型后沿用既有TilingPrepare初始化逻辑。现有Host UT的聚合初始化同步增加isAscendC字段。 - tests/assets/golden.py:CPU参考改用PyTorch乘法和where,移除Kernel/GEIR路径对TensorFlow的导入依赖;浮点中间值使用float64,普通模式回传原dtype,Promote模式保留高精度;INT32保留原生整数乘法回绕,x2为0时仍严格选择0。TensorFlow E2E原有注册与默认CPU回退保持原样。 - examples/arch35/test_geir_mul_no_nan.cpp:四种dtype的输入缓冲使用unique_ptr,检查分配和SetData;第二Data索引改为1并补齐输出描述;检查Session创建;严格核对输出数量、完整shape、dtype、缓冲大小和所有数值。保留原有27个场景,新增--list和单场景选择,并按仓库要求格式化。 - examples/arch35/CMakeLists.txt:新增独立GE示例构建配置,按ASCEND_HOME_PATH查找本套CANN的头文件及GE库。 - README与Proto:将950产品rank≤8限定到产品差异说明,补充GE空Tensor输出语义;将不存在的tf.math.multiply_no_nans改为tf.math.multiply_no_nan并区分浮点对应关系和INT32扩展;统一dtype标点及GE图模式入口。其他产品支持标记不变。 **MulNoNan:接手推导注册迁移** - dtype推导从op_host/mul_no_nan_infershape.cpp迁入op_graph/mul_no_nan_graph_infer.cpp,增加空context、两个输入dtype一致性检查,并返回输出dtype写入状态。 - 原4条dtype UT随注册移动至Graph测试目录,增加混合dtype拒绝用例。既有广播shape、编译信息修复、PyTorch golden和27场景示例保留,未修改Kernel算法。 - 仅导入源PR #6548中的MulNoNan部分;RaggedBinCount的3个文件没有导入,也不改写或关闭包含该排除项的原PR:https://gitcode.com/cann/ops-math/pull/6548。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3692 ## 测试 2026-10-21文档精简提交de3b179a823a7a9aa20e5813c9d74d680edf7b94:完成本次范围的README检查、链接/调用表渲染、diff及提交钩子检查;确认相对上一提交仅README变化,未重跑NPU、TTK或构建。此前设备验证仍归属原受测提交。 **接手合并后验证** - 受测提交:b0526c4e37ee8ba6abbab528e5adba66c7c02caa;定向JIT包构建/部署通过,构建并行度≤8。 - 当前普通CANN环境下,MulNoNan 6条用例、静态/动态12次执行通过:FP32/FP16/BF16/INT32等形、标量、交叉广播;混合dtype1条到达GE并由当前包的存量MulNoNanVerify按预期拒绝,不计作新V2 dtype分支执行覆盖。 - 使用July本地TTK 92496503b70e2e05892d15dd5b78d1f80eae77df、算子仓golden、已核对哈希的冻结输入,显式--pc=1,Promote/stat_rel_err;未使用LD_PRELOAD或注册屏蔽。 - 另有相同6条/12次诊断执行通过,用于迁移入口排查,独立标记,不能替代正式canndev产品包验证。配套canndev PR:https://gitcode.com/cann/canndev/pull/82602,目前受内部SDK依赖阻塞。 - 本次pre-commit/OAT、diff核对通过;MulNoNan示例/文档在本阶段未再修改,原27场景记录继续对应下述补扫提交。本次未重跑Host/Graph UT或全量本地CI。 补扫阶段受测提交:129d2d00dac66ed7d351ad5691dd2fd80b2c3171。以下该阶段结果保持原始归属,不重复计作接手后重跑。 **本次MulNoNan补扫验证** - build.sh --pkg --jit --soc=ascend950 --ops=tensor_redirect,add_v2,mul_no_nan -j8构建及定向vendor部署通过。 - TTK GEIR正向8/8:FP32、FP16、BF16、INT32、双向广播、标量、rank=8和空Tensor。 - TTK动态GEIR普通FP32 1/1通过。 - TTK GEIR特殊值4/4:三种浮点dtype覆盖NaN/Inf乘零、负零、仅x2判零及非零乘法传播;INT32覆盖边界溢出回绕。适配器调用仓内golden并对固定数学期望、返回dtype和Promote结果作独立断言。 - 最终GE示例27/27场景通过,逐场景独立进程执行;错误场景名和多余参数两条负向调用返回预期255。 - 补扫阶段的4条构建调用命令均实际执行通过;产物与27个场景验证使用的二进制哈希一致。pre-commit、OAT及文档检查通过。 - Host UT源码同步适配结构初始化,未单独执行;本次未运行全量本地CI、性能测试或其他产品验证。 **此前已交付算子的验证记录(对应此前受测提交)** 环境:Ascend950PR_9579,CANN 9.3.0~weekly.20260923.01,Python 3.12.9,TTK 92496503b70e2e05892d15dd5b78d1f80eae77df。构建并行度不超过8,TTK均显式使用--pc=1。 - build.sh --pkg --jit --soc=ascend950 --ops=tensor_redirect,add_v2 -j8构建及部署通过。 - TTK GEIR正向8/8:TensorRedirect覆盖标量、rank=8、普通及空Tensor;AddV2覆盖普通、广播、标量及空Tensor。 - 两个交付GE示例均原样编译、在NPU运行并退出0;校验shape/dtype,TensorRedirect逐bit比较输出,AddV2逐元素检查预期4.0。 - 两个示例分别将输入dump目标预置为目录,图执行成功后文件打开失败,程序均按预期返回255。 - pre-commit、全部5个修改文件的OAT和git diff --check通过;README链接、产品行、参数能力并集及渲染结构检查通过。 ## 文档更新 MulNoNan README删除多余的编译运行段落及场景选择说明,保留原有调用表、示例和算子IR链接。示例源码、CMake配置及算子实现未变。 新增算子的逐文件文档修订见上文;已按本次文档与示例指引核对产品完整名称、能力并集、链接、围栏和渲染,运行全部修改后的示例场景。40条原始扫描记录已逐项处置:对缺少其他产品实现、基线INI shape=all或私有format等证据不足项,保留既有支持信息和当前框架限制,不据此修改注册范围。 TensorRedirect的950产品rank及Proto说明对齐当前实现和标量用例,其他产品既有rank说明保留。AddV2明确不支持DOUBLE/COMPLEX128并指向既有产品差异说明。其他产品的运行行为未在本次设备上认证。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6533 | 18 days ago | |
feat: pad_v2 新增 COMPLEX64/COMPLEX128 支持,circular_pad_grad 修改参数校验 Co-authored-by: tan_xin<tanxin44@huawei.com> # message auto-generated for no-merge-commit merge: !6513 merge master-tile into master feat: pad_v2 新增 COMPLEX64/COMPLEX128 支持,circular_pad_grad 修改参数校验 Created-by: tan_xin Commit-by: tan_xin Merged-by: cann-robot Description: ## 描述 本次提交对 pad_v2 与 circular_pad_grad 算子进行功能增强与校验放宽。 ### 改动原因 - pad_v2 此前不支持 COMPLEX64/COMPLEX128,且 constant_values 被文档描述为必选,Tiling 侧存在冗余前置校验,限制适用场景 - circular_pad_grad 的 shape 校验过严(padding 必须小于对应维度、gradOutput 前导维度必须与 self 一致),与实际允许场景不符 ### 改动方法 1. pad_v2 README 与 proto:x、constant_values、y 新增 COMPLEX64、COMPLEX128;constant_values 改为可选 Tensor(仅 constant 模式使用,缺省 0) 2. pad_v2 Tiling:移除 paddings 空数据拦截、constant_values dtype 一致性与标量形状校验;example 增加 mode 属性 3. circular_pad_grad op_api:移除 padding 小于对应维度、gradOutput 前导维度一致性校验,错误码修正为 ACLNN_ERR_INNER_NULLPTR 4. 同步更新 tiling UT workspace 期望、golden.py、ST/UT 用例 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/4016 ## 测试 - [x] 算子单测(pad_v2 tiling UT / circular_pad_grad UT/ST 更新) ## 文档更新 - conversion/pad_v2/README.md - conversion/pad_v2/op_graph/pad_v2_proto.h - conversion/circular_pad_grad/docs/aclnnCircularPad2dBackward.md - conversion/circular_pad_grad/docs/aclnnCircularPad3dBackward.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6513 | 13 days ago | |
【docs】补充 aclnnNpuFormatCast / aclnnTransMatmulWeight 的 NZ 存储排布说明 Co-authored-by: yyt_hw<yangyuting54@huawei.com> # message auto-generated for no-merge-commit merge: !6737 merge br_yyt_issue3953 into master 【docs】补充 aclnnNpuFormatCast / aclnnTransMatmulWeight 的 NZ 存储排布说明 Created-by: yyt_hw Commit-by: yyt_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 补充 aclnnNpuFormatCast / aclnnTransMatmulWeight 的 NZ 存储排布说明 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3953](https://gitcode.com/cann/ops-math/issues/3953) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> CI通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新conversion/npu_format_cast/docs/aclnnNpuFormatCast.md、conversion/trans_data/docs/aclnnTransMatmulWeight.md文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6737 | 8 days ago | |
迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Co-authored-by: Dazhou_Cao<caodazhou@huawei.com> Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6237 merge merge-pr-5595-5610-5757 into master 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq;Dazhou_Cao Merged-by: cann-robot Description: ## 描述 迁移gelocal算子squeeze、unsqueeze、squeezev3、unsqueezev3及NoOp、ControlTrigger、PhonyConcat、PhonySplit、TransShape、FlattenV2、ExpandDims算子 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6237 | 20 days ago | |
Kirin X90/9030支持Cast/Mul/Transpose/Add/ConcatD/StridedSlice算子 Co-authored-by: chenlong1<chenlong1@huawei.com> Co-authored-by: jinzy1999<jinzy@pku.edu.cn> # message auto-generated for no-merge-commit merge: !6581 merge master into master Kirin X90/9030支持Cast/Mul/Transpose/Add/ConcatD/StridedSlice算子 Created-by: chenlong1 Commit-by: chenlong1;jinzy1999 Merged-by: cann-robot Description: ## 描述 Kirin X90/9030支持Cast/Mul/Transpose/Add/ConcatD/StridedSlice算子 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3790 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6581 | 12 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 | 15 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days ago | |
适配ascend350 Co-authored-by: Hana77<wangtianqi27@huawei.com> # message auto-generated for no-merge-commit merge: !6165 merge dvlite into master 适配ascend350 Created-by: Hana77 Commit-by: Hana77 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 算子适配ascend350 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3439](https://gitcode.com/cann/ops-math/issues/3439) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6165 | 29 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days ago | |
feat: split_v/split/unpack 算子支持 ascend960dt Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !6032 merge ft-960dt-split into master feat: split_v/split/unpack 算子支持 ascend960dt Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - feat: split_v 算子支持 ascend960dt - feat: split 算子支持 ascend960dt - feat: unpack 算子支持 ascend960dt ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3353 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6032 | 1 month 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 | 15 days ago | |
fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6690 merge migrate_gelocal_fix_ErrorCode into master fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq Merged-by: cann-robot Description: ## 描述 整改四个算子squeezev2/squeezev3/unsqueezev2/unsqueezev3,op_host层级infershape中非法使用的错误码 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6690 | 15 days ago | |
fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Co-authored-by: gcw_2mqml1vq<guoguanghai@huawei.com> # message auto-generated for no-merge-commit merge: !6690 merge migrate_gelocal_fix_ErrorCode into master fix:整改squeezev2/squeezev3/unsqueezev2/unsqueezev3非法使用错误码 Created-by: gcw_2mqml1vq Commit-by: gcw_2mqml1vq Merged-by: cann-robot Description: ## 描述 整改四个算子squeezev2/squeezev3/unsqueezev2/unsqueezev3,op_host层级infershape中非法使用的错误码 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6690 | 15 days ago | |
math仓英文合入 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !6772 merge master into master math仓英文合入 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 math仓master分支英文合入 ## 关联的Issue 关联issue:[4170](https://gitcode.com/cann/ops-math/issues/4170) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6772 | 12 days ago | |
feat(weight_quant_preprocess): add MX A8HiF4 data flow for Ascend960 Co-authored-by: yan-chengyi123<yanchengyi@huawei.com> # message auto-generated for no-merge-commit merge: !6574 merge master into master feat(weight_quant_preprocess): add MX A8HiF4 data flow for Ascend960 Created-by: yan-chengyi123 Commit-by: yan-chengyi123 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6574 | 8 days ago | |
zeros_like/zero_op 支持 HIFLOAT4/HIFLOAT4_SCALE 数据类型 Co-authored-by: zhu-xun00613388<zhuxun7@huawei.com> # message auto-generated for no-merge-commit merge: !6537 merge v121_master into master zeros_like/zero_op 支持 HIFLOAT4/HIFLOAT4_SCALE 数据类型 Created-by: zhu-xun Commit-by: zhu-xun00613388 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> zeros_like/zero_op 支持 HIFLOAT4/HIFLOAT4_SCALE 数据类型 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6537 | 20 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 |
|---|---|---|
| 24 days ago | ||
| 1 month ago | ||
| 11 days ago | ||
| 10 days ago | ||
| 18 days ago | ||
| 19 days ago | ||
| 10 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 12 days ago | ||
| 11 days ago | ||
| 11 days ago | ||
| 12 days ago | ||
| 17 days ago | ||
| 11 days ago | ||
| 11 days ago | ||
| 13 days ago | ||
| 12 days ago | ||
| 1 month ago | ||
| 18 days ago | ||
| 12 days ago | ||
| 1 month ago | ||
| 14 days ago | ||
| 1 month ago | ||
| 12 days ago | ||
| 18 days ago | ||
| 10 days ago | ||
| 8 days ago | ||
| 25 days ago | ||
| 18 days ago | ||
| 19 days ago | ||
| 12 days ago | ||
| 12 days ago | ||
| 12 days ago | ||
| 18 days ago | ||
| 18 days ago | ||
| 12 days ago | ||
| 20 days ago | ||
| 15 days ago | ||
| 13 days ago | ||
| 18 days ago | ||
| 12 days ago | ||
| 1 month ago | ||
| 12 days ago | ||
| 12 days ago | ||
| 18 days ago | ||
| 12 days ago | ||
| 28 days ago | ||
| 1 month ago | ||
| 21 days ago | ||
| 28 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 11 days ago | ||
| 8 days ago | ||
| 12 days ago | ||
| 13 days ago | ||
| 10 days ago | ||
| 11 days ago | ||
| 13 days ago | ||
| 12 days ago | ||
| 8 days ago | ||
| 12 days ago | ||
| 22 days ago | ||
| 20 days ago | ||
| 20 days ago | ||
| 1 month ago | ||
| 12 days ago | ||
| 15 days ago | ||
| 12 days ago | ||
| 15 days ago | ||
| 12 days ago | ||
| 12 days ago | ||
| 12 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 22 days ago | ||
| 21 days ago | ||
| 12 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 12 days ago | ||
| 12 days ago | ||
| 18 days ago | ||
| 15 days ago | ||
| 15 days ago | ||
| 14 days ago | ||
| 1 month ago | ||
| 12 days ago | ||
| 12 days ago | ||
| 10 days ago | ||
| 12 days ago | ||
| 18 days ago | ||
| 12 days ago | ||
| 24 days ago | ||
| 18 days ago | ||
| 13 days ago | ||
| 8 days ago | ||
| 20 days ago | ||
| 12 days ago | ||
| 15 days ago | ||
| 12 days ago | ||
| 29 days ago | ||
| 12 days ago | ||
| 12 days ago | ||
| 1 month ago | ||
| 15 days ago | ||
| 15 days ago | ||
| 15 days ago | ||
| 12 days ago | ||
| 8 days ago | ||
| 20 days ago | ||
| 10 months ago |