| Files | Last commit | Last update |
|---|---|---|
docs: 修复注释与代码不一致(文件头文件名) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6496 merge docs/comment-cleanup-20261019-23 into master docs: 修复注释与代码不一致(文件头文件名) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 修正 \file 注释为实际文件名: - math/abs/op_graph/abs_proto.h:cast_proto.h -> abs_proto.h。 - conversion/concat_d/op_graph/concat_d_graph_infer.cpp:concat_graph_infer.h -> concat_d_graph_infer.cpp。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3804 ## 测试 - pre-commit(含 OAT):通过 - Markdown 链接/图片检查:无新增失效项 - Markdown 代码围栏检查:通过 - 全部 26 个分支合并验证:无冲突 ## 文档更新 - conversion/concat_d/op_graph/concat_d_graph_infer.cpp - math/abs/op_graph/abs_proto.h ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6496 | 22 days ago | |
批量修改ws=0 Co-authored-by: ligen<ligen75@h-partners.com> # message auto-generated for no-merge-commit merge: !6212 merge master into master 批量修改ws=0 Created-by: ligen75 Commit-by: ligen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 批量修改算子workspace=0 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3013 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 自验通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6212 | 30 days ago | |
fix(AccumulateNV2): P1缺陷整改+broadcast收回+fp16性能优化+golden精度标准落位 Co-authored-by: gcw_YBIAEfqJ<wangweidong15@huawei.com> # message auto-generated for no-merge-commit merge: !6584 merge fix/accumulate-nv2-remediation into master fix(AccumulateNV2): P1缺陷整改+broadcast收回+fp16性能优化+golden精度标准落位 Created-by: gcw_YBIAEfqJ Commit-by: gcw_YBIAEfqJ Merged-by: cann-robot Description: ## 概述 AccumulateNV2 算子验证整改全量提交(15 个 commit,基于 cann/ops-math master 干净分支,不含其他算子改动)。 ## 修复内容 ### P1 功能缺陷 - **dtype 一致性校验**(7f5b5cd8b):图路径/aclnn 第一段/tiling 三层补齐 161002 校验 - **fp32 极值 NaN**(7f5b5cd8b→6cbebfe2e):守卫式 TwoSum → TF 竞品同构顺序求和(N≤9 顺序、N>9 余数优先 8 分块,复现 TF AddN 舍入) - **N 参数校验**(7f5b5cd8b):Host 侧 N==输入数一致性 - **broadcast 收回**(ebb6bdce3):算子本体同 shape 强校验;aclnnSum 接口层保留 BroadcastTo 对齐 ### 死代码清理(4e840cb20,-242 行) - TilingData 删 needBroadcast/rank/outputShape/inputStrides 四个死字段(2632B→32B) - SIMT 路径收敛为 float 专用;删 GetBroadcastInputOffset 与全部广播死分支 - 入口模板以 UT_SOC_VERSION 守护,修复 UT 构建回归(fbd2dd9f2 连带) ### 性能优化(MTE bound 归一化后 NPU 优 A100 1.68x) - fp16 SIMT 地址提升(c4ca3f64e,+3%) - **fp16 非广播路径切换 Vector 管线 half 累加**(502dd93b6):中位加速 7.60x,吞吐 203→1615GB/s(峰值 2140),67 例三方比对 67/67 PASS ### golden 精度标准(2b074c737、743c3606a) - fp16 分路径:kernel 直连=numpy 顺序 half 累加(Vector Add 链同构);aclnnSum=fp32 promote - TestSpec 落位 tolerance:浮点 cross_check L1 / 整数 binary_equal L2 - kernel 直连参考移除 broadcast 对齐块(同 shape 契约) ### 文档(5c09ec3d0、4976fa638、fbd2dd9f2、72e543b8a) - README/aclnnSum 7 项修正;-1/-2 动态维语义声明;文件命名规范;格式规范清理 ## 验证(Ascend950PR / CANN 9.3.0) - UT:op_kernel 10/10、op_host 20/20 - TTK:fp16 大 shape 67/67;混合 dtype 26/26(另 10 例 rank-0 挂已知 CANN 框架 bug 的 Dyn/Cst 编译,Binary 全 100%) - v4 全量扫描:kernel L1 150 例 Binary 对 golden 零精度失败 - 性能无回归(清理前后中位持平) ## 关联的Issue [3870](https://gitcode.com/cann/ops-math/issues/3870) ## 测试 已通过对应算子的构建、UT 与 TTK 精度验证。 ## 文档更新 包含相关 README / 接口文档更新。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6584 | 18 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 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 | 1 month ago | |
修改aclnnAcosh接口文档以及KlDivV2算子文档 Co-authored-by: xiu_ling_wang<wangxiuling2@h-partners.com> # message auto-generated for no-merge-commit merge: !6506 merge doc-md into master 修改aclnnAcosh接口文档以及KlDivV2算子文档 Created-by: xiu_ling_wang Commit-by: xiu_ling_wang Merged-by: cann-robot Description: ## 描述 修改aclnnAcosh接口文档以及KlDivV2算子文档 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3501 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6506 | 24 days ago | |
[acosh_grad] quality-hardening:算子质量加固修复 Co-authored-by: handsomeRobot_SK<suke13@huawei.com> # message auto-generated for no-merge-commit merge: !6196 merge acosh_grad_quality_hardening into master [acosh_grad] quality-hardening:算子质量加固修复 Created-by: handsomeRobot_SK Commit-by: handsomeRobot_SK Merged-by: cann-robot Description: # [acosh_grad] quality-hardening:算子质量加固修复(准入+检视问题整改) ## 一、变更概述 本 PR 针对 AcoshGrad(acosh_grad)算子 2026-09-23 准入扫描(白盒模式,总体结论 FAIL,唯一 FAIL 项为 1.4 资料-缺少动态 shape 约束说明,另有 X2 规则级 WARN)与代码检视(125 条例,FAIL 1 / SUSPICIOUS 1 / 风格违规 3 项可修 / 设计一致性 4 维不一致)发现的问题,完成如下整改: - 准入 1.4:README 补充动态 shape/动态 rank 约束说明(消除唯一 FAIL); - 准入 X2:Tiling 新增私有格式显式拒绝(origin/storage 双查)+ 私有格式异常 UT×3(消除 WARN); - 准入 X7 建议:README 补充空 Tensor 行为说明; - 检视 LOG-1:裸 OP_LOGE 替换为 OP_LOGE_FOR_INVALID_VALUE_WITH_REASON 结构化预定义宏; - 检视 RED-1:ubBlockSize 增加显式零值守卫; - 检视 S4/S5/S6、D8:DESIGN.md v1.1 与实现同步(GEIR-only 交付姿态、TilingData 3 字段、简化切分算法、动态 shape 说明、248KB 格式修正); - 风格 STYLE-2.1/2.4/3.3:行宽折行、if 补齐大括号、清理开发阶段编号注释; - 覆盖度 P5:归档用例补齐(L2 异常用例 +7、功能缺口用例 +10)。 变更范围:代码仓 quality-hardening-acosh_grad/ops-math(分支 acosh_grad_quality_hardening,4 笔提交)+ 交付件仓 operator-artifacts/AcoshGrad/(提交 625b165 本算子部分)。 ## 二、分类修改清单 ### (一)代码修复(ops-math,逐条对应报告条目) | 报告条目 | 修复内容 | 文件 | |---------|---------|------| | admission X2 / P2(WARN) | 新增 IsPrivateFormat()(NC1HWC0/FRACTAL_Z/NDC1HWC0/FRACTAL_Z_3D/FRACTAL_NZ/NC1HWC0_C04),y/dy/z origin/storage 双查显式拒绝,报错走 OP_LOGE_FOR_INVALID_FORMAT_WITH_REASON | op_host/arch35/acosh_grad_tiling_arch35.cpp:51-55、:112-137 | | code-review LOG-1(FAIL) | 两处裸 OP_LOGE("coreNum is 0"/"ubSize is 0") 替换为 OP_LOGE_FOR_INVALID_VALUE_WITH_REASON 结构化宏 | op_host/arch35/acosh_grad_tiling_arch35.cpp:63-68 | | code-review RED-1(SUSPICIOUS) | ubBlockSize 增加显式零值守卫(OP_LOGE_FOR_INVALID_VALUE_WITH_REASON) | op_host/arch35/acosh_grad_tiling_arch35.cpp:198-200 | | STYLE-2.1 | 两处超 120 字符行按运算符放行末折行 | op_host/arch35/acosh_grad_tiling_arch35.cpp:78-79;op_kernel/arch35/acosh_grad_kernel.h:90 | | STYLE-2.4 | Process() 单语句 if 补齐大括号 | op_kernel/arch35/acosh_grad_kernel.h:203-206 | | STYLE-3.3 | 删除开发阶段编号注释(Step 1-7、"// 1..7 步骤"、"迭代二"),关键约束并入函数头注释 | op_host/acosh_grad_def.cpp:17;op_host/arch35/acosh_grad_tiling_arch35.cpp:139-193;op_kernel/arch35/acosh_grad_kernel.h:163-177 | ### (二)资料修复 | 报告条目 | 修复内容 | 文件 | |---------|---------|------| | admission 1.4 / P1(FAIL) | README 补充动态 shape/动态 rank(rank 0~8)约束说明;DESIGN.md v1.1 同步 | math/acosh_grad/README.md:76;operator-artifacts AcoshGrad/DESIGN.md:133 | | admission X7 建议 | README 补充空 Tensor(元素数为 0 直接返回空结果)说明 | math/acosh_grad/README.md:77 | | code-review S4/S5/S6(设计一致性 ❌) | DESIGN.md v1.1 改文档迁就实现:GEIR-only 交付姿态(去除 ACLNN 接口、调用仅图模式);TilingData 简化为 3 字段(totalNum/blockFactor/ubFactor)单均分 + ubFactor 循环、末 tile 由 Kernel 处理;Tiling 算法对齐 CeilAlign/CeilDiv/FloorAlign/FloorDiv + GetUbBlockSize 实际实现 | operator-artifacts AcoshGrad/DESIGN.md:8、:60、:132、:159-169、:171-198 | | code-review D8(文档格式) | 5 处 "248 KB" 数字单位空格违规改为 248KB | operator-artifacts AcoshGrad/DESIGN.md:391-395、:454 | ### (三)用例补充 | 报告条目 | 修复内容 | 文件 | |---------|---------|------| | admission X2 / P2 | 私有格式异常 UT×3(014:y=NC1HWC0、015:dy=FRACTAL_NZ、016:z=FRACTAL_Z,均断言 GRAPH_FAILED) | math/acosh_grad/tests/ut/op_host/arch35/test_acosh_grad_tiling_arch35.cpp:344-400 | | admission P5(覆盖度缺口) | L2 异常用例 +7(dtype 异常 float64、rank 9 越界×3 dtype、NCHW 格式异常×3 dtype);功能缺口用例 +10(特殊值 ±0/inf/nan×3 dtype、空 Tensor×3 dtype、压力档、subnormal、minnormal、UB 整除) | operator-artifacts AcoshGrad/测试用例/acosh_grad_l2_exception.csv、acosh_grad_selected_100.csv | ## 三、逐 commit 摘要 ### 代码仓(ops-math,分支 acosh_grad_quality_hardening,自基线 9b3d87785 起) | commit | 主题 | 对应报告条目 | |--------|------|-------------| | f1922aaaa | 修复 acosh_grad 异常处理:LOG-1 裸 OP_LOGE 替换为 OP_LOGE_FOR_INVALID_VALUE_WITH_REASON、RED-1 ubBlockSize 增加零值守卫 | LOG-1、RED-1 | | 5693ed64d | acosh_grad 代码风格整改:STYLE-2.1 行宽超标换行、STYLE-2.4 if 补齐大括号、STYLE-3.3 清理开发阶段编号注释(STYLE-2.3 指针声明与本仓 clang-format PointerAlignment:Left 冲突,不修改) | STYLE-2.1、STYLE-2.4、STYLE-3.3 | | 84b76176b | README 补充动态shape/动态rank与空Tensor约束说明 | admission 1.4/P1、X7 建议 | | fbf57e745 | 修复 acosh_grad 格式校验:X2 tiling 显式拒绝私有格式(NC1HWC0/FRACTAL_Z 等,origin/storage 双查)+ 新增私有格式异常 UT×3 | admission X2/P2 | ### 交付件仓(operator-artifacts,本算子部分) | commit | 主题 | 对应报告条目 | |--------|------|-------------| | 625b165 | quality-hardening 19 算子批量修复(AcoshGrad 部分):DESIGN.md v1.1 设计同步(GEIR-only、TilingData 3 字段、简化切分、动态 shape、248KB 修正)+ 测试用例归档补齐(l2_exception +7、selected_100 +10) | S4/S5/S6(文档侧)、D8、P5 | 说明:交付件仓提交 8a47e70(第二轮补修)经核验不含本算子任何文件,本 PR 不涉及。 ## 四、测试与验证 - **编译**:本环境无 NPU/编译工具链,未执行实机编译(与准入报告一致,运行时证据项 UNAVAILABLE)。本批次代码改动均为语法级局部修改(宏替换、注释清理、大括号、折行、守卫新增),不触碰计算链路(Kernel Mul→Adds(-1)→Sqrt→Div 公式未变)。 - **UT(Tiling 侧)**:归档 16 条 Tiling UT(tests/ut/op_host/arch35/test_acosh_grad_tiling_arch35.cpp:69-400),覆盖大/小 shape、多核切分、非对齐、空 Tensor、5 类失败路径(shape 不一致、dtype 不一致、不支持 dtype、输入/输出 dtype 不一致)及新增私有格式异常 3 类(014-016,模拟 TilingContext 断言 GRAPH_FAILED)。未修项明细条目 2 亦引证"代码侧已有 16 条 Tiling UT 验证,功能正确性有证据"。 - **覆盖度复测**:admission 覆盖度报告(hardening-report/admission/coverage_report.md)为 2026-09-23 修复前快照——kernel 侧 4 文件 346 用例、85.7% PASS,缺口列示 UB整除、不支持 dtype 异常、shape/rank 异常×dtype、format 异常×dtype。本批次归档用例(l2_exception.csv +7、selected_100.csv +10)已逐一补齐上述全部列示缺口;覆盖度评估器(Step 7.5)未随修复重跑,复测得分待扫描器重跑后更新。 - **GEIR 实机 / TTK**:未执行(无 NPU/TTK,admission-report.md:60 标记 UNAVAILABLE);既有精度三方报告为 09-14 修复前版本产物,修复后实机回归证据待补(见未修项明细条目 4)。 ## 五、未完成事项与限制 本 PR 遵守三条禁区决策,以下事项不在本次修复范围: 1. **ACLNN 接口不新增**:本算子维持 GEIR-only 交付姿态(CMakeLists.txt:16 ACLNNTYPE=aclnn_exclude,admission 1.3 已确认 aclnn 通路豁免)。DESIGN.md v1.1 已与实现同步,但 REQUIREMENTS.md / req_analysis.md 需求基线("ACLNN 调用 [x]"、ACLNN API 接口定义章节)未同步——属需求变更,待需求侧决策,见未修项明细条目 1。 2. **产品支持矛盾不处理**:产品支持标记不新增/不撤销(admission 1.1 已 PASS,README 6 产品与代码双向一致;旧芯片 TBE ini [AcoshGrad] 段为存量迁移注册,E3 PASS,维持现状)。 3. **canndev 不改动**:本 PR 不含任何 canndev 修改(admission E3/E4 均 PASS,无 canndev 行动项)。 其余未完成事项与限制: 4. **S5/S6 简化方案缺架构背书**:Tiling 3 字段单均分方案(改设计文档迁就代码)无人工评审记录,待架构确认;若否决需恢复 former/tail 双块切分。见未修项明细条目 2。 5. **STYLE-2.3 豁免待裁决**:指针声明符左贴类型与本仓 .clang-format PointerAlignment: Left 冲突,修改会被 pre-commit 自动回退,已有意搁置(见 5693ed64d 提交说明)。见未修项明细条目 3。 6. **无 NPU/TTK**:GEIR 实机验证与 TTK 异常测试证据未执行(UNAVAILABLE),环境就绪后需补跑私有格式拒绝路径、examples 冒烟与精度三方回归。见未修项明细条目 4。 7. **admission P3 扫描器展示缺陷**:1.6 交付件一致性实际 PASS(verification_result.csv 双"一致")但被 scan_transfer_test.py 渲染为 N/A,属外置工具缺陷,随扫描器版本修复。见未修项明细条目 5。 完整未修项明细见:guide/未修项明细/acosh_grad_未修项明细.md(条目 1-5)。 See merge request: cann/ops-math!6196 | 1 month 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 | |
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 | 20 days ago | |
docs: 修复注释与代码不一致(AddLora ySliceSize 取值范围) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6500 merge docs/comment-cleanup-20261019-27 into master docs: 修复注释与代码不一致(AddLora ySliceSize 取值范围) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 math/add_lora/README.md:ySliceSize 的约束由“小于 y 的第二个维度 H3”改为“小于等于 H3”,与 API 文档及实现允许等值的情况一致。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3808 ## 测试 - pre-commit(含 OAT):通过 - Markdown 链接/图片检查:无新增失效项 - Markdown 代码围栏检查:通过 - 全部 26 个分支合并验证:无冲突 ## 文档更新 - math/add_lora/README.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6500 | 22 days ago | |
完善AdaCast、AddMatMatElements、AsinGrad、Eltwise 和 SignBitsPack参数校验与 Tiling 处理,优化广播数据复用 Co-authored-by: zhouxuan78<zhouxuan78@huawei.com> # message auto-generated for no-merge-commit merge: !5676 merge master into master 完善AdaCast、AddMatMatElements、AsinGrad、Eltwise 和 SignBitsPack参数校验与 Tiling 处理,优化广播数据复用 Created-by: zhouxuan78 Commit-by: zhouxuan78 Merged-by: cann-robot Description: ## 描述 针对 AdaCast、AddMatMatElements、AsinGrad、Eltwise 和 SignBitsPack,完善可选属性、输入输出类型与形状、系数长度及接口指针校验,修正 SignBitsPack 空 Tensor 初始化及搬运分块与 Tiling 不一致的问题,优化 AddMatMatElements 广播数据复用以减少重复搬运;同时整理 Tiling 常量和 UB 空间计算,补充 AsinGrad 单测、调整 AdaCast golden 实现,更新约束文档并修复代码格式和许可证头问题。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3266 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5676 | 1 month ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 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 | 21 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 | 20 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 | 20 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 | 28 days ago | |
feat: Adds、Expand、BroadcastTo、Tile、GetShape算子新增ascend960dt平台支持 Co-authored-by: tan_xin<tanxin44@huawei.com> # message auto-generated for no-merge-commit merge: !5447 merge master-v121 into master feat: Adds、Expand、BroadcastTo、Tile、GetShape算子新增ascend960dt平台支持 Created-by: tan_xin Commit-by: tan_xin;t00850857 Merged-by: cann-robot Description: ## 描述 为 Adds、Expand、BroadcastTo、Tile、GetShape 五个算子新增 ascend960dt 平台支持,使其可在 ascend960dt(Ascend960DT_968B7)芯片上完成编译与调用。主要改动: ### 算子定义与编译配置 - 各算子 op_host 定义文件(adds_def.cpp、expand_def.cpp、broadcast_to_def.cpp、tile_def.cpp、get_shape_def.cpp)通过 AICore().AddConfig("ascend960dt", ...) 注册平台配置 - 各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 增加 "ascend960dt",tiling 目录沿用 arch35;get_shape 的 kernel 源码 COMPUTE_UNITS 同步增加 ascend960dt - 新增各算子 ascend960dt 平台二进制编译配置 op_host/config/ascend960dt/*_binary.json 与 *_simplified_key.ini(simplified_key_mode=0) - ascendc_config.json 中 Adds、BroadcastTo、Tile 的 compute_units 增加 ascend960dt,并配置对应编译选项 ### 公共构建配置 - 顶层 CMakeLists.txt 的 ASCEND_ALL_COMPUTE_UNIT 增加 ascend960dt - scripts/build.conf.sh 的 SUPPORT_COMPUTE_UNIT_SHORT 增加 ascend960dt - scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 增加 [Ascend960DT]="Ascend960DT_968B7" ### op_api 适配 - expand:aclnn_expand.cpp 的 dataTypeSupportedMap 与 expand.cpp 的 IsAiCoreSupport 增加 NpuArch::DAV_9201 分支,数据类型支持列表沿用 ASCEND910B(FLOAT、FLOAT16、INT32、UINT8、INT8、BOOL、BF16、INT64) - 公共头文件 aclnn_check.h:IsRegBase 的 regbaseArch 集合增加 NpuArch::DAV_9201、NpuArch::DAV_9202;其余为 clang-format 格式整改 ## 关联的Issue - #3561 ## 测试 - 已通过 pre-commit 检查(clang-format 格式、codespell 拼写、文件末尾换行整改,见提交记录) ## 文档更新 - 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5447 | 30 days ago | |
feat: bincount/adjacent_difference 新增 ascend960dt/ascend960pr 注册级支持 Co-authored-by: caorenlei<caorenlei@huawei.com> # message auto-generated for no-merge-commit merge: !6388 merge 1010 into master feat: bincount/adjacent_difference 新增 ascend960dt/ascend960pr 注册级支持 Created-by: caorenlei Commit-by: caorenlei Merged-by: cann-robot Description: ## 描述 bincount、adjacent_difference 两算子新增 ascend960dt/ascend960pr 平台注册级支持(v121 适配)。 ### 改动原因 Ascend960 系列平台上线,算子需同步支持 ascend960dt/ascend960pr 计算单元;适配增量同步自内部仓 cann_out 分支,在 OSS master 基线上叠加。 ### 改动方法(注册级适配,kernel/tiling/aclnn 零改动) 1. **def.cpp 注册**(2 文件):bincount_def.cpp、adjacent_difference_def.cpp 在既有 AddConfig("ascend950"/"ascend350") 后追加 AddConfig("ascend960dt", aicoreConfig) 与 AddConfig("ascend960pr", aicoreConfig),复用同一 aicoreConfig,保留 ascend350 注册不删 2. **config 配置**(8 个新增文件):新增 op_host/config/ascend960dt/、op_host/config/ascend960pr/(2 算子 × 2 芯片 × binary.json + simplified_key.ini),内容与既有 ascend950 配置逐字节一致 3. **CMakeLists**(2 文件):SUPPORT_COMPUTE_UNIT 追加 "ascend960dt" "ascend960pr",SUPPORT_TILING_DIR 等量追加 "arch35"(tiling 复用 arch35) 4. **ascendc_config.json**:Bincount、AdjacentDifference 条目 compute_units 追加 "ascend960dt",compile_options 镜像 ascend950(-mllvm -cce-aicore-dcci-before-kernel-end=false) 5. **.pre-commit-config.yaml**:codespell 忽略列表追加 build-in(config 镜像中 ascend950 既有注释拼写,内容须与 950 逐字节一致不可修改) ## 关联的Issue - #3598 ## 测试 1. **ascend950 编译出包**:bash build.sh --pkg --soc=ascend950 --ops=bincount,adjacent_difference -j8 通过;包内 950 内核齐全(23 个 .o),aic-ascend960dt-ops-info.json 含 Bincount、AdjacentDifference 注册(960 注册生效核验) 2. **950 kernel 零影响硬证据**:适配前后两次编译,23 个 ascend950 kernel .o SHA256 逐字节一致(bit 级不变) 3. **ttk 精度回归 386/386 全 PASS**(Ascend950PR_9579,release 模式,seed=123): - bincount(kernel 级)192/192、adjacent_difference(kernel 级)81/81、aclnnBincount(API 级)113/113 - 正控 PASS / 负控 FAIL,判定链路自证有效 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6388 | 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 | |
产品名变更 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(docs): 修正 bincount/angle_v2/top_k_v2 中 ouput 拼写(应为 output) Co-authored-by: gcw_LxlU8H9L<opengoodai@163.com> # message auto-generated for no-merge-commit merge: !5948 merge fix/3293-output-typos into master fix(docs): 修正 bincount/angle_v2/top_k_v2 中 ouput 拼写(应为 output) Created-by: gcw_LxlU8H9L Commit-by: OpenGood_WeChat;gcw_LxlU8H9L Merged-by: cann-robot Description: ## 描述 bincount 两个 kernel 文件注释(3 处)、angle_v2 tiling 注释(7 处同型)及 top_k_v2 未使用参数名 ouputLastDimValue 中,output 均被拼写为 ouput。统一修正,仅涉及注释与未使用参数名,不影响任何逻辑。 ## 关联的Issue 关联Issue #3293(注:issue 中抽样 2 处,angle_v2 实际含 7 处同型注释,已一并修复,全仓该模式已清零) ## 测试 - 纯注释文本与未使用参数名修正,不涉及任何代码逻辑变化 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-math!5948 | 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 | |
add hard_max fusion pass Co-authored-by: wangxun21<wangxun21@huawei.com> # message auto-generated for no-merge-commit merge: !6412 merge feat/hardmax-fusion-pass into master add hard_max fusion pass Created-by: wangxun21 Commit-by: wangxun21 Merged-by: cann-robot Description: ## 描述 将 canndev 旧框架 HardMaxPass 迁移到 ops-math 新版 Pattern Fusion Pass + ES Graph Builder 框架(注册名保持 HardMaxPass,Stage kAfterInferShape)。 - 平台分支对齐旧版:950/regbase 用 ArgMaxV2+OneHot,非 regbase(910B 等)用 ArgMaxD+OneHotD - on/off 常量按输入 dtype 匹配(FP16 用半精度位模式构造),保证 OneHot/OneHotD 输出 dtype 与 HardMax 一致 - axis 越界在 MeetRequirements 拒绝融合(旧版为未定义行为,实测导致 ATC 崩溃 exit 134) - CMake DEPENDENCIES 声明 arg_max_v2/one_hot,支持 --ops=hard_max 过滤构建 - UT 6 用例覆盖 950/910B 两分支、FP32/FP16、正负 axis、非法 dtype/axis ## 验证 - 专项 UT(--ops=hard_max)6/6,全量 graph UT 136/136 - ATC(Ascend950PR_9599)OPP overlay 取证:RunPatternFusion:GraphFusionPass[HardMaxPass] matched_times=1, effected_times=1 - NPU E2E 4 用例(FP32 12x4x3 axis=1 / FP16 / 5x8x6 axis=-1 / 3x9x2x7 axis=2)均 max_abs_error=0.0 - 910B 分支(ArgMaxD+OneHotD)ATC/NPU E2E 已在cannlab单独验证 See merge request: cann/ops-math!6412 | 18 days ago | |
feat: diag算子适配Ascend960,arg_max/arg_min_with_value图模式支持Ascend960DT Co-authored-by: jzj007<jiangzhijie9@huawei.com> # message auto-generated for no-merge-commit merge: !6467 merge diag into master feat: diag算子适配Ascend960,arg_max/arg_min_with_value图模式支持Ascend960DT Created-by: jzj007 Commit-by: jzj007 Merged-by: cann-robot Description: ## 描述 本 PR 为 ops-math 仓补充 Ascend960DT( ascend960dt,NpuArch dav_9201)平台的算子适配:为 Diag 算子使能 960DT,并修正 ArgMaxWithValue / ArgMinWithValue 在 960DT 上的图模式数据类型推导。 ### 改动原因 1. Diag 仅在 ascend950 / ascend350 上注册,scripts/kernel/binary_config/ascendc_config.json 中 Diag 的 compute_units 也只包含这两个平台,导致 Ascend960DT 上缺失该算子能力。 2. ArgMaxWithValue / ArgMinWithValue 的 InferDataType 需要按 NpuArch 白名单决定是否读取 indice_dtype 属性: - arg_max_with_value 的白名单原本只有 NpuArch::DAV_3510,ascend960dt 会落到默认 DT_INT32,忽略 indice_dtype; - arg_min_with_value 使用 short_soc_version == "Ascend950" 字符串比较,同样覆盖不到 ascend960dt; - 两个算子的 CMakeLists.txt 中 SUPPORT_COMPUTE_UNIT 此前已包含 ascend960dt,缺的正是图模式这层推导。 ### 改动方法 1. conversion/diag/CMakeLists.txt:SUPPORT_COMPUTE_UNIT 追加 ascend960dt,对应 SUPPORT_TILING_DIR 使用 arch35,复用现有 tiling 与 kernel,不新增 arch 目录。 2. conversion/diag/op_host/diag_def.cpp:新增 AICore().AddConfig("ascend960dt", aicore_config)。 3. conversion/diag/op_host/config/ascend960dt/: - diag_binary.json:7 条 dtype 组合(float16 / float32 / double / bfloat16 / int32 / int64 / complex64),输入 shape 为动态 [-2],与 ascend950 配置一致; - diag_simplified_key.ini:[Diag] default=0。 4. scripts/kernel/binary_config/ascendc_config.json:Diag 的 compute_units 追加 ascend960dt(auto_sync 保持 true)。 5. math/arg_max_with_value/op_graph/arg_max_with_value_graph_infer.cpp:SUPPORTED_NPU_ARCH_LIST 追加 NpuArch::DAV_9201。 6. math/arg_min_with_value/op_graph/arg_min_with_value_graph_infer.cpp:实现对齐 arg_max_with_value,抽出 IsSupportedNpuArch(),按 NpuArch 值查白名单 {DAV_3510, DAV_9201};补充平台信息与 NpuArch 读取失败时的 OP_LOGW;移除 short_soc_version 字符串比较与内联判断。 ascend960dt 与 dav_9201 的对应关系来自 cmake/soc_arch_variables.cmake 的 ASCEND_ALL_COMPUTE_UNIT / SOC_TO_ARCH_VALUES。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3689 ## 测试 - [x] 对两处 InferDataType 改动执行 g++ -fsyntax-only -std=c++17 语法编译校验,无错误 - [ ] 二级冒烟 / 算子泛化:本次未执行,需在 Ascend960DT 环境验证 Diag 编译与执行,以及 ArgMaxWithValue / ArgMinWithValue 图模式下 indice_dtype=int64 的推导结果 > 说明:本次未改动 kernel 代码与 tiling 逻辑,Diag 直接复用 op_kernel/arch35 与 op_host/arch35。 ## 文档更新 本次未修改 docs/ 与算子文档。需注意 conversion/diag/README.md 的"产品支持情况"表尚未列出 Ascend960DT 系列,如需对外声明支持范围,建议同步补充该表。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6467 | 23 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 | 23 days ago | |
feat: diag算子适配Ascend960,arg_max/arg_min_with_value图模式支持Ascend960DT Co-authored-by: jzj007<jiangzhijie9@huawei.com> # message auto-generated for no-merge-commit merge: !6467 merge diag into master feat: diag算子适配Ascend960,arg_max/arg_min_with_value图模式支持Ascend960DT Created-by: jzj007 Commit-by: jzj007 Merged-by: cann-robot Description: ## 描述 本 PR 为 ops-math 仓补充 Ascend960DT( ascend960dt,NpuArch dav_9201)平台的算子适配:为 Diag 算子使能 960DT,并修正 ArgMaxWithValue / ArgMinWithValue 在 960DT 上的图模式数据类型推导。 ### 改动原因 1. Diag 仅在 ascend950 / ascend350 上注册,scripts/kernel/binary_config/ascendc_config.json 中 Diag 的 compute_units 也只包含这两个平台,导致 Ascend960DT 上缺失该算子能力。 2. ArgMaxWithValue / ArgMinWithValue 的 InferDataType 需要按 NpuArch 白名单决定是否读取 indice_dtype 属性: - arg_max_with_value 的白名单原本只有 NpuArch::DAV_3510,ascend960dt 会落到默认 DT_INT32,忽略 indice_dtype; - arg_min_with_value 使用 short_soc_version == "Ascend950" 字符串比较,同样覆盖不到 ascend960dt; - 两个算子的 CMakeLists.txt 中 SUPPORT_COMPUTE_UNIT 此前已包含 ascend960dt,缺的正是图模式这层推导。 ### 改动方法 1. conversion/diag/CMakeLists.txt:SUPPORT_COMPUTE_UNIT 追加 ascend960dt,对应 SUPPORT_TILING_DIR 使用 arch35,复用现有 tiling 与 kernel,不新增 arch 目录。 2. conversion/diag/op_host/diag_def.cpp:新增 AICore().AddConfig("ascend960dt", aicore_config)。 3. conversion/diag/op_host/config/ascend960dt/: - diag_binary.json:7 条 dtype 组合(float16 / float32 / double / bfloat16 / int32 / int64 / complex64),输入 shape 为动态 [-2],与 ascend950 配置一致; - diag_simplified_key.ini:[Diag] default=0。 4. scripts/kernel/binary_config/ascendc_config.json:Diag 的 compute_units 追加 ascend960dt(auto_sync 保持 true)。 5. math/arg_max_with_value/op_graph/arg_max_with_value_graph_infer.cpp:SUPPORTED_NPU_ARCH_LIST 追加 NpuArch::DAV_9201。 6. math/arg_min_with_value/op_graph/arg_min_with_value_graph_infer.cpp:实现对齐 arg_max_with_value,抽出 IsSupportedNpuArch(),按 NpuArch 值查白名单 {DAV_3510, DAV_9201};补充平台信息与 NpuArch 读取失败时的 OP_LOGW;移除 short_soc_version 字符串比较与内联判断。 ascend960dt 与 dav_9201 的对应关系来自 cmake/soc_arch_variables.cmake 的 ASCEND_ALL_COMPUTE_UNIT / SOC_TO_ARCH_VALUES。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3689 ## 测试 - [x] 对两处 InferDataType 改动执行 g++ -fsyntax-only -std=c++17 语法编译校验,无错误 - [ ] 二级冒烟 / 算子泛化:本次未执行,需在 Ascend960DT 环境验证 Diag 编译与执行,以及 ArgMaxWithValue / ArgMinWithValue 图模式下 indice_dtype=int64 的推导结果 > 说明:本次未改动 kernel 代码与 tiling 逻辑,Diag 直接复用 op_kernel/arch35 与 op_host/arch35。 ## 文档更新 本次未修改 docs/ 与算子文档。需注意 conversion/diag/README.md 的"产品支持情况"表尚未列出 Ascend960DT 系列,如需对外声明支持范围,建议同步补充该表。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6467 | 23 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
fix(asin_grad): 修复shape逐维校验等交付问题,并新增ascend350平台支持 Co-authored-by: qq_41311449<baihao29@huawei.com> # message auto-generated for no-merge-commit merge: !6575 merge master into master fix(asin_grad): 修复shape逐维校验等交付问题,并新增ascend350平台支持 Created-by: qq_41311449 Commit-by: qq_41311449 Merged-by: cann-robot Description: ## 描述 1. 交付问题修复(FR-01/12/13/14/09/N-01) - FR-01(核心修复): tiling 新增 ShapesExactlyEqual 逐维校验(op_host/arch35/asin_grad_tiling_arch35.cpp:56),原先只比较 GetShapeSize() 会放行元素总数相同但维度排列不同的输入(如 y=2,3 vs dy=3,2),现 y/dy/z 必须逐维完全相同,并补 4 条 UT 覆盖 - FR-12: golden.py fp32 分支按输入 dtype 计算,0 维输入不再被提升为 float64 - FR-13: examples 两份副本按 dtype 宽度构造输入缓冲(fp16/bf16 位级转换),修正 y 值域注释 - FR-14: 3 个 CMakeLists 许可头换为 OAT 认可模板,代码 clang-format/ruff-format 格式化 - FR-09/N-01: README 调用说明改为 GE图模式并链接 asin_grad_proto.h;产品表 Atlas 200I/500 A2 由 √ 改为 × 2. ascend350 平台适配(参照 cann/ops-cv#1747 及同族算子 acos_grad 做法) - CMakeLists 增加 ascend350 计算单元与对应 tiling 目录 - asin_grad_def.cpp 追加 AddConfig("ascend350", aiCoreConfig) 3. 验证结论 - host UT 15/15 PASS(950/350 各一轮);TTK 冻结回归 L0 44 例、L2 16 例逐字段一致;pre-commit 12/12 通过 - --pkg --soc=ascend350/950 均构建成功,350 包含 kernel 及 ops-info 注册 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6575 | 20 days ago | |
docs: 修复注释与代码不一致(asinh dtype 范围与 cdist UB 注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6492 merge docs/comment-cleanup-20261019-19 into master docs: 修复注释与代码不一致(asinh dtype 范围与 cdist UB 注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 - math/asinh/op_host/asinh_def.cpp:注释改为 FP32/FP16/BF16 均已实现。 - math/cdist/op_host/arch35/cdist_tiling_arch35.cpp:HL fp32 平面注释由 4096 元素/32KB 修正为 8192 元素/每平面 32KB(共 64KB)。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3801 ## 测试 - pre-commit(含 OAT):通过 - Markdown 链接/图片检查:无新增失效项 - Markdown 代码围栏检查:通过 - 全部 26 个分支合并验证:无冲突 ## 文档更新 - math/asinh/op_host/asinh_def.cpp - math/cdist/op_host/arch35/cdist_tiling_arch35.cpp ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6492 | 22 days ago | |
docs: 修正 math 算子 README 文档中的描述与数据类型说明 Co-authored-by: Nice_try<zhangzhiwei108@huawei.com> # message auto-generated for no-merge-commit merge: !6158 merge 3246 into master docs: 修正 math 算子 README 文档中的描述与数据类型说明 Created-by: Nice_try Commit-by: Nice_try Merged-by: cann-robot Description: ## 描述 修正 math 目录下 13 个算子 README.md 文档中的描述问题,提升文档准确性与术语一致性,具体包括: - 数据类型说明修正: abs 输出类型列表去掉重复的 FLOAT16、FLOAT,改为 COMPLEX32、COMPLEX64;assign_sub 修正拼写 BFOAT16 → BFLOAT16。 - 属性名拼写修正:hans_encode 的 reshuff → reshuffle。 - 术语大小写统一:arg_min 的 infershape → InferShape;reduce_all 的 tenor → Tensor。 - 表述/用词修正:add_n 的"主元素相加"→"逐元素相加";add_lora 的"Lora"→"LoRa";cholesky 的"需为"→"须为";cosine_similarity 的"显示指定"→"显式指定";cumsum 的"累计求和"→"累积求和";lgamma 的"输入张量x1"→"输入张量x";mul_addn 表述精简;asinh_grad 的"通过图模式方式调用"→"通过图模式调用"。 ### 改动原因 文档中存在错别字、术语拼写与大小写不统一、数据类型说明错误等问题,影响可读性与准确性。 ### 改动方法 逐文件校对并修正上述 README.md 中的文本与类型说明,仅涉及文档,不改变任何代码逻辑。 ## 关联的Issue #3426 ## 测试 文档变更,无需代码测试。 ## 文档更新 更新 math 目录下以下 13 个 README.md: math/abs、math/add_lora、math/add_n、math/arg_min、math/asinh_grad、math/assign_sub、math/cholesky、math/cosine_similarity、math/cumsum、math/hans_encode、math/lgamma、math/mul_addn、math/reduce_all ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6158 | 1 month ago | |
math仓121算子迁蓝 Co-authored-by: andong_hw<andong2@huawei.com> # message auto-generated for no-merge-commit merge: !5762 merge master into master math仓121算子迁蓝 Created-by: qq_52874943 Commit-by: andong_hw Merged-by: cann-robot Description: ## 描述 math仓部分121算子黄迁蓝,只进行960dt适配,以及算子二进制补充,不动kernel和tiling代码。 ## 关联的Issue 关联Issue[#3650](https://gitcode.com/cann/ops-math/issues/3650) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5762 | 25 days ago | |
math仓121算子迁蓝 Co-authored-by: andong_hw<andong2@huawei.com> # message auto-generated for no-merge-commit merge: !5762 merge master into master math仓121算子迁蓝 Created-by: qq_52874943 Commit-by: andong_hw Merged-by: cann-robot Description: ## 描述 math仓部分121算子黄迁蓝,只进行960dt适配,以及算子二进制补充,不动kernel和tiling代码。 ## 关联的Issue 关联Issue[#3650](https://gitcode.com/cann/ops-math/issues/3650) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5762 | 25 days ago | |
math仓121算子迁蓝 Co-authored-by: andong_hw<andong2@huawei.com> # message auto-generated for no-merge-commit merge: !5762 merge master into master math仓121算子迁蓝 Created-by: qq_52874943 Commit-by: andong_hw Merged-by: cann-robot Description: ## 描述 math仓部分121算子黄迁蓝,只进行960dt适配,以及算子二进制补充,不动kernel和tiling代码。 ## 关联的Issue 关联Issue[#3650](https://gitcode.com/cann/ops-math/issues/3650) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5762 | 25 days ago | |
增加atan2算子资料 Co-authored-by: Boyang_Zhang<zhangboyang15@h-partners.com> # message auto-generated for no-merge-commit merge: !6643 merge atan2_readme into master 增加atan2算子资料 Created-by: BoyangZhang Commit-by: Boyang_Zhang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 增加atan2算子资料 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3712 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6643 | 18 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 | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 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 | 20 days ago | |
feat: axpy_v2 arch35 Reg级融合原地改造,tiling 与 kernel DAG 统一 Co-authored-by: HelloWord-LuXin<luxin67@h-partners.com> # message auto-generated for no-merge-commit merge: !6525 merge feat/axpy-v2-fused-inplace into master feat: axpy_v2 arch35 Reg级融合原地改造,tiling 与 kernel DAG 统一 Created-by: HelloWord-LuXin Commit-by: HelloWord-LuXin Merged-by: cann-robot Description: > 备选方案:与 #5625 同一优化目标的**原地改造版**(#5625 保持现状不动,二者择一合入)。 ## 与 #5625 的关系 | | #5625(保持现状) | 本 PR | |---|---|---| | DAG 组织 | 新建 *Fused struct,旧链 struct 保留专供 tiling | **原地改造原 struct**,删除旧链(对齐 tanh e913d83a8 先例) | | tiling 与 kernel | 不同构(全仓唯一特例) | **引用同一 DAG struct**(全仓惯例:tanh/div/signbit/axpy 等) | | tiling 行为 | 冻结(tile 按旧链估算,偏保守) | 自动跟随新 DAG(tile 按融合后 UB 足迹推导,放大 ~2-4x) | | 逐位 A/B 验证 | 已完成(tiling 冻结可控制变量) | kernel 逐字节同 #5625,复用其验证结论;tile 边界变化需重验 | ## 改造内容 将 **axpy_v2** 的 fp16/bf16/int8/uint8/bool 5 个 dtype 分支从内置 Op 长链原地改造为 Reg 级融合自定义 Op。float/int32/int64 原链不动(≤2 节点,融合收益≈0)。 | 分支 | 改造前 | 改造后 | 消除中间边 | |---|---|---|---| | fp16/bf16 | Cast×3 + FMA + Cast 长链 | UNPACK + Cast + MulDstAdd(vmadd) + Cast + PACK | 4 条 | | int8/uint8 | 6 节点链(32 位宽域) | UNPACK_B8 + Mul + Add + PACK_B16(uint16 零扩展) | 5 条 | | bool | half 域 5 节点链 | b8 位运算 And/Or(直读直存) | 4 条边 + 4 次 Cast | 优化细节: - int8/uint8 统一 uint16 零扩展:mod 256 下零扩展 ≡ 符号扩展,省掉符号扩展 Cast;双组寄存器交替 2 倍展开,奇数尾 tile 以 if 单独补一次 - bool 位运算:min(x2·α+x1, 1) 在 {0,1} 值域 ≡ x1 | (x2 & α),2 条指令替代 3 条,VL 翻倍至 256 - fp16/bf16 castTrait 与原链 tensor Cast 内部降级实现(CastIntrinsicsImplVF)逐字段一致(SAT + CAST_NONE/CAST_RINT) - 删除仅供旧链使用的 AndFF / CAST_*_MODE / FF;tiling 引用同步适配模板参数 ## tiling 行为变化(与 #5625 的本质差异) BroadcastBaseTiling 现按新 DAG 推导 tile:UB 足迹估算从旧链的 14~28B/elem 降为 4~8B/elem,tile 相应放大 2~4x。估算与 kernel 运行时分配同源(同一 DAG),无两张图不一致的风险;I/O broadcast 绑定结构不变,tiling key / schMode 不变。 ## 验证状态与计划 - **kernel 计算逻辑与 #5625 逐字节一致**(三个融合 Op struct MD5 比对相同);#5625 已完成 9000 条新旧 kernel 逐位一致验证(5000 泛化 + 4000 fp16/bf16 溢出强化,含 188 万 inf lane、65520 舍入平局点、NaN 载荷、次正规下溢、广播、尾块 1~513) - 待重跑:CI 流水线;tiling UT golden(tile 尺寸变化,UB-bound 用例需重出预期值);ST 全量 + 性能全谱系重测(重点确认 tile 放大收益与 2~5μs 中小 shape 桶无多核饥饿回退) - 精度:逐元素语义与 tile 划分无关,预期输出与 #5625 逐位一致,将按此复验 ## 约束遵守 - tiling data 结构 / tiling key / 二进制接口零变化(仅模板参数引用适配) - 全部 dtype 分支 golden 通过(沿用 #5625 验证基线 + 本 PR 复验) See merge request: cann/ops-math!6525 | 18 days ago | |
[bessel_i0e] quality-hardening:算子质量加固修复(准入+检视问题整改) Co-authored-by: handsomeRobot_SK<suke13@huawei.com> # message auto-generated for no-merge-commit merge: !6147 merge bessel_i0e_quality_hardening into master [bessel_i0e] quality-hardening:算子质量加固修复(准入+检视问题整改) Created-by: handsomeRobot_SK Commit-by: handsomeRobot_SK Merged-by: cann-robot Description: # [bessel_i0e] quality-hardening:算子质量加固修复(准入+检视问题整改) ## 变更概述 本 PR 为 BesselI0e 算子(逐元素指数缩放零阶修正贝塞尔函数,GE 图模式单通道 + ascend950 单目标)的质量加固整改分支,输入为 2026-09-23 的准入扫描报告与代码检视报告: - **准入扫描**(总结论 FAIL):E3 TBE ini 残留、15.6 golden 子项 2 个 FAIL + 1.4 约束说明 1 个 REVIEW;kernel 用例覆盖度 85.7%,缺口 6 类 - **代码检视**:OP-1 FAIL(HIGH)、CMP-2 SUSPICIOUS(MED)、RD-1 SUSPICIOUS(LOW)、STYLE-3.3 FAIL(中) 共 4 条问题;设计一致性总体"不一致"(S1 架构匹配 ❌、S5 参数语义 ⚠️、D8 文档格式 ❌) 本分支完成:代码侧 4 条修复(OP-1/RD-1/STYLE-3.3/X2),资料侧 5 处整改(README 3 处 + DESIGN/REQUIREMENTS 设计回写),用例侧补齐 6 类缺口(kernel 覆盖度 85.7% → 100%),op_host UT 36/36 全量通过。需架构/产品/仓级/实机决策的残留项单独记录于未修项明细(见文末)。 ## 分类修改清单 ### 一、代码修改(ops-math) | 项 | 内容 | 关联问题 | |---|---|---| | TilingKey 去 dtype 编码 | TilingKey 改为单值占位轴 schMode,dtype 由构建系统按 def DataType 列表注入 DTYPE_X 宏实例化 kernel 变体 | OP-1(C1) | | ubBlockSize 零值守卫 | OP_CHECK_IF(ubBlockSize == 0, ...) 显式守卫后作对齐除数 | RD-1(C4) | | 开发阶段注释清理 | 删除步骤编号注释、==== 分隔线、"迭代二变更"记录 | STYLE-3.3(C3) | | FORMAT_ND 显式格式校验 | tiling 增加 IsPrivateFormat/storage≠ND 拒绝,def 仅声明 FORMAT_ND 与运行时校验闭环 | X2(P3) | ### 二、资料修改 | 项 | 内容 | 关联问题 | |---|---|---| | README 约束说明 | 修正中英文数字间空格;补充 ND 数据格式约束声明 | D8-D1、X2 | | README 产品支持表 | 回退至父版本表述,与 def/CMake 支持面一致 | 1.1 资料一致性 | | DESIGN.md | 架构一致性回写(GE-only/arch35 子目录/910B 标注待后续迭代)、TilingData 3 字段、D1 格式修正 | S1/S5/D8 | | REQUIREMENTS.md | 补充格式约束(输入输出仅支持 ND 格式) | X2 | ### 三、用例修改 - **UT**:tiling 新增 tiling_unsupported_format(4 种非法格式);tilingkey_verify 断言随 TilingKey 改造更新(各 dtype 统一为 0)——op_host UT 36/36(tiling 23 + infershape 13) - **归档用例**:测试用例/bessel_i0e.csv 新增 24 条(UB 整除、dtype 异常、rank9 异常、format 异常、特殊值、空 tensor、压力、rank0/rank8、边界值),6 类缺口全部覆盖,kernel 覆盖度 85.7% → 100% ## 逐 commit 摘要表 | # | commit | 仓库 | 内容 | 关联问题 | |---|---|---|---|---| | 1 | c7f067a86 | ops-math | 回退 bessel_i0e README 产品支持表至父版本 | 1.1 一致性 | | 2 | dd268734b | ops-math | TilingKey 去除 dtype 编码(OP-1),UT 断言同步更新 | C1 | | 3 | c6c65755e | ops-math | ubBlockSize 增加零值守卫(RD-1) | C4 | | 4 | a5b9840a0 | ops-math | 清理开发阶段注释(STYLE-3.3) | C3 | | 5 | b4d900b44 | ops-math | 修正 README 中英文数字间空格(D1) | D8-D1 | | 6 | 9fd86f88a | ops-math | Tiling 增加 FORMAT_ND 显式格式校验(X2/P3),新增 UT | P3 | | 7 | 911852351 | ops-math | README 约束说明补充 ND 格式约束(X2 资料同步) | P3 | | 8 | 625b165 | operator-artifacts | DESIGN.md 设计同步回写(S1/S5/D8)+ 测试用例 CSV 覆盖度缺口补齐(bessel_i0e 部分) | S1、S5、D8、覆盖度 | | 9 | 8a47e70 | operator-artifacts | DESIGN.md §3.4 与 REQUIREMENTS.md 补 FORMAT_ND 校验说明(bessel_i0e 部分) | P3 | ## 测试与验证 - **编译打包**:ops-math 全量编译通过(ascend950 · ENABLE_UT_EXEC=TRUE),成功产出 cann-ops-math-custom_linux-x86_64.run 安装包(build-logs/bessel_i0e.log,2026-09-23) - **op_host UT**:36/36 PASS——tiling 23 例(含新增 tiling_unsupported_format 与更新后的 tilingkey_verify);infershape 13 例 - **白盒复验**:E3(P1)经 canndev 上游 legacy 下线删除后复核无 [BesselI0e] 残留;1.4(P4)LLM A/B 审视闭环 PASS;检视问题 C1/C3/C4 全部关闭 - **覆盖度复评**:kernel 侧 6 类缺口均有对应归档用例,85.7% → 100% - **未执行(无 NPU/TTK)**:GEIR/TTK 实机测试、精度契约实机验证(fp16 rtol≤1e-3、bf16≤4e-3、fp32≤1e-4)、NaN/inf 特殊值实机行为、DataCopyPad 尾块非对齐搬运实机验证 ## 未完成事项与限制 ### 三禁区声明 1. **架构/产品禁区**:ACLNN 两段式接口立项与 910B 产品支持矩阵变更属架构师/产品决策,本分支仅在 DESIGN.md 文档层回写("后续迭代规划/待后续迭代"标注),未立项实现 2. **仓级/上游禁区**:canndev 配置与 ops-math 仓级公共 cmake 不在算子侧改动范围——E3 ini 残留由 canndev 上游删除闭环;CMP-2 栈保护选项冲突为仓级公共配置,转仓级 owner 3. **实机验证禁区**:精度契约、特殊值实机行为、GEIR/TTK 实机测试依赖 NPU/TTK 环境,本环境不可执行,转 TTK 排期 ### 环境限制 - 无 NPU/TTK:admission 中 GEIR/TTK 项标记 UNAVAILABLE,实机类验证项均未执行 ### 未修项明细引用 - 残留 4 条未修项(ACLNN 接口未交付、910B 产品支持矛盾、CMP-2 栈保护选项净关闭、golden 检索规则未覆盖 {op}/golden/ 路径)及无 NPU/TTK 验证缺口详见《/home/s00947152/LongTail/guide/未修项明细/bessel_i0e_未修项明细.md》 See merge request: cann/ops-math!6147 | 30 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
fix(bias): tiling 补 num_axes=0 元素数校验;golden 按 TTK 三方比对规范加固 Co-authored-by: SeanDictionary<b24081019@njupt.edu.cn> # message auto-generated for no-merge-commit merge: !6336 merge feat/bias into master fix(bias): tiling 补 num_axes=0 元素数校验;golden 按 TTK 三方比对规范加固 Created-by: SeanDictionary Commit-by: SeanDictionary Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 包含两处修复: **1. tiling 元素数漏检(bias_tiling_arch35.cpp)** num_axes=0 时原校验只检查 bias 的秩(rank==1),未校验元素数。bias=[N](N>1) 的非法输入会漏过 tiling 检查,kernel 将 N 元素的 bias 按 1 元素标量广播,golden 侧 reshape 报错。修复为:biasDimNum != 1 || biasShape.GetDim(0) != 1,按元素数报 OP_LOGE_FOR_INVALID_SHAPEDIM。 **2. golden 按 TTK 三方比对规范加固(tests/assets/golden.py,对齐 zl_hw/myOpen#2)** - 出口零 cast:按 Promote 后的 output_dtypes 取 dtype,补 float64 映射(原实现将 fp32 用例的 fp64 真值砍回 fp32,撤销 Promote 导致三比值分母被夹、RMSE 假红) - 三方腿(third_party/torch)按 NPU 加宽行为同步 cast:fp16/bf16 升 fp32 计算后窄回原 dtype,fp32 直算(对齐 kernel BiasKernel<half/bfloat16_t, true> 行为) - 入口零 cast + bf16 位级桥接(uint16 位串 / ml_dtypes.bfloat16 两方模式) 另新增 UT 反例 tiling_invalid_num_axes_zero_bias_elems(num_axes=0 + bias=[4] 期望 GRAPH_FAILED)。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> #3579 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 平台:Ascend950 (950DT_9592),CANN 9.2.0,TTK 三方比对(NPU + CPU golden + torch 三方腿): - Host UT:13/13 PASS(build.sh -u --ophost --soc=ascend950 --ops=bias,含新反例) - ST 三方 cross_check 全量:828/828 PASS - 精度专项(inf/nan/大 shape/非对齐):16/16 PASS - DFX(空 tensor/inf-nan/非连续/动态 shape):13/15 PASS,余 2 例 inf/nan 用例首轮因手工输入文件丢失(测试基础设施问题,非算子问题)未完成复跑 - 性能:21/21 PASS(DYN/BIN perf 数值正常) - GEIR 通路:50/50 PASS - ST 两方 close 泛化:抽样 55 例 0 FAIL(含 bf16 全 dtype) ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6336 | 30 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 | 20 days ago | |
增加reduce模板算子v121配置 Co-authored-by: Sunee<sunyi35@huawei.com> # message auto-generated for no-merge-commit merge: !6243 merge v121 into master 增加reduce模板算子v121配置 Created-by: sunzhongwen1 Commit-by: Sunee Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 给bias_add_grad、diag_part、dot、kl_div_v2、reduce_all、reduce_any、reduce_log_sum_exp、reduce_max、reduce_mean、reduce_min、reduce_prod、reduce_sum、square_sum_v1算子增加v121/122配置 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6243 | 29 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
fix(bitwise_and): dtype contract UT 用后还原 mock 平台,修复跨套件污染 Co-authored-by: wangqi_ai<wangqi195@hisilicon.com> # message auto-generated for no-merge-commit merge: !6687 merge fix/bitwise_and_dtype_contract_platform_isolation into master fix(bitwise_and): dtype contract UT 用后还原 mock 平台,修复跨套件污染 Created-by: wangqi_ai Commit-by: wangqi_ai Merged-by: cann-robot Description: ## 关联 Issue - #3875 ## 修改原因 l2_bitwise_and_dtype_contract 套件(#6375 引入)的用例将 mock 平台切至 ASCEND950(RegBase) 后未还原,进程级全局 g_socVersion 遗留为 950。紧随其后的 l2_bitwise_not_test 在 RegBase dtype 列表下运行:aclnnBitwiseNot 走 DTYPE_SUPPORT_LIST_950(含 UINT16/32/64),UINT32/UINT16/UINT64 校验返回 ACLNN_SUCCESS,而用例期望 ACLNN_ERR_PARAM_INVALID,case_dtype_unvaild 在 test_aclnn_bitwise_not.cpp:257/264/272 断言失败。 ## 主要修改 仅改动 1 个测试文件(16 行新增,0 删除),不触碰 UT 框架与业务代码。对齐同目录 test_aclnn_bitwise_and.cpp 的既有惯例(用例显式切 ASCEND950 并在结束还原 ASCEND910B,即 stub 的进程默认值): - 前 6 个已显式设 ASCEND950 的用例:末尾补 SetPlatformSocVersion(ASCEND910B) 还原; - shape_dim_format_contract / mixed_promote_and_out_cast:原先隐式依赖前序用例遗留的 ASCEND950(mixed_promote_and_out_cast 的 UINT16×UINT16 用例仅在 RegBase 下成功),现开头显式设置、末尾还原,消除顺序依赖且运行时行为不变。 ## 测试验证(x86 mock 环境,CANN 9.2.0,复现命令 bash build.sh -u --opapi) | 场景 | 结果 | | --- | --- | | 修复前基线(master) | l2_bitwise_not_test.case_dtype_unvaild 失败于 257/264/272,其余 48 例通过(复现 issue #3875)| | 修复后同序运行 | 49/49 通过 | | 修复后全套 op_api UT | 4566/4566 通过(266 套件),无其他用例受影响 | | 跳过前置套件直跑 contract→not | 23/23 通过(套件自包含,不依赖进入时平台状态)| | --gtest_shuffle 随机顺序 ×3 | 49/49 通过 | ## 污染面排查 全仓 math/*/tests/ut/op_api/ 下仅 2 个文件使用 SetPlatformSocVersion:守惯例的 test_aclnn_bitwise_and.cpp(设 8 次还 10 次)与本修复的契约套件。无任何其他套件依赖 950 遗留值,全部按默认 910B 假设编写;本套件退出态还原 910B 等价于回到 #6375 合入前的全局状态。 pre-commit run --files <变更文件> 全部通过(含 clang-format、codespell、OAT 合规)。 See merge request: cann/ops-math!6687 | 18 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 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 | 20 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 | 20 days ago | |
修改cast ut用例 Co-authored-by: ligen<ligen75@h-partners.com> # message auto-generated for no-merge-commit merge: !6676 merge master into master 修改cast ut用例 Created-by: ligen75 Commit-by: ligen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 删除多余用例 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3876 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 自验通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6676 | 18 days ago | |
docs: 修复注释与代码不一致(asinh dtype 范围与 cdist UB 注释) Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !6492 merge docs/comment-cleanup-20261019-19 into master docs: 修复注释与代码不一致(asinh dtype 范围与 cdist UB 注释) Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 - math/asinh/op_host/asinh_def.cpp:注释改为 FP32/FP16/BF16 均已实现。 - math/cdist/op_host/arch35/cdist_tiling_arch35.cpp:HL fp32 平面注释由 4096 元素/32KB 修正为 8192 元素/每平面 32KB(共 64KB)。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/3801 ## 测试 - pre-commit(含 OAT):通过 - Markdown 链接/图片检查:无新增失效项 - Markdown 代码围栏检查:通过 - 全部 26 个分支合并验证:无冲突 ## 文档更新 - math/asinh/op_host/asinh_def.cpp - math/cdist/op_host/arch35/cdist_tiling_arch35.cpp ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6492 | 22 days ago | |
fix: 修复cdist_grad边界场景中nan值的处理逻辑 Co-authored-by: VoyageZhou<zhouyuanhang4@h-partners.com> # message auto-generated for no-merge-commit merge: !6623 merge master into master fix: 修复cdist_grad边界场景中nan值的处理逻辑 Created-by: VoyageZhou Commit-by: VoyageZhou Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复cdist_grad边界场景中nan值的处理逻辑 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [Issue 3677](https://gitcode.com/cann/ops-math/issues/3677) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ST验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6623 | 21 days ago | |
math仓121算子迁蓝 Co-authored-by: andong_hw<andong2@huawei.com> # message auto-generated for no-merge-commit merge: !5762 merge master into master math仓121算子迁蓝 Created-by: qq_52874943 Commit-by: andong_hw Merged-by: cann-robot Description: ## 描述 math仓部分121算子黄迁蓝,只进行960dt适配,以及算子二进制补充,不动kernel和tiling代码。 ## 关联的Issue 关联Issue[#3650](https://gitcode.com/cann/ops-math/issues/3650) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5762 | 25 days ago | |
fix(cholesky): 修复 tiling UT compileInfo 栈缓冲区越界 Co-authored-by: Davon14272<liuwenda4@huawei.com> # message auto-generated for no-merge-commit merge: !6626 merge fix/cholesky-compile-info-overflow into master fix(cholesky): 修复 tiling UT compileInfo 栈缓冲区越界 Created-by: Davon14272 Commit-by: Davon14272 Merged-by: cann-robot Description: ## 问题 Cholesky host tiling UT 自定义了仅包含 int32_t coreNum 的局部 CholeskyCompileInfo。生产实现按包含 coreNum 和 socSupportsPanel 的 optiling::CholeskyCompileInfo 读取,导致 ASAN 在 cholesky_tiling.cpp:143 报告 READ of size 1 和 stack-buffer-overflow。 ## 修复 - 删除测试侧重复且布局不一致的 compile info 结构体 - 所有 Cholesky tiling 用例直接使用生产头文件中的 optiling::CholeskyCompileInfo - 显式初始化 socSupportsPanel,并在大单矩阵用例覆盖 panel 支持路径 ## 验证 - 未修复基线:ASAN 稳定复现 stack-buffer-overflow,定位 cholesky_tiling.cpp:143 - 修复后相同用例:1/1 PASSED - 修复后 Cholesky host ASAN UT:7/7 PASSED - git diff --check 通过 See merge request: cann/ops-math!6626 | 21 days ago | |
fix(broadcast): 修复 Collapse 链路 dtypeSize 断链导致的未初始化读取 Co-authored-by: zzz2048<zhuhanhan@huawei.com> # message auto-generated for no-merge-commit merge: !6557 merge fix/broadcast-dtypesize into master fix(broadcast): 修复 Collapse 链路 dtypeSize 断链导致的未初始化读取 Created-by: zzz2048 Commit-by: zzz2048 Merged-by: cann-robot Description: ## 问题一(dtypeSize 断链,UB) IsBroadcastTemplateNonContiguousSupport(math/common/op_api/broadcast_util.cpp)数据流中,CollectInput 正确填充的 ct.dtypeSize 在后续链路丢失: 1. PaddedInput 结构无 dtypeSize 字段——PadSingleInput 处丢失 2. BuildCollapsedTensor 未赋值——CollapseSingleTensor 处丢失 ClassifySingleInput 消费 ct.dtypeSize 计算 dimLimit(NLast 场景 a/b 门限)与 inputSize(场景 c 单核判定),读到的是**未初始化栈值(UB)**,门限判定与 opbase 决策树镜像(broadcast_tiling.h 逐输入取真实 dtypeSize 的同构逻辑)脱节。 ## 问题二(sub-bit 标记编码) opdev::TypeSize 对 INT4/UINT1/INT2/UINT2/FLOAT4/FLOAT6/HIFLOAT4 返回 kDataTypeSizeBitOffset+位宽 标记编码(如 INT4=1004)而非真实字节宽,直接参与 dimLimit = CACHE_LINE/dtypeSize 计算得 0,NLast 判定恒真污染。HIFLOAT4 已在 conversion 族算子(strided_slice_v3/zeros_like/as_strided)落地,broadcast 系接入后即触达。 ## 修复 - PaddedInput 增加 dtypeSize 字段并透传;BuildCollapsedTensor 参数化赋值;输出侧 ct 置 0 防御 - CollectInput 对 sub-bit 标记编码按 1 字节近似解码(与 ge::GetSizeByDataType 语义对齐),不新增公共接口,零 ops-base 版本依赖 ## 验证(Ascend 950PR) div/greater/greater_equal 三算子 24 例(覆盖 NLast a/b/c、Base 兜底、expand、转置、>4 维、连续分支),基线/修复两轮:精度 **48/48 PASS**,分流与性能零变化(纯 UB 消除 + 前置防御)。 关联的Issue:#3757 See merge request: cann/ops-math!6557 | 23 days ago | |
feat: CompareAndBitpack 支持 RT2 InferShape Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com> # message auto-generated for no-merge-commit merge: !5680 merge feature/compare-and-bitpack-rt2-infershape into master feat: CompareAndBitpack 支持 RT2 InferShape Created-by: zhaowenrui666 Commit-by: zhaowenrui666 Merged-by: cann-robot Description: ## 描述 为 CompareAndBitpack 补充 RT2 InferShape 和 InferDataType 实现,使算子可在 RT2 图编译流程中完成输出 shape 与 dtype 推导。 - 校验输入 x 至少为 1 维、threshold 为标量或未知秩。 - 输出 shape 继承 x,已知末维要求可被 8 整除并缩小为原来的 1/8;未知末维保持未知。 - 输出 dtype 固定推导为 DT_UINT8。 - 对照原 RT1 实现补充单元测试,覆盖正常、动态 shape、非法输入和未知秩场景,保持 RT1/RT2 行为一致。 ## 关联的Issue 无。 ## 测试 - TDD 修改前:新增 RT2 InferShape 用例后,因缺少 RT2 注册,测试执行到首个用例时失败。 - 反向对照:临时移除未知末维处理后,CompareAndBitpackInferShape.PreservesUnknownLastDimension 按预期失败;恢复实现后通过。 - bash build.sh -u --ophost --ops=compare_and_bit_pack:8 个用例全部通过。 - cmake -S . -B build -DENABLE_TEST=TRUE -DASCEND_OP_NAME=compare_and_bit_pack -DOP_HOST_UT=FALSE -DOP_GRAPH_UT=TRUE -DENABLE_UT_EXEC=TRUE && cmake --build build --target math_op_graph_ut -j8:1 个用例通过,graph_plugin_math_obj 编译成功。 - pre-commit run --from-ref ups/master --to-ref HEAD:全部检查通过。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5680 | 1 month ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 days ago | |
fix(confusion_matrix): 转测验证轮修复——输入校验加固 + golden 按 TTK 三方比对规范收敛 Co-authored-by: SeanDictionary<b24081019@njupt.edu.cn> # message auto-generated for no-merge-commit merge: !6337 merge feat/confusion-matrix into master fix(confusion_matrix): 转测验证轮修复——输入校验加固 + golden 按 TTK 三方比对规范收敛 Created-by: SeanDictionary Commit-by: SeanDictionary Merged-by: cann-robot Description: ## 描述 上一轮合入(!5444,squash 529263d53)后转测验证发现的修复,共 5 个提交: 1. **kernel ResetBins 越界守卫**(956061214): confusion_matrix_simt_not_full_load_ub.h 的 ResetBins 补 blockIdx_ >= resetBinsCoreNum_ 早退,与另两策略对齐,消除核数关系变化时的越界零写风险。 2. **InferShape 输入校验**(956061214):labels/predictions 一维 + shape 一致 + weights shape 一致校验,非法输入报 GRAPH_FAILED;proto 注释同步修正(y 为 2D [nc,nc],dtype 由 dtype/weights 映射决定,原注释继承了 canndev 历史笔误)。 3. **GEIR.02**(b72e7ab57):weights dtype 校验从 InferDataType 移到 tiling CheckDtype——仅非空 weights 校验与输出 dtype 一致,空张量豁免(空 weights 任何 dtype 合法,与 A2 语义一致)。 4. **INFER-EXC-001**(6b5f7f962):tiling CheckDtype 独立校验 labels/predictions 输入 dtype(五类合法集 + 两两一致),堵住非法 dtype 组合静默进内核。 5. **golden 规范化**(0081d4af5):出口零 cast(_compute 已按 TTK 下发的 output_dtypes 决定累加/窄回精度,去除 Promote 下为 no-op 的二次 astype);@staticmethod 加固;修正 _Compose 与模块 docstring 中与代码不符的描述。等价性验证:新旧 golden 全 dtype×weights×两方/三方 20/20 逐位一致。 6. **clang-format**(d628520fe):3 个文件按 CI 同版本 clang-format 18.1.8 重排,纯换行调整无语义变化。 ## 关联的Issue [#3578](https://gitcode.com/cann/ops-math/issues/3578) ## 测试 Ascend950DT_9592 真机(TTK 2.8.0,Rev d628520fe): - **UT**:build.sh -u --ophost --ops=confusion_matrix --soc=ascend950 **20/20 PASS**(tiling 12 含新增 empty_weights_dtype_exempt / weights_dtype_mismatch / input_dtype_mismatch / input_dtype_unsupported;infershape 8 含 shape_mismatch / rank2_rejected / weights_shape_mismatch)。 - **ST 真机**:仓内 12 例(5 f32 + 2 f16 + 5 整数)**12/12 PASS**。 - **GEIR 通路**:55 例**全部通过**——整数 32/32 binary_equal(原判据);浮点 23/23 两方比对 close PASS(三方 cross_check 因当前环境 GPU 竞品端点缺失以两方比对替代,判据声明不变)。 - **golden 等价性**:新旧实现 5 输出 dtype × 有无 weights × 两方/三方 20 组逐位一致;TTK TestSpecManager validate PASS。 ## 文档更新 - README.md 约束说明同步(weights==y dtype 一致性声明)。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6337 | 30 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仓121算子迁蓝 Co-authored-by: andong_hw<andong2@huawei.com> # message auto-generated for no-merge-commit merge: !5762 merge master into master math仓121算子迁蓝 Created-by: qq_52874943 Commit-by: andong_hw Merged-by: cann-robot Description: ## 描述 math仓部分121算子黄迁蓝,只进行960dt适配,以及算子二进制补充,不动kernel和tiling代码。 ## 关联的Issue 关联Issue[#3650](https://gitcode.com/cann/ops-math/issues/3650) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5762 | 25 days ago | |
fix_cosh Co-authored-by: yefeicoding<yefei25@huawei.com> # message auto-generated for no-merge-commit merge: !6652 merge fix_cosh into master fix_cosh Created-by: yefeicoding Commit-by: yefeicoding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6652 | 20 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 | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
适配ascend350:11个conversion/math算子新增ascend350计算单元支持 Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !6424 merge ascend350 into master 适配ascend350:11个conversion/math算子新增ascend350计算单元支持 Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 11个conversion/math算子新增ascend350计算单元支持 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3649 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6424 | 25 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
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 | |
fix(dense_bincount): DenseBincount算子检视意见闭环 Co-authored-by: tianyu52<tianyu52@huawei.com> # message auto-generated for no-merge-commit merge: !5977 merge master into master fix(dense_bincount): DenseBincount算子检视意见闭环 Created-by: tianyu52 Commit-by: tianyu52 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> DenseBincount算子加固: 1. dense_bincount_binary.json - 将 binary_output 的固定值从 false 改为 null 2. wxamples中增加校验逻辑 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> UT/ST ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5977 | 1 month ago | |
diag等算子冗余workspace改为分配0 Co-authored-by: xufeng12121<1074805447@qq.com> # message auto-generated for no-merge-commit merge: !6418 merge new_ww into master diag等算子冗余workspace改为分配0 Created-by: xufeng12121 Commit-by: xufeng12121 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> diag等算子冗余workspace改为分配0 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3678 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码整改 See merge request: cann/ops-math!6418 | 24 days ago | |
fix(docs): 修正 aclnn 头文件注释中 exector 拼写(应为 executor) Co-authored-by: gcw_LxlU8H9L<opengoodai@163.com> # message auto-generated for no-merge-commit merge: !5947 merge fix/3292-exector-typos into master fix(docs): 修正 aclnn 头文件注释中 exector 拼写(应为 executor) Created-by: gcw_LxlU8H9L Commit-by: OpenGood_WeChat;gcw_LxlU8H9L Merged-by: cann-robot Description: ## 描述 ops-math 仓 10 个两段式 aclnn 接口头文件的第二段接口 @param 注释中,参数名 executor 被拼写为 exector(少一个 u),与函数签名不一致。统一修正拼写,仅涉及注释文本,不影响任何接口与逻辑。 ## 关联的Issue 关联Issue #3292 ## 测试 - 纯注释文本修正,不涉及任何代码逻辑变化 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-math!5947 | 1 month 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 | 20 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 | 20 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
完善AdaCast、AddMatMatElements、AsinGrad、Eltwise 和 SignBitsPack参数校验与 Tiling 处理,优化广播数据复用 Co-authored-by: zhouxuan78<zhouxuan78@huawei.com> # message auto-generated for no-merge-commit merge: !5676 merge master into master 完善AdaCast、AddMatMatElements、AsinGrad、Eltwise 和 SignBitsPack参数校验与 Tiling 处理,优化广播数据复用 Created-by: zhouxuan78 Commit-by: zhouxuan78 Merged-by: cann-robot Description: ## 描述 针对 AdaCast、AddMatMatElements、AsinGrad、Eltwise 和 SignBitsPack,完善可选属性、输入输出类型与形状、系数长度及接口指针校验,修正 SignBitsPack 空 Tensor 初始化及搬运分块与 Tiling 不一致的问题,优化 AddMatMatElements 广播数据复用以减少重复搬运;同时整理 Tiling 常量和 UB 空间计算,补充 AsinGrad 单测、调整 AdaCast golden 实现,更新约束文档并修复代码格式和许可证头问题。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3266 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5676 | 1 month 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 | 20 days ago | |
math仓121算子迁蓝 Co-authored-by: andong_hw<andong2@huawei.com> # message auto-generated for no-merge-commit merge: !5762 merge master into master math仓121算子迁蓝 Created-by: qq_52874943 Commit-by: andong_hw Merged-by: cann-robot Description: ## 描述 math仓部分121算子黄迁蓝,只进行960dt适配,以及算子二进制补充,不动kernel和tiling代码。 ## 关联的Issue 关联Issue[#3650](https://gitcode.com/cann/ops-math/issues/3650) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5762 | 25 days ago | |
[ascend960dt/ascend960pr] conversion/math类9个算子新增ascend960dt/ascend960pr平台支持 Co-authored-by: yangjinwen<yangjinwen2@huawei.com> # message auto-generated for no-merge-commit merge: !5778 merge dev-v121 into master [ascend960dt/ascend960pr] conversion/math类9个算子新增ascend960dt/ascend960pr平台支持 Created-by: yangjinwen Commit-by: yangjinwen Merged-by: cann-robot Description: ## 描述 conversion 类 7 个算子(batch_to_space_nd、concat、concat_d、concat_v2、depth_to_space、pack、space_to_depth)与 math 类 2 个算子(erfc、rint)新增 ascend960dt / ascend960pr 平台支持,复用 arch35 tiling 框架,主要改动: - 平台注册:9 个算子 CMakeLists.txt 的 COMPUTE_UNIT/SUPPORT_COMPUTE_UNIT 新增 ascend960dt、ascend960pr(TILING_DIR 复用 arch35),op_host/*_def.cpp 新增对应 this->AICore().AddConfig(...) 注册; - 预编译 binary 接入:batch_to_space_nd、concat_d、depth_to_space、pack、space_to_depth、rint 新增 op_host/config/ascend960dt/、op_host/config/ascend960pr/ 下的 *_binary.json 与 *_simplified_key.ini;concat_v2 为 HOSTCPU 算子(依赖 concat),无独立 binary;erfc 的 kernel 源码(arch35/erfc.cpp)通过 add_kernel_sources 的 COMPUTE_UNITS 纳入新平台编译; - concat 的 arch35 tiling/kernel 适配 DAV_9201 架构(仅 9201 生效,不影响既有平台路径): - tiling 侧:DAV_9201 平台 ubFactorDim0 按两倍 BLOCK(64B)对齐修正;新增 dtypeSize 提升优化(末轴字节满足 128/64/32/16B 对齐时提升 dtypeSize,减少搬运次数),并注册 bitwidth=16 系列 tilingKey(12116/12126/21116/21216/30016 等); - kernel 侧:__NPU_ARCH__ == 9201 下 DataCopyPad 使用带 enAtomicSync 参数的接口分支。 ## 关联的Issue #3222 https://gitcode.com/cann/ops-math/issues/3222 ## 测试 平台注册与预编译 binary 接入部分不涉及既有 kernel 逻辑修改;concat 为 DAV_9201 架构适配新增专属分支,既有平台路径不变;可通过 PR 评论 compile 触发 CI 编译流水线验证。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5778 | 28 days ago | |
math仓121算子迁蓝 Co-authored-by: andong_hw<andong2@huawei.com> # message auto-generated for no-merge-commit merge: !5762 merge master into master math仓121算子迁蓝 Created-by: qq_52874943 Commit-by: andong_hw Merged-by: cann-robot Description: ## 描述 math仓部分121算子黄迁蓝,只进行960dt适配,以及算子二进制补充,不动kernel和tiling代码。 ## 关联的Issue 关联Issue[#3650](https://gitcode.com/cann/ops-math/issues/3650) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5762 | 25 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
feat: expand/tile/pad/pad_v3/mirror_pad/get_shape支持Ascend960PR Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !6568 merge dev_960 into master feat: expand/tile/pad/pad_v3/mirror_pad/get_shape支持Ascend960PR Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> expand/tile/pad/pad_v3/mirror_pad/get_shape支持Ascend960PR ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3836 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6568 | 21 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 | |
nn仓121回合主线黄迁蓝 Co-authored-by: qq_52874943<gaomingyuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !6656 merge master into master nn仓121回合主线黄迁蓝 Created-by: qq_52874943 Commit-by: qq_52874943 Merged-by: cann-robot Description: ## 描述 本 PR 为 nn仓算子新增 ascend960DT 平台的支持,包括新增该平台下的算子内核二进制配置、在算子定义中注册 ascend960DT 配置,并将该平台加入算子二进制编译配置的 compute_units 列表,使 Erfinv 算子能够在 ascend960DT 上编译运行。 ## 关联的Issue 关联Issue[#6917](https://gitcode.com/cann/ops-nn/issues/6917) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6656 | 20 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
math仓121算子迁蓝 Co-authored-by: andong_hw<andong2@huawei.com> # message auto-generated for no-merge-commit merge: !5762 merge master into master math仓121算子迁蓝 Created-by: qq_52874943 Commit-by: andong_hw Merged-by: cann-robot Description: ## 描述 math仓部分121算子黄迁蓝,只进行960dt适配,以及算子二进制补充,不动kernel和tiling代码。 ## 关联的Issue 关联Issue[#3650](https://gitcode.com/cann/ops-math/issues/3650) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5762 | 25 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 | 20 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 | 20 days ago | |
sinc等算子冗余workspace改为分配0 Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !6261 merge workspace into master sinc等算子冗余workspace改为分配0 Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> sinc等算子冗余workspace改为分配0 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3611 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: 代码整改 See merge request: cann/ops-math!6261 | 28 days ago | |
[fresnel_sin] quality-hardening:算子质量加固修复(准入+检视问题整改) Co-authored-by: handsomeRobot_SK<suke13@huawei.com> # message auto-generated for no-merge-commit merge: !6194 merge fresnel_sin_quality_hardening into master [fresnel_sin] quality-hardening:算子质量加固修复(准入+检视问题整改) Created-by: handsomeRobot_SK Commit-by: handsomeRobot_SK Merged-by: cann-robot Description: # [fresnel_sin] quality-hardening:算子质量加固修复(准入+检视问题整改) ## 一、变更概述 本 PR 为 fresnel_sin 算子转测准入(ops-admission-scan 白盒)+ 代码检视(ascendc-code-review file-review 全量)双报告问题的整改合入: - **准入扫描(2026-09-23)**:唯一真实 FAIL 为 ascend950 ini [FresnelSin] section 残留(P-E3,已由上游 canndev legacy 下线删除闭环);另一自动化 FAIL(15.5 f_dtype)经人工复核为 README "DOUBLE" 措辞被 dtype 正则误命中的工具误报;另有提示级问题 P-D/P-D2/P-INFO。 - **代码检视(2026-09-23)**:LOG-1 裸 OP_LOGE FAIL 5 处(H1-H5)、SUSPICIOUS 6 项(L1-L6)、设计一致性偏差 5 项(M1-M5)、风格 3 项(S1-S3)、文档格式 3 处(D1-D3)。 修复对象覆盖主线(math/fresnel_sin/,GE 交付主体,TBE 结构)与实验侧(experimental/math/fresnel_sin/,Ascend C l0op + aclnn 两段式)**双实现**:日志结构化、UB 容量校验、TilingData 字段整治、输出舍入模式对齐、大值截断机制显式化(两实现口径一致)等;交付件 DESIGN.md/REQUIREMENTS.md 同步至 v1.1,测试用例补齐空 tensor/边界/压力用例。共 7 个代码 commit(基线 2a12b1423 起)+ 2 个交付件同步 commit(625b165/8a47e70 中本算子部分)。 **适用审阅视角**:主线/实验侧均为 kernel + tiling + host 混合改动;无属性算子(proto/def 无 ATTR),无 TensorList/SIMT/MC2 路径介入。 ## 二、分类修改清单 ### (一)代码(ops-math 仓,主线 math/fresnel_sin + 实验侧 experimental/math/fresnel_sin) | 文件(范围) | 修改内容 | 对应问题 | |---|---|---| | 实验侧 op_host/arch35/fresnel_sin_tiling.cpp | H1/H2 裸 OP_LOGE 改结构化宏(EZ0016/EZ0007);新增 GetTileUbBytes() UB 容量校验(不足报错);删除只写不读字段写入(L5);4 处单行 if 补大括号(S2) | H1/H2、L2、L5、S2 | | 实验侧 op_kernel/arch35/fresnel_sin_tiling_data.h | baseLength/tailLength 由 uint32_t 改 int64_t,防 GM 偏移截断 | L1 | | 实验侧 op_kernel/arch35/fresnel_sin.h | 输出 Cast 由 CAST_NONE 改 CAST_RINT(M1);1e-30f 魔数命名 EPS_GUARD(L3) | M1、L3 | | 实验侧 op_api/aclnn_fresnel_sin.cpp、op_api/fresnel_sin.cpp | 3 处裸 OP_LOGE 改 OP_LOGE_WITH_INVALID_INPUT_DTYPE / OP_LOGE_FOR_INVALID_SHAPES_WITH_REASON(H3/H4/H5) | H3/H4/H5 | | 实验侧 op_api/aclnn_fresnel_sin.h | 头注释空 tensor 措辞明确化(0-8 维任意 shape 含空 tensor) | P-D2 | | 主线 op_kernel/arch35/fresnel_sin.h | 死代码清理(未用常量、被覆盖的 NaN 掩码 Compare,L4);恢复 ASYM_THRESH=36974.0f 并接入 CompareScalar(GE) 显式截断分支(L6);单行 if 补大括号、成员变量分行声明(S1/S3) | L4、L6、S1、S3 | 修复机制说明(L6):主线大值截断由原先 |x|==|x|+1 饱和(≈2^24 起触发)改为显式 |x|≥36974(GE)阈值分支,[36974, 2^24) 区间按 DESIGN §1.3 显式截断为 sign(x)*0.5,±Inf 同落该掩码,与实验侧 maskClamp(Compare(maskClamp, |x|, 36974, GE))口径一致;结果数值等价,两实现机制对齐。 ### (二)资料(operator-artifacts/fresnel_sin 交付件) | 文件 | 修改内容 | 对应问题 | |---|---|---| | DESIGN.md(v1.1) | workspace 非 0(系统 Sin/Cos 临时空间)说明、arch22 未实现状态说明、双实现 TilingKey/TilingData 差异记录、输出 Cast 舍入 CAST_RINT、主线大值截断机制说明 | M3/M4/M5 收口 + L6 机制同步 | | REQUIREMENTS.md(v1.1) | workspaceSize 参数口径修正(GetLibApiWorkSpaceSize,可能非 0;空 tensor 时为 0)、Workspace/资源约束章节同步、GE 图模式静态/动态 shape 支持标记修正;"0-8 维" 空格清理(D1/D2) | M3/M4 + D1/D2 | | DESIGN.md:414 | "248 KB" 改 "248KB"(D3);v1.1 版本历史留痕 | D3 | ### (三)用例(operator-artifacts/fresnel_sin/测试用例) - fresnel_sin_tf_e2e_cases.csv:新增 18 条——rank5-8 各 1、1GiB 压力 fp32/fp16/bf16 各 1、特殊值(±0、NaN、±Inf)三 dtype 各 1、空 tensor 1D(fp16/bf16)与 2D 0×3(fp32/fp16/bf16)共 5、边界值(fp32 max/denorm、fp16 max/min、bf16)3; - test_cases_spec.csv:新增 5 条**空 tensor 边界用例**(1D 空、2D 0×3,fp16/bf16/fp32,带容差列),补齐覆盖度报告指出的空 tensor 专项用例缺口。 ## 三、逐 commit 摘要表 ops-math 分支(基线 2a12b1423 → HEAD,7 个): | # | commit | 标题 | 涉及文件 | 对应问题 | |---|---|---|---|---| | 1 | 32fc3c64c | fix: 实验侧 tiling LOG-1 结构化日志+UB 容量校验+TilingData 字段整治 | 实验侧 tiling.cpp、tiling_data.h | H1/H2、L1、L2、L5 | | 2 | ffcd16efe | fix: 实验侧 kernel 输出 Cast 改 CAST_RINT+命名 1e-30f 魔数 | 实验侧 kernel fresnel_sin.h | M1、L3 | | 3 | 8319a90ed | fix: 清理主线 kernel 死代码 | 主线 kernel fresnel_sin.h | L4 | | 4 | fa23a8441 | docs: 修正 aclnn 头注释空 tensor 措辞 | 实验侧 aclnn_fresnel_sin.h | P-D2 | | 5 | 34e9e4786 | fix: op_api 三处裸 OP_LOGE 改用结构化预定义宏 | 实验侧 aclnn_fresnel_sin.cpp、fresnel_sin.cpp | H3/H4/H5 | | 6 | 84d83c99e | style: 补齐 STYLE-2.4 大括号与 STYLE-2.8 变量分行 | 实验侧 tiling.cpp、主线 kernel fresnel_sin.h | S1/S2/S3 | | 7 | 02039ad1e | fix: 主线显式实现 36974 大值截断阈值(L6) | 主线 kernel fresnel_sin.h | L6 | 交付件同步(operator-artifacts 仓,本算子部分): | # | commit | 标题 | 涉及文件 | 对应问题 | |---|---|---|---|---| | 8 | 625b165 | quality-hardening: 19算子批量修复(本算子部分) | fresnel_sin/DESIGN.md(v1.1)、REQUIREMENTS.md(v1.1)、测试用例/fresnel_sin_tf_e2e_cases.csv(+18)、test_cases_spec.csv(+5) | M3/M4/M5、D1-D3、用例补齐 | | 9 | 8a47e70 | quality-hardening: 第二轮补修(本算子部分) | fresnel_sin/DESIGN.md(区间3 阈值符号 GT→GE、"两实现一致"口径)、REQUIREMENTS.md | L6 交付件口径同步 | 外部闭环:P-E3(ascend950 ini [FresnelSin] 残留)随 canndev 上游 legacy 下线提交(2026-09-18,删除含 FresnelSin 在内 20 个算子的 ascend950 ini 段)删除;已复核当前 ascend950 ini 无该 section。 ## 四、测试与验证 ### 构建(主线/实验侧两套实现均覆盖) - **主线包全量构建**(含 kernel bin 重编):通过(commit 02039ad1e 验证记录); - **实验侧全量构建**:通过(commit 34e9e4786 验证记录,含 opapi 目标日志栈隔离改动); - **代码风格**:clang-format dry-run 校验通过,大括号/分行整改不被格式化工具回退(commit 84d83c99e 验证记录)。 ### 白盒准入复扫(无 NPU 静态证据) - P-E3 修复后准入扫描无残留 FAIL 项(15.5 f_dtype 为工具误报另案,见未完成事项); - 异常三层检测(Tiling/op_api/LLM 审视)与工程规范 6 项(E1-E6)均 PASS; - 用例覆盖度:kernel 侧 95.9%、aclnn 侧 81.2%,均 PASS(≥80%),空 tensor 用例已按此轮改动补齐。 ### UT 与真机 - **UT**:受本地环境限制(ophost UT 进程无法找到算子 impl 注册 "not found FresnelSin",同仓 abs/fresnel_cos 对照也全挂),UT 未能跑通,待环境修复后复跑;本 PR 未改 UT 代码; - **精度/性能**:无 NPU 环境,未新增实测;沿用交付件历史精度/性能报告(operator-artifacts/fresnel_sin/测试报告/,2026-09-15/18,scipy golden 两方/三方)。M1(CAST_RINT)与 L6(显式 36974 阈值)均为机制对齐类修改:前者直接降低 fp16/bf16 舍入误差,后者数值与原饱和路径等价(区间 3 输出恰为 ±0.5 边界值),预期不影响既有精度结论,真机验证随转测执行。 ## 五、未完成事项与限制(审阅须知) ### 三禁区声明(需架构/产品裁决,不在本 PR 范围) 1. **ACLNN 接口交付范围未定**(admission P-D):实验侧手写 aclnn 两段式接口存在但当前 ACLNNTYPE=aclnn_exclude + DISABLE_IN_OPP,全仓无 docs/aclnnFresnelSin.md。若实验侧随交付则需补文档(含错误码表,覆盖 ACLNN_ERR_PARAM_NULLPTR/PARAM_INVALID);此 PR 未动 aclnn 交付配置与文档目录结构。 2. **910B(arch22/DAV_2201)产品支持矛盾**(code-review M2):spec.yaml/REQUIREMENTS/README 声明支持 Ascend910B,实现仅 arch35 且 l0op 强制 DAV_3510,无 op_kernel/arch22 目录;DESIGN v1.1 仅记录了"arch22 未实现"状态说明,spec/需求的声明未改动(删声明或补实现属产品决策)。 3. **主线(GE)与实验侧(Ascend C)双实现并存,交付侧别未收敛**(admission P-INFO + 检视附注 3):两实现算法同源但接口/结构差异大,REG_OP(FresnelSin) 仅主线有;收敛其一属大改动,需架构裁决。DESIGN v1.1 §3.2/§3.3 已记录双实现差异,未做收敛决策。 ### 环境限制 - **无 NPU/TTK**:GEIR TTK 动态 shape 真机测试、异常输入真机实测(admission 标记 UNAVAILABLE)及覆盖度报告残留缺口(DT_INT32 边界 ±2.14748e+09、UB 整除、aclnn 异常用例部分)未补证,待转测拿到 NPU 后执行 run_ttk_geir.sh / run_ttk_exception.sh 并回填测试报告目录。 ### 已知未修低危项 / 工具冲突 - README 约束说明 "不支持DOUBLE(FP64)" 措辞仍会触发扫描器 dtype 正则误报(P-W1,为规避需确认扫描器口径的文档措辞改动);无有意设计类未修项。 以上 5 项未修项的完整条目、决策人与修复条件,见 /home/s00947152/LongTail/guide/未修项明细/fresnel_sin_未修项明细.md。 See merge request: cann/ops-math!6194 | 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 | |
产品名变更 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 | |
OneHot,ConfusedTransposeD,FusedMulAddN等3个算子infershape&inferDataType缺失补充 Co-authored-by: tianyu52<tianyu52@huawei.com> # message auto-generated for no-merge-commit merge: !6617 merge feat/rt2-infer-4ops into master OneHot,ConfusedTransposeD,FusedMulAddN等3个算子infershape&inferDataType缺失补充 Created-by: tianyu52 Commit-by: tianyu52 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> OneHot,ConfusedTransposeD,FusedMulAddN等3个算子infershape&inferDataType缺失补充 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> UT/ST ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6617 | 21 days ago | |
适配ascend350:11个conversion/math算子新增ascend350计算单元支持 Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !6424 merge ascend350 into master 适配ascend350:11个conversion/math算子新增ascend350计算单元支持 Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 11个conversion/math算子新增ascend350计算单元支持 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3649 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6424 | 25 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 | 20 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 | 20 days ago | |
fix(get_dynamic_dims): validate input data types Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com> # message auto-generated for no-merge-commit merge: !5953 merge fix/issue-3274-get-dynamic-dims-dtype-check into master fix(get_dynamic_dims): validate input data types Created-by: zhaowenrui666 Commit-by: zhaowenrui666 Merged-by: cann-robot Description: ## 描述 GetDynamicDims根据输出数据类型选择模板类型,并使用该类型读取所有动态输入。原实现未校验各输入与输出的数据类型是否一致,混合数据类型场景可能导致输入数据被错误解释。 本次修改在读取输入数据前校验所有动态输入的数据类型与输出一致;数据类型不一致时返回参数错误。同时补充算子原型和README中的数据类型约束,并增加首输入与输出类型不一致、后续动态输入类型不一致的回归用例。 ## 关联的Issue Fixes #3274 ## 测试 修改前执行: bash bash build.sh -u --opkernel_aicpu --ops=get_dynamic_dims \ --gtest_filter=GetDynamicDimsAicpuTest.* -j16 原有7个用例通过,新增2个混合数据类型用例失败,问题稳定复现。 修改后执行相同命令,9个用例全部通过。 执行以下pre-commit检查,全部通过: bash pre-commit run --files \ math/get_dynamic_dims/README.md \ math/get_dynamic_dims/op_graph/get_dynamic_dims_proto.h \ math/get_dynamic_dims/op_kernel_aicpu/get_dynamic_dims_aicpu.cpp \ math/get_dynamic_dims/tests/ut/op_kernel_aicpu/test_get_dynamic_dims.cpp ## 文档更新 更新math/get_dynamic_dims/README.md和get_dynamic_dims_proto.h,明确所有动态输入的数据类型必须一致,输出数据类型与输入一致。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5953 | 1 month ago | |
feat: expand/tile/pad/pad_v3/mirror_pad/get_shape支持Ascend960PR Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !6568 merge dev_960 into master feat: expand/tile/pad/pad_v3/mirror_pad/get_shape支持Ascend960PR Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> expand/tile/pad/pad_v3/mirror_pad/get_shape支持Ascend960PR ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3836 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6568 | 21 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 | 20 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 | 20 days ago | |
style(math): 修复 op_api 层 CodeCheck 静态检查规范问题 Co-authored-by: xiafengkou<luojiangtao4@huawei.com> # message auto-generated for no-merge-commit merge: !6425 merge fix/math-codecheck-opapi into master style(math): 修复 op_api 层 CodeCheck 静态检查规范问题 Created-by: xiafengkou Commit-by: xiafengkou Merged-by: cann-robot Description: ## 变更说明 修复 CodeCheck 静态检查在 math 仓 op_api 层报告的规范问题,仅做等价修改,不改变任何业务逻辑与对外接口(aclnn API 签名/ABI 不变)。 涉及规则与修改: 1. **G.FUN.02(声明与定义参数名/限定不一致)** - math/sqrt/op_api/aclnn_sqrt.h/.cpp:头文件两处声明形参 opExecutor 对齐为 executor,@param 注释同步更新(DFX 宏内部硬编码标识符 executor,故改声明侧而非定义侧,不影响 ABI/调用方);移除 aclnnSqrt/aclnnInplaceSqrt 中 const aclrtStream stream 的多余顶层 const,与头文件声明保持一致。 - math/arg_min/op_api/aclnn_argmin.cpp:aclnnArgMin 定义移除 const aclrtStream stream 的多余 const,与头文件声明一致。 2. **G.INC.12(内部链接函数缺少 static)** - math/greater_equal/op_api/aclnn_ge_scalar.cpp:仅本文件内调用的 aclnnGeScalarCommon 增加 static,限定内部链接。 3. **G.INC.02(冗余 include)** - 删除 cumprod、cosh、sign_bits_pack、polar、grouped_bias_add_grad 五个 op_api 源文件中未使用的 #include "op_api/op_api_def_math.h"。 4. **G.CNS.04(只读指针参数应加 const)** - math/cdist_grad/op_api/aclnn_cdist_backward.cpp:GetOutTensorWithValueZero 形参加 const。 - math/sqrt/op_api/aclnn_sqrt.cpp、math/log/op_api/aclnn_log10.cpp、math/cos/op_api/aclnn_cos.cpp:CheckInplaceDtypeValid 形参加 const。 ## 关联 Issue ## 测试报告 - 编译验证(ascend950): - bash build.sh --soc=ascend950 --ops=sqrt,arg_min,greater_equal,cdist_grad,cos,cosh,cumprod,grouped_bias_add_grad,log,polar,sign_bits_pack -j16:ophost + binary 编译成功。 - bash build.sh --opapi --soc=ascend950 -j16:opapi 库编译成功。 - opapi UT:bash build.sh -u --opapi --soc=ascend950 -j16,均通过。 ## 自测考虑 - [x] 编译通过 - [x] UT 验证通过 - [x] 保持原有逻辑与接口不变 ## 文档 无 See merge request: cann/ops-math!6425 | 27 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 | |
docs: fix HansEncode Ascend 950 support status Co-authored-by: n_nddddd<lanshangwei1@huawei.com> # message auto-generated for no-merge-commit merge: !6250 merge hans-encode-950-doc-support into master docs: fix HansEncode Ascend 950 support status Created-by: n_nddddd Commit-by: n_nddddd Merged-by: cann-robot Description: ## 描述 hans encode 质量加固(资料同步):README 产品支持表补充 950支持 hans encode。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3503 ## 测试 只修改文档,无代码更新 ## 文档更新 更新了以下两个文档: math/hans_encode/README.md math/hans_encode/docs/aclnnHansEncode.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6250 | 1 month ago | |
histogram_fixed_width: 新增ascend960dt/960pr支持 Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !6204 merge dev_his into master histogram_fixed_width: 新增ascend960dt/960pr支持 Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> histogram_fixed_width: 新增ascend960dt/960pr支持 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3556 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6204 | 29 days ago | |
fix: 支持 960(DAV_9201/DAV_9202) 的 regbase tiling 路由(histogram_v2) Co-authored-by: wangxun21<wangxun21@huawei.com> # message auto-generated for no-merge-commit merge: !6653 merge fix_960_regbase_histogram_linspace_range into master fix: 支持 960(DAV_9201/DAV_9202) 的 regbase tiling 路由(histogram_v2) Created-by: wangxun21 Commit-by: wangxun21 Merged-by: cann-robot Description: ## 描述 histogram_v2 的 tiling 模板选择(IsCapable)仅判断 DAV_3510(950),在 960(NpuArch::DAV_9201 / DAV_9202)上会误走非 regbase 分支。参照 PR #6614 的做法,在 regbase 判定处补充对 NpuArch::DAV_9201 / DAV_9202 的识别。 ## 主要改动 - **histogram_v2**: HistogramV2SimtTiling / HistogramV2SimdTiling(regbase 正向)与 HistogramV2MembaseTiling(反向排除)三个 IsCapable 补充 DAV_9201/DAV_9202; - 使用基类 HistogramV2BaseClass::GetPlatformInfo 已回填的 npuArch 成员(IsCapable 在 GetPlatformInfo 之后执行),无额外平台访问,platform 为空时也已由基类回退到 compileInfo。 ## 关联的Issue ## 测试 静态核对 + 待二级冒烟 / ST 验证(本 MR 未在本地执行编译);已用 hook 同款 clang-format(18.1.8) 校验通过。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6653 | 20 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 | |
[inv] 算子质量加固修复 + 平台适配 Co-authored-by: JasonZhang88<jason.zhangshen@huawei.com> # message auto-generated for no-merge-commit merge: !6567 merge master_new into master [inv] 算子质量加固修复 + 平台适配 Created-by: JasonZhang88 Commit-by: JasonZhang88 Merged-by: cann-robot Description: # [inv] 算子质量加固修复 + 平台适配 ## 描述 依据 Inv 算子六轮全量验证(静态检查 + ST 用例生成/评审/自验证 + 上板 TTK)发现的问题进行整改,并新增芯片平台支持。 本 PR 仅涉及 math/inv/ 目录(15 文件,+646/-152),不影响其他算子。 ## 变更概述 ### 1. P1 精度缺陷修复 **bf16 次正规输入倒数返回 inf**(op_kernel/arch35/inv.h) fp16/bf16 分支的 Div 未带 config,默认 INTRINSIC 算法对 fp32 次正规操作数执行 flush-to-zero,导致合法输入(bf16 最大次正规数 1.166e-38)的倒数结果错误地返回 inf 而非有限值 8.574e37。修复为与 float32 分支统一使用 DivConfig{PRECISION_0ULP_FTZ_FALSE}。 真机复现 FAIL(matched_ratio=0.0) → 修复后 PASS(1.0),整批 L0 零回归。 ### 2. 功能补齐 | 功能 | 文件 | 说明 | |---|---|---| | InferShape 推导 | op_host/inv_infershape.cpp(新增) | 注册 IMPL_OP_INFERSHAPE(Inv).InferShape(InferShape4Inv),复用仓内公共 InferShape4Elewise | | Tiling rank 上界 | op_host/arch35/inv_tiling_arch35.cpp | kMaxRank=8,rank>8 以 EZ0012 结构化诊断码显式拒绝 | | InferShape rank 上界 | op_host/inv_infershape.cpp | 与 Tiling 门对称,rank>8 拒绝(EZ0012) | | ascend350 适配 | CMakeLists.txt + inv_def.cpp | SUPPORT_COMPUTE_UNIT 增加 ascend350,AddConfig("ascend350"),tiling 复用 arch35 | ### 3. Golden 测试资产 新增 tests/assets/golden.py(206 行): - 注册 inv(Kernel/GEIR)+ tf.raw_ops.Inv(TF E2E,对齐插件 OriginOpType) - 参考计算全部由 torch 承担:float 用 torch.reciprocal 直接竞品,int32 三值映射用 torch.where 组合 - NumPy 仅做数据桥接;bfloat16 经 uint16 位视图往返(位级一致,含次正规数) - 延迟导入 torch(_ensure_torch()),纯 TF NPU 环境可加载注册 - 容差按 README 声明:FLOAT 1e-4 / FLOAT16 1e-3 / BFLOAT16 4e-3 / INT32 binary_equal ### 4. 注册面与资料修复 - proto 注释维度 1D~8D → 0D~8D (rank-0 tensor supported)(inv_proto.h:24) - INPUT/OUTPUT TensorType 保持原始声明不变(8 种/4 种) - README:调用表三列化(补"样例代码"列)、参数名 self/out → x/y(对齐 IR 端口)、补动态 shape/rank(-1/-2)声明 ### 5. 样例修复 | 修复 | 说明 | |---|---| | 输入缓冲区泄漏 | Tensor::SetData + DeleteFunc 移交所有权 | | 提前返回未清理 | 两条路径补 GEFinalize() | | AddGraph 返回值 | if (ret != SUCCESS) + 资源清理 | | 宏节点名截短 | "placeholder" + std::to_string(intputIndex) | | WriteDataToFile | 返回值检查 | ### 6. 注释修正 TilingKey/D_T_SELF/DTYPE_SELF 陈旧描述统一修正为 MODE 恒 0 + DTYPE_X 编译期分派(4 处源码 + 20 处 UT 注释)。 ## 关联 Issue https://gitcode.com/cann/ops-math/issues/3696 ## 测试 - **op_host UT**:46/46 通过(含新增 InferShape 8 例 + Tiling rank 拒绝 2 例) - **GEIR 样例真机**:execute samples success(ascend950) - **上板精度**:Kernel 480/494 PASS + GEIR 40/40 PASS(连续四轮零精度失败;14 例 rank-0 失败为 CANN DFX 环境缺陷,BIN 模式 100% 通过,非算子问题) - **bf16 次正规回归**:真机复现 FAIL → 修复后 PASS,整批 L0 零回归 - **README 冻结校验器**:validate_operator_readme.py --mode full PASSED ## 类型标签 - [x] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!6567 | 18 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
diag等算子冗余workspace改为分配0 Co-authored-by: xufeng12121<1074805447@qq.com> # message auto-generated for no-merge-commit merge: !6418 merge new_ww into master diag等算子冗余workspace改为分配0 Created-by: xufeng12121 Commit-by: xufeng12121 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> diag等算子冗余workspace改为分配0 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3678 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码整改 See merge request: cann/ops-math!6418 | 24 days ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 days ago | |
math仓121算子迁蓝 Co-authored-by: andong_hw<andong2@huawei.com> # message auto-generated for no-merge-commit merge: !5762 merge master into master math仓121算子迁蓝 Created-by: qq_52874943 Commit-by: andong_hw Merged-by: cann-robot Description: ## 描述 math仓部分121算子黄迁蓝,只进行960dt适配,以及算子二进制补充,不动kernel和tiling代码。 ## 关联的Issue 关联Issue[#3650](https://gitcode.com/cann/ops-math/issues/3650) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5762 | 25 days ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 days ago | |
math仓121算子迁蓝 Co-authored-by: andong_hw<andong2@huawei.com> # message auto-generated for no-merge-commit merge: !5762 merge master into master math仓121算子迁蓝 Created-by: qq_52874943 Commit-by: andong_hw Merged-by: cann-robot Description: ## 描述 math仓部分121算子黄迁蓝,只进行960dt适配,以及算子二进制补充,不动kernel和tiling代码。 ## 关联的Issue 关联Issue[#3650](https://gitcode.com/cann/ops-math/issues/3650) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5762 | 25 days ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 days ago | |
math仓121算子迁蓝 Co-authored-by: andong_hw<andong2@huawei.com> # message auto-generated for no-merge-commit merge: !5762 merge master into master math仓121算子迁蓝 Created-by: qq_52874943 Commit-by: andong_hw Merged-by: cann-robot Description: ## 描述 math仓部分121算子黄迁蓝,只进行960dt适配,以及算子二进制补充,不动kernel和tiling代码。 ## 关联的Issue 关联Issue[#3650](https://gitcode.com/cann/ops-math/issues/3650) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5762 | 25 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
修改aclnnAcosh接口文档以及KlDivV2算子文档 Co-authored-by: xiu_ling_wang<wangxiuling2@h-partners.com> # message auto-generated for no-merge-commit merge: !6506 merge doc-md into master 修改aclnnAcosh接口文档以及KlDivV2算子文档 Created-by: xiu_ling_wang Commit-by: xiu_ling_wang Merged-by: cann-robot Description: ## 描述 修改aclnnAcosh接口文档以及KlDivV2算子文档 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3501 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6506 | 24 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 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 | 20 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 | 20 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 | 20 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
修复range等算子IsRegbaseSocVersion问题 Co-authored-by: taochangmin<taochangmin@huawei.com> # message auto-generated for no-merge-commit merge: !6614 merge fix_960_regbase into master 修复range等算子IsRegbaseSocVersion问题 Created-by: taochangmin Commit-by: taochangmin Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复range和lin_space算子IsRegbaseSocVersion未包含960平台的问题,补充判断NpuArch,960平台也走arch35分支 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3864 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> st测试,冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6614 | 20 days ago | |
math仓121算子迁蓝 Co-authored-by: andong_hw<andong2@huawei.com> # message auto-generated for no-merge-commit merge: !5762 merge master into master math仓121算子迁蓝 Created-by: qq_52874943 Commit-by: andong_hw Merged-by: cann-robot Description: ## 描述 math仓部分121算子黄迁蓝,只进行960dt适配,以及算子二进制补充,不动kernel和tiling代码。 ## 关联的Issue 关联Issue[#3650](https://gitcode.com/cann/ops-math/issues/3650) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5762 | 25 days ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 days ago | |
[Docs] 完善 LogAddExp 算子 README Co-authored-by: zhangqijia<zhangqijia1@h-partners.com> # message auto-generated for no-merge-commit merge: !6595 merge docs/fix-log-add-exp-readme-3721 into master [Docs] 完善 LogAddExp 算子 README Created-by: gcw_SUaZx3UQ Commit-by: gcw_SUaZx3UQ;zhangqijia Merged-by: cann-robot Description: ## 描述 LogAddExp 已有 AscendC 实现,原 README 仍描述为仅包含 aclnn 接口。按仓内 Add 算子 README 的章节顺序、产品支持表、参数表和调用表格式,补全 LogAddExp 算子说明。 正文介绍算子的功能、默认计算公式、输入输出、base/scale/shift 属性和约束;aclnnLogAddExp、aclnnLogAddExp2 及对应样例仅放在“调用说明”中。 ## 关联的Issue [Issue #3721:LogAddExp README 与现有 AscendC 实现不一致](https://gitcode.com/cann/ops-math/issues/3721) ## 测试 ## 文档更新 更新 math/log_add_exp/README.md。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6595 | 18 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 | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 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 | 20 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 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 | 20 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 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 | 20 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 | 20 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 | 20 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 | 20 days ago | |
docs: 修正 math 算子 README 文档中的描述与数据类型说明 Co-authored-by: Nice_try<zhangzhiwei108@huawei.com> # message auto-generated for no-merge-commit merge: !6158 merge 3246 into master docs: 修正 math 算子 README 文档中的描述与数据类型说明 Created-by: Nice_try Commit-by: Nice_try Merged-by: cann-robot Description: ## 描述 修正 math 目录下 13 个算子 README.md 文档中的描述问题,提升文档准确性与术语一致性,具体包括: - 数据类型说明修正: abs 输出类型列表去掉重复的 FLOAT16、FLOAT,改为 COMPLEX32、COMPLEX64;assign_sub 修正拼写 BFOAT16 → BFLOAT16。 - 属性名拼写修正:hans_encode 的 reshuff → reshuffle。 - 术语大小写统一:arg_min 的 infershape → InferShape;reduce_all 的 tenor → Tensor。 - 表述/用词修正:add_n 的"主元素相加"→"逐元素相加";add_lora 的"Lora"→"LoRa";cholesky 的"需为"→"须为";cosine_similarity 的"显示指定"→"显式指定";cumsum 的"累计求和"→"累积求和";lgamma 的"输入张量x1"→"输入张量x";mul_addn 表述精简;asinh_grad 的"通过图模式方式调用"→"通过图模式调用"。 ### 改动原因 文档中存在错别字、术语拼写与大小写不统一、数据类型说明错误等问题,影响可读性与准确性。 ### 改动方法 逐文件校对并修正上述 README.md 中的文本与类型说明,仅涉及文档,不改变任何代码逻辑。 ## 关联的Issue #3426 ## 测试 文档变更,无需代码测试。 ## 文档更新 更新 math 目录下以下 13 个 README.md: math/abs、math/add_lora、math/add_n、math/arg_min、math/asinh_grad、math/assign_sub、math/cholesky、math/cosine_similarity、math/cumsum、math/hans_encode、math/lgamma、math/mul_addn、math/reduce_all ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6158 | 1 month 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 | 21 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 | 20 days ago | |
nn仓121回合主线黄迁蓝 Co-authored-by: qq_52874943<gaomingyuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !6656 merge master into master nn仓121回合主线黄迁蓝 Created-by: qq_52874943 Commit-by: qq_52874943 Merged-by: cann-robot Description: ## 描述 本 PR 为 nn仓算子新增 ascend960DT 平台的支持,包括新增该平台下的算子内核二进制配置、在算子定义中注册 ascend960DT 配置,并将该平台加入算子二进制编译配置的 compute_units 列表,使 Erfinv 算子能够在 ascend960DT 上编译运行。 ## 关联的Issue 关联Issue[#6917](https://gitcode.com/cann/ops-nn/issues/6917) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6656 | 20 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 | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 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(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 | 20 days ago | |
OneHot,ConfusedTransposeD,FusedMulAddN等3个算子infershape&inferDataType缺失补充 Co-authored-by: tianyu52<tianyu52@huawei.com> # message auto-generated for no-merge-commit merge: !6617 merge feat/rt2-infer-4ops into master OneHot,ConfusedTransposeD,FusedMulAddN等3个算子infershape&inferDataType缺失补充 Created-by: tianyu52 Commit-by: tianyu52 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> OneHot,ConfusedTransposeD,FusedMulAddN等3个算子infershape&inferDataType缺失补充 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> UT/ST ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6617 | 21 days ago | |
diag等算子冗余workspace改为分配0 Co-authored-by: xufeng12121<1074805447@qq.com> # message auto-generated for no-merge-commit merge: !6418 merge new_ww into master diag等算子冗余workspace改为分配0 Created-by: xufeng12121 Commit-by: xufeng12121 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> diag等算子冗余workspace改为分配0 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3678 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码整改 See merge request: cann/ops-math!6418 | 24 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
style(math): 修复 op_api 层 CodeCheck 静态检查规范问题 Co-authored-by: xiafengkou<luojiangtao4@huawei.com> # message auto-generated for no-merge-commit merge: !6425 merge fix/math-codecheck-opapi into master style(math): 修复 op_api 层 CodeCheck 静态检查规范问题 Created-by: xiafengkou Commit-by: xiafengkou Merged-by: cann-robot Description: ## 变更说明 修复 CodeCheck 静态检查在 math 仓 op_api 层报告的规范问题,仅做等价修改,不改变任何业务逻辑与对外接口(aclnn API 签名/ABI 不变)。 涉及规则与修改: 1. **G.FUN.02(声明与定义参数名/限定不一致)** - math/sqrt/op_api/aclnn_sqrt.h/.cpp:头文件两处声明形参 opExecutor 对齐为 executor,@param 注释同步更新(DFX 宏内部硬编码标识符 executor,故改声明侧而非定义侧,不影响 ABI/调用方);移除 aclnnSqrt/aclnnInplaceSqrt 中 const aclrtStream stream 的多余顶层 const,与头文件声明保持一致。 - math/arg_min/op_api/aclnn_argmin.cpp:aclnnArgMin 定义移除 const aclrtStream stream 的多余 const,与头文件声明一致。 2. **G.INC.12(内部链接函数缺少 static)** - math/greater_equal/op_api/aclnn_ge_scalar.cpp:仅本文件内调用的 aclnnGeScalarCommon 增加 static,限定内部链接。 3. **G.INC.02(冗余 include)** - 删除 cumprod、cosh、sign_bits_pack、polar、grouped_bias_add_grad 五个 op_api 源文件中未使用的 #include "op_api/op_api_def_math.h"。 4. **G.CNS.04(只读指针参数应加 const)** - math/cdist_grad/op_api/aclnn_cdist_backward.cpp:GetOutTensorWithValueZero 形参加 const。 - math/sqrt/op_api/aclnn_sqrt.cpp、math/log/op_api/aclnn_log10.cpp、math/cos/op_api/aclnn_cos.cpp:CheckInplaceDtypeValid 形参加 const。 ## 关联 Issue ## 测试报告 - 编译验证(ascend950): - bash build.sh --soc=ascend950 --ops=sqrt,arg_min,greater_equal,cdist_grad,cos,cosh,cumprod,grouped_bias_add_grad,log,polar,sign_bits_pack -j16:ophost + binary 编译成功。 - bash build.sh --opapi --soc=ascend950 -j16:opapi 库编译成功。 - opapi UT:bash build.sh -u --opapi --soc=ascend950 -j16,均通过。 ## 自测考虑 - [x] 编译通过 - [x] UT 验证通过 - [x] 保持原有逻辑与接口不变 ## 文档 无 See merge request: cann/ops-math!6425 | 27 days ago | |
perf(population_count): 小shape性能优化:核扇出收敛+SWAR寄存器链 Co-authored-by: babeiee<125106023003@njust.edu.cn> # message auto-generated for no-merge-commit merge: !6383 merge perf/population-count-small-shape into master perf(population_count): 小shape性能优化:核扇出收敛+SWAR寄存器链 Created-by: babeiee Commit-by: babeiee Merged-by: cann-robot Description: ## 问题单 比率0.544 < 带宽折算(均值)=0.556,15 例小 shape(n=84~152K,int16/uint16)性能均值不过。 ## 根因(实测修正) 1. **主因:小 shape 核数扇出**。旧 tiling 以 32 元素最小块对齐( blockFactor = CeilAlign(CeilDiv(n, coreNum), ubBlockSize)),小 shape 被铺满核(n=3544 → 56 核 × 64 元素)。AIV 块调度成本随核数线性增长(实测 ~7-10ns/核),而 launch-bound 小 kernel 每核计算仅 1 个 VF tile。对照 abs(atvoss 调度器 512 元素对齐,n=3544 仅 7 核)floor 1.50us vs 修复前 2.01us。 2. **次因:SWAR 计算链 UB 驻留形态**(实测稳态差 ~0.1us,方差显著)。 ## 修复内容(3 文件 +100/-57) - **tiling**(population_count_tiling_arch35.cpp):blockFactor 对齐 512 元素(1KB/核,int16),小 shape 收敛至少数核;双 buffer 仅在 loopCount>=2(blockFactor > ubFactorSingle)时启用 - **kernel**(population_count.h):Compute 改为 __VEC_SCOPE__ 寄存器驻留 SWAR 链——DIST_NORM 128 元素/拍打包装载,DIST_PACK_B16 store 取每 16-bit lane 低字节直出 uint8(省去 Cast/0x00FF 掩码/VECCALC tmpBuf) - 入口补 KERNEL_TASK_TYPE_DEFAULT(KERNEL_TYPE_AIV_ONLY)(仓内标准写法) 数值正确性:step3 后 0x0F0F 掩码保留(nibble 残留会污染 bit4,popcount=16 输入出错);step4 后高字节残留由 PACK_B16 低字节选取自然丢弃。 ## 验证(Ascend950PR_9599 / CANN 9.3.0 / ttk v3.0.0 e2e,CI framework-api 同链路) - **15 失败例 CST 均值 0.519 → 0.697(阈值 0.556,余量 +25%),逐例 0.62~0.77 全过线** - 精度 **49/49 逐位一致**(15 失败例 + 26 边界例[标量/空张量/非对齐尾拍/1M/10M × int16+uint16] + 8 极值例[全0/全-1/±32767/65535]) - 大 shape 带宽不回归:10M 例 ~1871 GB/s ≥ 旧版 1779 GB/s - 大 shape 段比值原有 2.3~2.7 优势不变(未改动其执行路径参数) ## 复测注意 - 改 host tiling 后需清理 GE 图编译缓存(kernel_meta/),否则旧 tiling 被缓存冻结 - 自定义包 e2e 首跑含在线编译,判定用 per-call 稳态(min)或缓存预热后重跑 ## 关联的Issue - #3605(https://gitcode.com/cann/ops-math/issues/3605) See merge request: cann/ops-math!6383 | 25 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 | 20 days ago | |
feat: StridedSliceGrad、Power 算子适配 ascend960dt/ascend960pr 平台 Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !6530 merge t1020 into master feat: StridedSliceGrad、Power 算子适配 ascend960dt/ascend960pr 平台 Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 为 StridedSliceGrad、Power 算子新增 ascend960dt / ascend960pr 平台的支持,并同步补充 Asin 算子在新平台的编译配置。 ### 改动原因 上述算子此前仅注册了 ascend950、ascend350 等平台(StridedSliceGrad 另含 ascend310p、ascend910_93、ascend910b),缺少 ascend960dt / ascend960pr 的算子定义注册、编译单元与二进制配置,导致新平台无法编译与下发。 ### 改动方法 **StridedSliceGrad(conversion/strided_slice_grad)** - CMakeLists.txt:SUPPORT_COMPUTE_UNIT 增加 ascend960dt,对应 SUPPORT_TILING_DIR 增加 arch35(复用 arch35 tiling)。 - op_host/strided_slice_grad_def.cpp:AICore().AddConfig("ascend960dt", aicoreConfig),沿用已有 aicoreConfig(DynamicShape 支持、opFile 为 strided_slice_grad_apt)。 - 新增 op_host/config/ascend960dt/strided_slice_grad_binary.json(28 条二进制配置)与 strided_slice_grad_simplified_key.ini(default=0);二进制配置内容与 ascend950 配置一致。 - 二进制配置覆盖数据类型:bfloat16、float16、float32、double、int8、int16、int32、int64、uint8、uint16、uint32、uint64、complex32、complex64;输入 shape/begin/end/strides 为 int32,格式均为 ND。 **Power(math/power)** - CMakeLists.txt:SUPPORT_COMPUTE_UNIT 增加 ascend960pr、ascend960dt,tiling 目录均为 arch35;新增 add_kernel_sources,以 COMPUTE_UNITS ascend960dt ascend960pr、AUTO_SYNC false、OPTIONS "-mllvm -cce-aicore-dcci-before-kernel-end=false" 编译 power_apt.cpp。 - op_host/power_def.cpp:新增 AICore().AddConfig("ascend960pr", aicoreConfig) 与 AICore().AddConfig("ascend960dt", aicoreConfig)。 - 新增 op_host/config/ascend960dt、op_host/config/ascend960pr 两组配置,各含 power_binary.json(fp16/fp32/bf16 共 3 条)与 power_simplified_key.ini(default=0)。 **scripts/kernel/binary_config/ascendc_config.json** - Asin:compute_units 增加 ascend960pr、ascend960dt,并为两者配置编译选项 -mllvm -cce-aicore-dcci-before-kernel-end=false。 - StridedSliceGrad:compute_units 增加 ascend960dt,并配置相同编译选项。 ## 关联的Issue - #3688 ## 测试 本次 PR 未包含测试代码与测试结果说明。变更涉及新平台的算子注册与二进制配置,建议在 ascend960dt、ascend960pr 环境完成算子泛化与二级冒烟验证后补充结果。 ## 文档更新 无(未修改文档)。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6530 | 23 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 | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
fix 950 ut编译失败 Co-authored-by: chenqi317<CF2usBBbA386a-MRyWP5pYfd> # message auto-generated for no-merge-commit merge: !6699 merge master into master fix 950 ut编译失败 Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> fix 950 ut 编译失败 [2026-10-26 17:42:42] make[3]: *** [tests/ut/op_host/CMakeFiles/math_op_host_ut.dir/build.make:110: tests/ut/op_host/math_op_host_ut] Error 1 [2026-10-26 17:42:42] make[2]: *** [CMakeFiles/Makefile2:14718: tests/ut/op_host/CMakeFiles/math_op_host_ut.dir/all] Error 2 [2026-10-26 17:42:42] make[1]: *** [CMakeFiles/Makefile2:14725: tests/ut/op_host/CMakeFiles/math_op_host_ut.dir/rule] Error 2 [2026-10-26 17:42:42] make: *** [Makefile:1152: math_op_host_ut] Error 2 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6699 | 18 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 | |
产品名变更 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 | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
fix(radix_top_k): 修复 WS 变体 V→MTE3 同步缺失与 CreateVecIndex4TopK 越界,统一跨核前缀和累加为 int64 Co-authored-by: Nice_try<zhangzhiwei108@huawei.com> # message auto-generated for no-merge-commit merge: !6396 merge addut into master fix(radix_top_k): 修复 WS 变体 V→MTE3 同步缺失与 CreateVecIndex4TopK 越界,统一跨核前缀和累加为 int64 Created-by: Nice_try Commit-by: Nice_try Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ### 改动原因 RadixTopK 在 int64 大 shape(sortLen 超 int32 上限)与 WS 变体路径上存在三处缺陷,且 host UT 的 tiling key 期望值只编码 3 位,int64 主路径恒测不到: 1. WS 变体同步缺失: Add 在 V 流水线写 tileTopK,紧接着 MTE3 读同一块 UB;PipeBarrier<PIPE_V> 只保证 V 流水线内部顺序,SToMTE3Sync 只覆盖 S→MTE3,两者都管不到 V→MTE3,MTE3 可能读到 Add 之前的旧值,导致该段 k 配额错乱。同文件 AddTileHist2TileTopKInWs 对同样的 Add→CopyOut 序列用的是 VToMTE3Sync。 2. 索引序列越界:i64 变体的多段 regime 会命中 tileNum_ > MAX_TILE_NUM_IN_UB,此时 CreateVecIndex4TopK 中的无符号相减会下溢成巨大值,再被 tileLen_ 兜住,最终 GetWithOffset(maxIndexLen, tileNumAlign_ * 4) 的偏移会写出 6144 元素 buffer。 3. 跨核前缀和累加溢出:前驱 core 边界 bin 累计元素数总量可达 sortLen > 2^31,UB 变体用 int32 累加(cumSumValuePrev / remainCoreBoundaryNum)存在溢出风险;同时 WS 变体维护了一份只差累加器类型的 ComputeCumSumPrevI64。 4. UT 覆盖缺口:ComputeExpectedTilingKey 只编码 sorted/largest/isLargeShape 3 位,未编码 isInt64Shape(bit3),int64 主路径(sortLen > 2^31)恒测不到。 ### 改动方法 1. op_kernel/radix_top_k_ws.h - HandleLastRoundBoundary 中 Add→CopyTileTopKUb2Ws 的同步由 SToMTE3Sync() 改为 VToMTE3Sync(),与同文件 AddTileHist2TileTopKInWs 口径一致; - CreateVecIndex4TopK 增加前置防御:tileNumAlign_ >= MAX_TILE_NUM_IN_UB 时直接 return 0,下游走「现算索引」分支,与 maxIndexLen==0 的既有兜底行为一致; - 删除 ComputeCumSumPrevI64,改用基类 ComputeCumSumPrev(出参已是 int64),消除 UB/WS 两份仅差累加器类型的实现。 2. op_kernel/radix_top_k_common.h:ComputeCumSumPrev 出参由 int32_t& 改为 int64_t&(每 core 边界 bin 计数 < 2^31,int64 累加对 int32 形状同样安全);IsNaNValue 的 float 位模式读取由指针 reinterpret 改为 union,规避浮点相等/自比较类告警;补充提取相与计数相 NaN 规范化口径不对称的说明。 3. op_kernel/radix_top_k_ub.h:cumSumValuePrev / remainCoreBoundaryNum 改为 int64,回写 tileTopK 时显式 static_cast<int32_t>(per-core 配额 < 该 tile 边界 bin 计数 < 2^31,int32 通道安全)。 4. op_host/radix_top_k_tiling.cpp:新增 static_assert(LARGE_SORT_LEN < INT32_SORT_LEN_MAX),把「isInt64Shape_ 蕴含 isLargeShape_」钉死,避免后续调大 LARGE_SORT_LEN 时 i64 分支被漏掉;needWorkspace / GetWorkspaceSize 两处 || isInt64Shape_ 补充防御性冗余注释。 5. tests/ut/op_host/test_radix_top_k_tiling.cpp:ComputeExpectedTilingKey 补齐第 4 位 isInt64Shape(与 GET_TPL_TILING_KEY(sorted, largest, isLargeShape, isInt64Shape) 一一对应,此前 int64 主路径恒测不到);新增两条用例:i64_shape_tiling_key_bit3(sortLen=2^31 ⇒ bit3+bit2、indices int64、必须申请 workspace)、i64_shape_reject_int32_indices(sortLen > 2^31 且 indices int32 必须 tiling 失败);MakeRadixTopKTilingContext 支持指定输出 indices dtype。 6. math/radix_top_k/README.md:约束说明由「无」改为「本算子为选取类实现,输出为选中元素在排序轴上的索引序,不保证有序」。 7. math/topk/op_api/topk.cpp:补充 int64 大 shape 分支拦截条件的注释(说明放掉 k 比例门限与 MIN_K 门限、且 int64 索引无法通过 GatherElementsV2 补有序性的原因),不改变逻辑。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> - #3604 https://gitcode.com/cann/ops-math/issues/3604 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 本次提交包含 host UT 变更(math/radix_top_k/tests/ut/op_host/test_radix_top_k_tiling.cpp):修正 tiling key 期望值编码并新增 int64 主路径两条用例;本地未执行,预期由 CI 运行。 - kernel 侧改动(VToMTE3Sync、CreateVecIndex4TopK 防御、int64 累加)建议结合 RadixTopK int64 大 shape 场景回归验证(实施类用例未包含在本次提交内)。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新 math/radix_top_k/README.md 约束说明(补充输出无序约束);另含 op_host/op_kernel 注释更新,不涉及其他文档。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6396 | 28 days ago | |
fix: 迁移 RaggedBinCount V2 推导并规范两算子 golden Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !6538 merge fix/august-golden-quality into master fix: 迁移 RaggedBinCount V2 推导并规范两算子 golden Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 RaggedBinCount 删除原生 V1 shape 实现及注册,由已有 runtime V2 推导接管;保留 size 值依赖 .InputsDataDependency({2})、输入 shape 及合法性检查。旧 V1 测试替换为 14 条实际 V2 注册入口测试,覆盖不同 shape/相同元素数、空与标量 weights、int32/int64 常量 size、动态维/rank、非法输入和重复推导覆盖输出。 这三份文件选取自 [推导迁移 PR #6548](https://gitcode.com/cann/ops-math/pull/6548) 的 e74083196deca466aa0492b904410f9c73ebcf60。只接入 RaggedBinCount,没有接入 MulNoNan、L2Normalize 或 July 任务,原任务分支/PR 保持原状。RaggedBinCount kernel/tiling 未改动。 本 PR 保留已有质量加固:按 [golden 规范](https://gitcode.com/zl_hw/myOpen/issues/2)移除 RaggedBinCount 按用例名切换算法的分支,统一 Torch bincount 并保留 TTK 下发精度;SquareSumAll 输出修为 rank-0、1200 条 CSV 同步修正,不再强制 FP64。两算子示例核对输出数量、dtype、shape、字节数和全部数值。SquareSumAll 无生产代码修改。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3695 ## 测试 <!-- august-local-ci-20261021:start --> ### 2026-10-21 最新提交本地 CI 受测 HEAD:d9ce12b29345e879e47098a556b8cff31a6fe746;主仓 master 快照:d98f2c0ba27be58813200f1a3c9008a092b74ae8。先保留备份并核验 squash 前后同一原始基点的完整二进制 diff 与 tree 一致,再 rebase;当前 PR 相对该主线只有一个提交。 使用指定 /workspace/CI-skills/ci_local_check.sh,本任务独立 CANN_Revise,SOCS=ascend950,ascend910b、JOBS=8,两个仓库顺序执行。统一入口实际输出 pre-commit: PASS 和 定向检查全部通过,退出码 0。完整 PR 静态检查、隔离 OAT、Markdown 链接、示例 SKIP 退出契约和 golden Python 语法检查通过。 | 阶段 | 结果 | 覆盖说明 | | --- | --- | --- | | normal pkg/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal package GE ABI/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal ophost/ascend950 | PASS | 实际运行 127 条 GTest | | normal Host UT GE ABI/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal opapi/ascend950 | PASS | 实际运行 0 条 GTest | | normal opgraph/ascend950 | PASS | 实际运行 1 条 GTest | | normal opkernel/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal pkg/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal package GE ABI/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal ophost/ascend910b | PASS | 实际运行 56 条 GTest | | normal Host UT GE ABI/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal opapi/ascend910b | PASS | 实际运行 0 条 GTest | | normal opgraph/ascend910b | PASS | 实际运行 1 条 GTest | | normal opkernel/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | 0 条用例或只有构建目标通过的阶段不计为单测覆盖;本地 CI 没有新增 NPU/GPU 数值回归,不替代下方历史精度 FAIL、正式整包集成与性能验收。[线上 CI 流水线](https://gitcode.com/CANN/ops-math/actions/runs/9b7d05fbacc5424493fc16f52b4c5216)已由机器人确认启动,结果待返回。 <!-- august-local-ci-20261021:end --> 此前 README 清理时获取的 master:3e45432dc9ed21cd5b00f4fa12c06d9dc7800939;最终 HEAD:066a732fc31b6d00f4402956aa0d27152cb1533c。 本轮仅删除 RaggedBinCount、SquareSumAll README 中新增的通用安装、环境加载、build.sh 运行命令及产物路径说明,共 16 行。保留必要接口/能力修正、原有示例和 IR 链接。相对上一轮受测提交 78ec51268e0ce5254f140906b93072f6c7a21de7,两个算子的生产代码、golden、测例及示例均逐字节未变;完成 diff 检查、文档链接/编码/围栏和渲染检查,没有为删说明重复运行 NPU。 以下为此前注册迁移和数值核实的历史验证,非本轮重跑: 任务独立 Master/Revise CANN,Ascend950PR_9579;真实 GPU A100-PCIE-40GB、Torch 2.14.1+cu130。构建最多 8 jobs;全部 TTK 显式 --pc=1。该轮 TTK 为 3db54be4b479d487ffd44300046ffa664789edea,包含本地比较修复。对应 [TTK PR #483](https://gitcode.com/cann/ops-test-kit/pull/483) 已由用户关闭;下面的 19/19 不能表述为未修改 TTK 主线的通过结果。原比较器结果为 17 PASS、2 FAIL。 - 该轮两算子包构建、安装完成。Ragged Host/Graph UT 为 85+1=86/86,包含新增 14 条 V2 注册 UT;导入生产文件和新测试与来源逐字节一致,没有合并冲突。 - 原 19 条冻结失败实际 GPU 三方 **19/19 PASS**,全部 BINARY_MATCH、TTK OOB 检查 PASS,输入不变。此前两条正确 FP32 舍入结果被误判的比较逻辑已在 [TTK PR #483](https://gitcode.com/cann/ops-test-kit/pull/483)中提交过修复(该 PR 现已关闭),258 项比较测试通过;没有修改本算子 golden、输出或容差。 - 静态/动态 GEIR 分开记录:当前安装周包直接执行 6 例为 **4 PASS、2 EXEC_FAILURE**。trace 确认仍进入旧 libopsproto.so V1,两个 values/weights shape 组合报错。 - 仅隔离 RaggedBinCount 旧 V1 的诊断运行,6 例静态/动态 **12 条路径全部通过**,trace 确认选中当前 custom_math 的原生 V2。canndev 最新源码已有产品隔离,但没有重建正式 canndev 产品包,因此不能把诊断结果当作正式整包集成验收,也没有恢复 V1 规避问题。 - 部署通用自检仍提示 math 分组层缺少 inc/;这两个 kernel 依赖自身头与 CANN 头,已部署 common/,实际目标图编译运行通过。该告警日志保留,不写成全部自检通过。 - 新提交钩子通过。历史验证保留:SquareSumAll 56/56 两方 Kernel;Ragged 4 条、Square 3 条合法静态/动态 GEIR;两个文档示例编译上板并核对全部输出。本轮未重复全量执行。 - SquareSumAll 原 29 条 L2 的历史结果仍为 7 FAIL、22 SKIP,未重现 builtin V1 SIGABRT;框架异常和不支持输入不计作精度 PASS。5 条非法 GEIR受控报错、2 条 BF16 经 GE Cast 的固定数值诊断结果见此前验证。 此前注册迁移阶段未执行完整本地 CI、性能回归或全矩阵三方;本次双平台本地 CI 和线上触发见最新追加记录。旧 CANN 注册的正式整包集成验证仍待完成。 ## 文档更新 按用户要求删除上述两份 README 的冗余环境准备与运行说明,保留必要的动态 shape/接口约束修正、正确产品能力和原有示例链接。示例源码及已经核实的输出检查保持不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!6538 | 21 days ago | |
修复range等算子IsRegbaseSocVersion问题 Co-authored-by: taochangmin<taochangmin@huawei.com> # message auto-generated for no-merge-commit merge: !6614 merge fix_960_regbase into master 修复range等算子IsRegbaseSocVersion问题 Created-by: taochangmin Commit-by: taochangmin Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复range和lin_space算子IsRegbaseSocVersion未包含960平台的问题,补充判断NpuArch,960平台也走arch35分支 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3864 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> st测试,冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6614 | 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 | 18 days ago | |
real算子问题修复 Co-authored-by: lihang_13123<lihang106@h-partners.com> # message auto-generated for no-merge-commit merge: !6587 merge changwei into master real算子问题修复 Created-by: lihang_13123 Commit-by: lihang_13123 Merged-by: cann-robot Description: ## 描述 修改real算子不支持complex问题,tests下增加golden ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 功能OK,各通路执行OK,冒烟OK ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6587 | 18 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 | 20 days ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 days ago | |
reciprocal_grad新增 ascend960dt/ascend960pr 平台支持 Co-authored-by: liushaxiangdong<jinpeng11@huawei.com> # message auto-generated for no-merge-commit merge: !6536 merge master into master reciprocal_grad新增 ascend960dt/ascend960pr 平台支持 Created-by: liushaxiangdong Commit-by: liushaxiangdong Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> reciprocal_grad新增 ascend960dt/ascend960pr 平台支持 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 验证冒烟用例,算子用例 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6536 | 23 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
fix: 修复代码规范问题并修正aclnnLog DFX参数归类 Co-authored-by: xiafengkou<luojiangtao4@huawei.com> # message auto-generated for no-merge-commit merge: !5119 merge master into master fix: 修复代码规范问题并修正aclnnLog DFX参数归类 Created-by: xiafengkou Commit-by: xiafengkou Merged-by: cann-robot Description: ## 描述 本 PR 针对 代码规范问题进行修复,共涉及 3 个文件。具体修复内容: - **G.EXP.14(禁用 C 风格强制转换)**: hans_const.h 中 (uint16_t)(pdfValue * PDF_LENGTH) 改为 static_cast<uint16_t>(pdfValue * PDF_LENGTH),消除 C 风格转换告警。 - **DFX 参数归类修正**:aclnn_log.cpp 中 L2_DFX_PHASE_1(aclnnLog, ...) 将输出参数 out 由 DFX_IN 移入 DFX_OUT,使 DFX 日志的输入/输出参数归类正确。 - **G.FUN.02(声明与定义参数名一致)**:reduce_mean_with_count.cpp 中函数参数名 x 与头文件声明统一为 input,并同步更新函数体内的引用。 ## 关联的Issue 无。 ## 测试 均为**非功能性修改**,不改变原有代码逻辑、算子功能与接口调用方式 ## 文档更新 无。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码规范修复 See merge request: cann/ops-math!5119 | 2 months ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
im2col、matrix_diag、roll、grouped_bias_add_grad、reduce_var、reduce_std_v2 六个算子新增 ascend960dt 平台支持 Co-authored-by: liaohuming<liaohuming@huawei.com> # message auto-generated for no-merge-commit merge: !5844 merge master into master im2col、matrix_diag、roll、grouped_bias_add_grad、reduce_var、reduce_std_v2 六个算子新增 ascend960dt 平台支持 Created-by: liaohuming Commit-by: liaohuming Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为 im2col、matrix_diag、roll、grouped_bias_add_grad、reduce_var、reduce_std_v2 六个算子新增 ascend960dt 平台支持,使其可在 ascend960dt(Ascend960DT_968B7)芯片上完成编译与调用。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3614 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5844 | 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 | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
im2col、matrix_diag、roll、grouped_bias_add_grad、reduce_var、reduce_std_v2 六个算子新增 ascend960dt 平台支持 Co-authored-by: liaohuming<liaohuming@huawei.com> # message auto-generated for no-merge-commit merge: !5844 merge master into master im2col、matrix_diag、roll、grouped_bias_add_grad、reduce_var、reduce_std_v2 六个算子新增 ascend960dt 平台支持 Created-by: liaohuming Commit-by: liaohuming Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为 im2col、matrix_diag、roll、grouped_bias_add_grad、reduce_var、reduce_std_v2 六个算子新增 ascend960dt 平台支持,使其可在 ascend960dt(Ascend960DT_968B7)芯片上完成编译与调用。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3614 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5844 | 28 days ago | |
fix(docs): 修正 aclnn 头文件注释中 exector 拼写(应为 executor) Co-authored-by: gcw_LxlU8H9L<opengoodai@163.com> # message auto-generated for no-merge-commit merge: !5947 merge fix/3292-exector-typos into master fix(docs): 修正 aclnn 头文件注释中 exector 拼写(应为 executor) Created-by: gcw_LxlU8H9L Commit-by: OpenGood_WeChat;gcw_LxlU8H9L Merged-by: cann-robot Description: ## 描述 ops-math 仓 10 个两段式 aclnn 接口头文件的第二段接口 @param 注释中,参数名 executor 被拼写为 exector(少一个 u),与函数签名不一致。统一修正拼写,仅涉及注释文本,不影响任何接口与逻辑。 ## 关联的Issue 关联Issue #3292 ## 测试 - 纯注释文本修正,不涉及任何代码逻辑变化 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-math!5947 | 1 month ago | |
nn仓121回合主线黄迁蓝 Co-authored-by: qq_52874943<gaomingyuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !6656 merge master into master nn仓121回合主线黄迁蓝 Created-by: qq_52874943 Commit-by: qq_52874943 Merged-by: cann-robot Description: ## 描述 本 PR 为 nn仓算子新增 ascend960DT 平台的支持,包括新增该平台下的算子内核二进制配置、在算子定义中注册 ascend960DT 配置,并将该平台加入算子二进制编译配置的 compute_units 列表,使 Erfinv 算子能够在 ascend960DT 上编译运行。 ## 关联的Issue 关联Issue[#6917](https://gitcode.com/cann/ops-nn/issues/6917) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6656 | 20 days ago | |
[ascend960dt/ascend960pr] conversion/math类9个算子新增ascend960dt/ascend960pr平台支持 Co-authored-by: yangjinwen<yangjinwen2@huawei.com> # message auto-generated for no-merge-commit merge: !5778 merge dev-v121 into master [ascend960dt/ascend960pr] conversion/math类9个算子新增ascend960dt/ascend960pr平台支持 Created-by: yangjinwen Commit-by: yangjinwen Merged-by: cann-robot Description: ## 描述 conversion 类 7 个算子(batch_to_space_nd、concat、concat_d、concat_v2、depth_to_space、pack、space_to_depth)与 math 类 2 个算子(erfc、rint)新增 ascend960dt / ascend960pr 平台支持,复用 arch35 tiling 框架,主要改动: - 平台注册:9 个算子 CMakeLists.txt 的 COMPUTE_UNIT/SUPPORT_COMPUTE_UNIT 新增 ascend960dt、ascend960pr(TILING_DIR 复用 arch35),op_host/*_def.cpp 新增对应 this->AICore().AddConfig(...) 注册; - 预编译 binary 接入:batch_to_space_nd、concat_d、depth_to_space、pack、space_to_depth、rint 新增 op_host/config/ascend960dt/、op_host/config/ascend960pr/ 下的 *_binary.json 与 *_simplified_key.ini;concat_v2 为 HOSTCPU 算子(依赖 concat),无独立 binary;erfc 的 kernel 源码(arch35/erfc.cpp)通过 add_kernel_sources 的 COMPUTE_UNITS 纳入新平台编译; - concat 的 arch35 tiling/kernel 适配 DAV_9201 架构(仅 9201 生效,不影响既有平台路径): - tiling 侧:DAV_9201 平台 ubFactorDim0 按两倍 BLOCK(64B)对齐修正;新增 dtypeSize 提升优化(末轴字节满足 128/64/32/16B 对齐时提升 dtypeSize,减少搬运次数),并注册 bitwidth=16 系列 tilingKey(12116/12126/21116/21216/30016 等); - kernel 侧:__NPU_ARCH__ == 9201 下 DataCopyPad 使用带 enAtomicSync 参数的接口分支。 ## 关联的Issue #3222 https://gitcode.com/cann/ops-math/issues/3222 ## 测试 平台注册与预编译 binary 接入部分不涉及既有 kernel 逻辑修改;concat 为 DAV_9201 架构适配新增专属分支,既有平台路径不变;可通过 PR 评论 compile 触发 CI 编译流水线验证。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5778 | 28 days ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 days ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 days ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 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 | 1 month ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
segsum算子加固 Co-authored-by: z30075199<zhangxin660@h-partners.com> # message auto-generated for no-merge-commit merge: !6565 merge long_tail_math_modify into master segsum算子加固 Created-by: z30075199 Commit-by: z30075199 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> segsum算子加固 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-nn/issues/7241 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 冒烟通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:算子整改加固 See merge request: cann/ops-math!6565 | 21 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 | 20 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 | 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 | 18 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 | 18 days ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 days ago | |
fix(sign_bits_pack): 声明 workspace 槽修复 tiling 指针错位导致的 507035 Co-authored-by: zhoulong50_hw<zhoulong50@huawei.com> # message auto-generated for no-merge-commit merge: !6446 merge sign_bits_pack into master fix(sign_bits_pack): 声明 workspace 槽修复 tiling 指针错位导致的 507035 Created-by: zhoulong50_hw Commit-by: zhoulong50_hw Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复杂凑 sign_bits_pack(arch35)host tiling:补上缺失的 workspace 槽声明,使下发实参与 kernel 入口签名对齐,消除运行期 507035(向量核异常)。 **问题(现象与机制)** - 现象:运行 sign_bits_pack(arch35)kernel 用例时稳定报错,rtStreamSynchronize 返回 507035,desc=[vector core exception],扩展信息为 The DDR address of the MTE instruction is out of range。 - 机制:kernel 入口签名为 sign_bits_pack(GM_ADDR x, GM_ADDR y, GM_ADDR workspace, GM_ADDR tiling),共 **4** 个入参(含 workspace)。而 host tiling 从未调用 GetWorkspaceSizes,算子不提供 workspace 参数,运行时实际只下发 **3** 个实参(x、y、tiling)。 - 后果:实参整体错位一格 —— kernel 的 workspace 形参收到的是真正的 tiling 指针,tiling 形参收到一个非法值。框架随后从该非法地址拷贝 tiling data,MTE 访问越界,触发 507035。 **修改**(单文件,+7) 在 math/sign_bits_pack/op_host/arch35/sign_bits_pack_tiling_arch35.cpp 的 TilingFuncSignBitsPack 中,取到输入信息之后、进入后续分支之前,声明 1 个 workspace 槽: cpp size_t* currentWorkspace = context->GetWorkspaceSizes(1); if (currentWorkspace == nullptr) { OP_LOGE(kOpName, "GetWorkspaceSizes returned null"); return ge::GRAPH_FAILED; } currentWorkspace[0] = 0; - **占用 1 个 workspace 槽**:使实参个数与 kernel 签名(4 个)对齐,消除错位。 - **槽位大小置 0**:该算子不需要 workspace 空间,仅需占位。 - **空指针保护**:GetWorkspaceSizes 返回空时记录日志并返回 ge::GRAPH_FAILED。 **兼容性** - 合法输入的计算逻辑、tiling 数值、TilingKey、BlockDim 均不变。 - 与仓库内其余 arch35 算子保持一致(如 abs、acos 等 tiling 均通过 GetWorkspaceSizes 声明 workspace 槽)。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3638 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 二级冒烟,泛化用例12条。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> bug修复,无文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6446 | 24 days ago | |
fix(sign_bits_unpack): 支持未知 rank/dim 的 InferShape 推导 Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !6450 merge fix-sbu into master fix(sign_bits_unpack): 支持未知 rank/dim 的 InferShape 推导 Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 本次改动修复 SignBitsUnpack 算子的 InferShape 推导,使其支持未知 rank 与未知维度(动态 shape)输入。 **改动原因**:原 InferShape 仅支持 1 维且维度已知的输入。当输入为未知 rank 时,实现直接读取 GetDim(0) 并按「x 必须 1 维」校验而返回失败;当输入维度为 -1 时,xShape * 8 会以 -1 参与计算,导致整除校验与输出维度推导错误,算子在动态 shape / GE 图场景下无法完成 shape 推导。 **改动方法**: - 输入为未知 rank 时,将输出 shape 置为未知 rank 并返回成功; - 输入维度为未知值(-1,UNKNOWN_DIM)时,输出 shape 置为 [size, -1] 并返回成功; - 属性读取由 GetAttrPointer 改为 attrs->GetInt; - 将通用 OP_LOGE 替换为结构化错误日志宏(OP_LOGE_WITH_INVALID_ATTR、OP_LOGE_FOR_INVALID_SHAPEDIM、OP_LOGE_FOR_INVALID_SHAPESIZE、OP_LOGE_FOR_INVALID_VALUE),提升报错信息可读性。 涉及文件:math/sign_bits_unpack/op_host/sign_bits_unpack_infershape.cpp ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3640 ## 测试 在 math/sign_bits_unpack/tests/ut/op_host/test_sign_bits_unpack_infershape.cpp 新增 4 个 InferShape UT: - 未知 rank 输入(size=2 / size=1)→ 输出未知 rank; - 未知维度输入(-1,size=2 / size=4)→ 输出 [size, -1]。 原有 1 维推导、空 tensor、size 非法、不可整除、rank 非 1、缺失属性等用例保持通过。 ## 文档更新 本次改动仅涉及 InferShape 推导逻辑与 UT,无 README.md / aclnn 文档更新。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6450 | 24 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 | 20 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 days ago | |
sinc等算子冗余workspace改为分配0 Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !6261 merge workspace into master sinc等算子冗余workspace改为分配0 Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> sinc等算子冗余workspace改为分配0 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3611 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述: 代码整改 See merge request: cann/ops-math!6261 | 28 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
[sinkhorn] quality-hardening:算子质量加固修复(准入+检视问题整改) Co-authored-by: handsomeRobot_SK<suke13@huawei.com> # message auto-generated for no-merge-commit merge: !6192 merge sinkhorn_quality_hardening into master [sinkhorn] quality-hardening:算子质量加固修复(准入+检视问题整改) Created-by: handsomeRobot_SK Commit-by: handsomeRobot_SK Merged-by: cann-robot Description: # [sinkhorn] quality-hardening:算子质量加固修复(准入+检视问题整改) ## 变更概述 针对 sinkhorn 算子质量加固扫描(准入白盒扫描 + 代码检视)发现的全部可修复问题执行整改:检视 2 项 FAIL(CONV-2 kernel TILING_KEY_IS 硬编码、LOG-1 裸 OP_LOGE)与 5 项 SUSPICIOUS、1 项 STYLE 全部清零;准入唯一实质阻塞项用例覆盖度由 kernel 76.5% 补齐至 100%(kernel/aclnn 双达标);准入 WARN 级 P4/P5 资料口径与迭代上限收口。涉及 ops-math 算子分支 7 个提交与交付件仓(operator-artifacts)2 个提交中本算子部分(新建 测试用例/ 下 4 个用例 CSV、两份设计基准文档回写)。剩余条目为产品声明禁区、环境限制、工具链惯例与有意设计/大改动待定,已挂账未修项明细,不在本 PR 范围内。 ## 分类修改清单 ### 代码(ops-math,math/sinkhorn/) | 文件 | 修改 | |------|------| | op_kernel/sinkhorn.cpp | **CONV-2 TILING_KEY 语义化**:删除 TILING_KEY_IS(0/1/27) 硬编码分支;新增命名语义常量 SINKHORN_FLOAT/FLOAT16/BFLOAT16_TILING_KEY(0/1/27)与模板派发函数 LaunchSinkhorn<float\|half\|bfloat16_t>,编译期 -DTILING_KEY_VAR=<key> 注入,opc 按每个 key 生成独立 kernel 实例(实例后缀 0/1/27 与 opParaSize 不变) | | op_kernel/sinkhorn.h | GEN-1.3 删除 MULTI_CORE_SUM_FOR_D1 宏与 ComputeD1/CopyInD1BlockInWS/SumD1Block/SumD1 声明、6 个未用常量;STYLE-1.5 eps 改名 EPS(:264) | | op_kernel/sinkhorn_update.inc | GEN-1.3 删除旧多核原子方案实现(ComputeD1/CopyInD1BlockInWS/SumD1Block);EPS 引用同步(:199) | | op_kernel/sinkhorn_update_d1.inc | GEN-1.3 删除 SumD1 实现;EPS 引用同步(:21/26) | | op_host/sinkhorn_tiling.cpp | TOP-7 Init 补独立防御校验:常量 IO_DIM/MAX_COST_ROW(10000)/MAX_COST_COL(4096) + 2D/非零/行列上限四路拦截(OP_LOGE_FOR_INVALID_SHAPEDIM/SHAPESIZE→GRAPH_FAILED);GEN-4.2 BATCH_MODE_SCHEDULE=1/WORKSPACE_BLOCK_NUM=1 具名化并注释(:243/:282);SEC-8.4 四处日志行文规范(:99/185/240/290) | | op_api/aclnn_sinkhorn.cpp | LOG-1 三处裸 OP_LOGE 改用 OP_LOGE_FOR_INVALID_VALUE_WITH_REASON/OP_LOGE_FOR_INVALID_VALUE(:63/102/106,补 include "log/log.h");RED-3 int64_t col/row 接收防窄化(:99-100) | ### 资料(源代码仓 + 交付件仓) | 文件 | 修改 | |------|------| | math/sinkhorn/README.md | P1:cost 描述声明"shape 固定为 2 维,行数不超过 10000,列数不超过 4096"(:49,对齐 rank 基线);P4:cost 取值统一"建议"口径并补 exp(cost) 溢出说明(:87);P5:补迭代上限约束(:88,最多 10000 次,达上限未收敛即结束) | | math/sinkhorn/docs/aclnnSinkhorn.md | P4:"需要"改"建议"口径 + exp 溢出说明(:84);P5:约束说明补迭代上限 10000(:169) | | operator-artifacts/Sinkhorn/REQUIREMENTS.md | 设计同步:tilingKey=dataType 编码与命名常量派发、infershape/InferDataType 已落地、EPS/MAX_SINKHORN_ITER 常量、死代码删除后 CPU 顺序部分和方案、P4/P5 口径、950 适配项状态更新 | | operator-artifacts/Sinkhorn/research/cann/code_design.md | 设计同步:上同(:32/117-123/147-149/167 等),消除"tilingKey=1""无 infershape/无 op_graph""ComputeD1/SumD1"三条过时描述 | ### 用例(交付件仓,覆盖度 76.5%→100%) Sinkhorn/测试用例/ 目录**新建 4 个 CSV**(评估器仅检索该目录,原 cases/ 下归档被整目录漏扫): | 文件 | 内容 | |------|------| | ttk_sinkhorn_whitebox_full.csv | 112 条 kernel 白盒全量用例(float32/float16/bfloat16 三 dtype) | | ttk_sinkhorn_whitebox_exception.csv | 7 条负向用例,补齐 D10 异常缺口:bool dtype、rank3 × fp32/fp16/bfloat16、format 异常 × fp32/fp16/bfloat16 | | blackbox_cases.csv | 145 条 aclnn 归档用例迁移入评估器检索路径 | | aclnn_sinkhorn_blackbox_supplement.csv | 25 条补充:特殊值(±0/±inf/NaN)×3、空 tensor ×2、边界 ×4、连续/非连续 ×8、rank3 ×2、format ×3、1GiB/2GiB stress ×3 | 覆盖度复评:kernel 76.5%→**100.0%**,aclnn 由"无归档用例"→**100.0%**。 ## 逐 commit 摘要 | 仓 | 提交 | 摘要 | |----|------|------| | ops-math | d824bfe48 | 修复(F1 CONV-2):kernel 去除 TILING_KEY_IS 宏,改用命名 TilingKey 语义常量 + 模板函数派发 | | ops-math | caebf7561 | 修复(F2 LOG-1):aclnn 参数校验日志改用 OP_LOGE_FOR_* 预定义宏;(S4 RED-3) shape 维度 int64 接收防窄化 | | ops-math | 7da884f9d | 修复(S1 TOP-7):tiling Init 补独立 2D/非零/行列上限校验;(S3 GEN-4.2) SetScheduleMode 与 GetWorkspaceSizes 魔数命名化 | | ops-math | bc5a38e1c | 清理(S2 GEN-1.3):删除旧多核原子方案死代码与 6 个未用常量;(ST1 STYLE-1.5) eps 常量改名 EPS | | ops-math | c45b509f8 | 文档(P1):README 声明 shape 固定 2 维并对齐行列上限,修正用例覆盖 rank 基线 | | ops-math | 54a5de5d0 | 修复(S5 SEC-8.4):tiling 侧 4 处调试日志英文行文语法规范 | | ops-math | 73c9046ba | 文档(P4):cost 取值口径统一为"建议"并补 exp 溢出说明;(P5) 补 MAX_SINKHORN_ITER=10000 迭代上限约束 | | operator-artifacts | 625b165 | sinkhorn 部分:设计基准(REQUIREMENTS.md/code_design.md)三处滞后回写 + 测试用例/ 新建 4 个用例 CSV(覆盖度缺口补齐) | | operator-artifacts | 8a47e70 | sinkhorn 部分:REQUIREMENTS.md/code_design.md 二次同步 P4"建议"口径与 P5 迭代上限表述 | ## 测试与验证 - **kernel 三 dtype 编译(CONV-2 核验)**:asc_opc 在线编译三实例(-DTILING_KEY_VAR 为 0/1/27,soc Ascend950PR_9599,产物 build/binary/ascend950/bin/build_logs/sinkhorn_binary_high_performance.json_0/1/2.log);改造中间态曾报 switch(tiling_data.dataType) 无成员编译错误(08:46 日志),最终提交移除运行时 switch、仅保留编译期命名常量派发(d824bfe48),三实例后缀 0/1/27 与 opParaSize 保持不变,源码已重新同步入 build 树。 - **全仓 ascend950 编译**:-DASCEND_COMPUTE_UNIT=ascend950 -DASCEND_OP_NAME=sinkhorn 构建通过(build-logs/sinkhorn.log)。 - **白盒静态复核**:第二轮补修逐条 grep/读文件复核(8 项已闭环条目对照 + 4 处日志行文 + 资料口径),全部落位(见 hardening-report/第二轮补修复核记录.md)。 - **NPU 三方补测(参考)**:修复前基线构建包在 8×Ascend950PR_9579 / CANN 9.0.0 实测——geir 15/15 PASS;aclnn 12P/1F/2NA(1 FAIL 为 dist(-100,100) 用例输入超出 cost 建议 [0,1] 值域的 NaN/Inf 边界行为,与本 PR P4 新增的 exp 溢出资料口径一致;2 N/A 为负向用例)。修复后 commit 未在实机复测(见未完成事项)。 ## 未完成事项与限制 - **三禁区声明(架构师定,本 PR 不触碰)**: 1. canndev 仓禁改:E3/E4 检查本已 PASS/无残留;旧仓 REG_OP(MhcSinkhorn) 为异义变体(多输出算子),不属于本算子交付范围,未做任何改动; 2. ACLNN 接口禁区:未新增/变更任何 aclnn 接口(aclnnSinkhorn 接口面不变),仅将内部参数校验日志替换为结构化预定义宏; 3. 产品支持口径禁改:设计基准中「Ascend 950PR/950DT 不支持」等产品支持声明未动(与 def/README 已支持现状的矛盾待产品/架构裁决,见未修项明细卡片 1)。 - **无 NPU/TTK**:加固扫描与复核以白盒模式执行(GEIR 测试模式与 TTK 异常证据未执行,异常类证据以三层白盒检测 + LLM A/B 模板替代);覆盖度实机验证与 D8/D9 多核/尾块实跑复算不可执行,修复后 commit 未在实机复测。 - **spec.yaml 缺失**:两个候选交付目录均无 spec.yaml,准入 1.6 交付件一致性比对无法执行(规则内判 N/A),不新建、记录在案。 - **DESIGN.md 缺失**:design-check 以 REQUIREMENTS.md + research/cann/code_design.md 为替代设计基准(总体评级"一致"基于该映射),不新建、记录在案。 - **策略不变项**:P6 def.cpp Format({ND,ND,ND}) 三元组为仓内统一规范(259 个 def 同款),按惯例裁定不采纳;分核 tiling(former/tail 均分 ±1 行 + 窄列 512 行/核)为有意设计,覆盖度评估模型无法公式复算属模型边界。 - 完整未完成条目清单及决策依据见《sinkhorn 未修项明细》(8 条:禁区类 1 / 环境限制类 2 / 工具链与仓内惯例类 2 / 有意设计 1 / 大改动待定 2)。 See merge request: cann/ops-math!6192 | 30 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
sort|sort_with_index|top_k_v2算子适配ascend960dt/ascend960pr Co-authored-by: tujun6<tujun6@huawei.com> # message auto-generated for no-merge-commit merge: !6202 merge add_960_sort into master sort|sort_with_index|top_k_v2算子适配ascend960dt/ascend960pr Created-by: tujun6 Commit-by: tujun6 Merged-by: cann-robot Description: ## 描述 本 PR 为 sort/sort_with_index/top_k_v2 三个算子适配 ascend960dt/ascend960pr 平台,使其能够在这两个平台上编译和运行。主要改动: - **算子定义注册**:在 math/sort/op_host/sort_def.cpp、math/sort_with_index/op_host/sort_with_index_def.cpp、math/top_k_v2/op_host/top_k_v2_def.cpp 中为 ascend960dt/ascend960pr 增加 AICore 配置(复用 ascend950 的 aicoreConfig) - **编译入口**:三个算子的 CMakeLists.txt 中 SUPPORT_COMPUTE_UNIT / SUPPORT_TILING_DIR 增加 ascend960dt、ascend960pr(tiling 目录 arch35) - **二进制 kernel 配置**:新增 op_host/config/ascend960dt|ascend960pr 下的 *_binary.json 与 *_simplified_key.ini - **二进制编译注册**:scripts/kernel/binary_config/ascendc_config.json 中扩展 Sort/SortWithIndex/TopKV2 的 compute_units 至 ascend960dt/ascend960pr,并补充对应编译选项 -mllvm -cce-aicore-dcci-before-kernel-end=false ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3587 ## 测试 - 本地 pre-commit 全量检查通过(trailing-whitespace、end-of-file-fixer、check-json、clang-format、codespell 等全部 hook) - OAT 合规扫描通过(oat-py 1.0.3,PR 全部 19 个文件,License 头与文件类型违规均为 0) - 二进制 kernel 编译与算子精度验证依赖 CI 流水线及 ascend960 平台环境 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6202 | 29 days ago | |
sparse_bincount算子质量加固 Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !6605 merge scan1 into master sparse_bincount算子质量加固 Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> sparse_bincount算子质量加固 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3865 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:质量加固 See merge request: cann/ops-math!6605 | 18 days ago | |
[spence] quality-hardening:大正数NaN修复 + Host校验加固 + TF通路文档与公式勘误 Co-authored-by: zhaixiao1<zhaixiao1@huawei.com> # message auto-generated for no-merge-commit merge: !6543 merge fix/spence-quality-hardening into master [spence] quality-hardening:大正数NaN修复 + Host校验加固 + TF通路文档与公式勘误 Created-by: Onthetreeoh Commit-by: zhaixiao1 Merged-by: cann-robot Description: ## 修改内容 ### 1. 大正数区间 NaN 修复(kernel) - x ∈ (1/FLT_MIN, FLT_MAX] 区间 1/x 为 fp32 次正规(FTZ→0),Ln(0)=-inf 与 ln(1-y)=0 相乘得 NaN;改用恒等式 **ln(1/x)=-ln(x)** 对原始输入取对数,结果为有限负数 -½ln²(x)-π²/6+O(1/x),与 fp64 oracle 及竞品 TF 一致 - tiling_data 字段注释同步澄清;tiling UT 补充大数区间用例 ### 2. Host 校验加固(约束与 canndev A2/A3 实现一致) - **InferShape4Spence 增加 rank>8 独立拒绝**:canndev TBE 框架默认 RANK_LIMIT=8 为同约束;本仓原先仅依赖 tiling 校验,绕过 tiling 的调用路径会得到 9 维输出而非报错 - **InferDataType4Spence 增加 dtype 白名单校验**(DT_FLOAT/DT_FLOAT16/DT_BF16,与 canndev check_dtype 白名单同集) ### 3. 约束对齐(移除较 canndev A2/A3 更严格的校验) - tiling 删除输入/输出 FORMAT_ND 双查——canndev 声明 ND 但不做 format 强制(逐元素算子对 format 标签不敏感,A2/A3 上带 NCHW 标签的图可正常执行);同步删除 NCHW 拒绝 UT 用例 ### 4. 文档与示例 - proto.h 注释与 docs/zh/op_list.md 公式勘误(积分上限 0→(1-x),标注 = Li₂(1-x)) - 示例 WriteDataToFile 修复 fwrite 短写路径文件句柄泄漏 - README 删除产品交付范围说明段与 TensorFlow 调用说明段 ## 验证 - UT:69/69 通过(tiling 参数化 26 + tiling data 22 + infershape 21,含 rank>8 拒绝用例) - 三方精度(NPU vs CPU TF golden vs A100 TF 竞品,cross_check L1):312 例套件 294 例执行,275 PASS + 13 例 rank-0 binary 模式 PASS(dyn 在线编译崩溃为 CANN 9.2.0 工具链对空 shape 的已知缺陷,内置 Exp 同栈复现,非算子问题);4 例大正数边界用例为判据比值边界效应(NPU 相对 fp64 oracle 偏差 ~6e-8 = fp32 半 ulp) - 性能:修复仅涉 host 侧与校验逻辑,kernel 数值路径不变;新增 8 例计时(8192 分块整轮/无尾轮路径首次确定性命中,满核 72 AIV,~65 G elem/s) See merge request: cann/ops-math!6543 | 18 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 days ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 days ago | |
fix: 迁移 RaggedBinCount V2 推导并规范两算子 golden Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !6538 merge fix/august-golden-quality into master fix: 迁移 RaggedBinCount V2 推导并规范两算子 golden Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 RaggedBinCount 删除原生 V1 shape 实现及注册,由已有 runtime V2 推导接管;保留 size 值依赖 .InputsDataDependency({2})、输入 shape 及合法性检查。旧 V1 测试替换为 14 条实际 V2 注册入口测试,覆盖不同 shape/相同元素数、空与标量 weights、int32/int64 常量 size、动态维/rank、非法输入和重复推导覆盖输出。 这三份文件选取自 [推导迁移 PR #6548](https://gitcode.com/cann/ops-math/pull/6548) 的 e74083196deca466aa0492b904410f9c73ebcf60。只接入 RaggedBinCount,没有接入 MulNoNan、L2Normalize 或 July 任务,原任务分支/PR 保持原状。RaggedBinCount kernel/tiling 未改动。 本 PR 保留已有质量加固:按 [golden 规范](https://gitcode.com/zl_hw/myOpen/issues/2)移除 RaggedBinCount 按用例名切换算法的分支,统一 Torch bincount 并保留 TTK 下发精度;SquareSumAll 输出修为 rank-0、1200 条 CSV 同步修正,不再强制 FP64。两算子示例核对输出数量、dtype、shape、字节数和全部数值。SquareSumAll 无生产代码修改。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3695 ## 测试 <!-- august-local-ci-20261021:start --> ### 2026-10-21 最新提交本地 CI 受测 HEAD:d9ce12b29345e879e47098a556b8cff31a6fe746;主仓 master 快照:d98f2c0ba27be58813200f1a3c9008a092b74ae8。先保留备份并核验 squash 前后同一原始基点的完整二进制 diff 与 tree 一致,再 rebase;当前 PR 相对该主线只有一个提交。 使用指定 /workspace/CI-skills/ci_local_check.sh,本任务独立 CANN_Revise,SOCS=ascend950,ascend910b、JOBS=8,两个仓库顺序执行。统一入口实际输出 pre-commit: PASS 和 定向检查全部通过,退出码 0。完整 PR 静态检查、隔离 OAT、Markdown 链接、示例 SKIP 退出契约和 golden Python 语法检查通过。 | 阶段 | 结果 | 覆盖说明 | | --- | --- | --- | | normal pkg/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal package GE ABI/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal ophost/ascend950 | PASS | 实际运行 127 条 GTest | | normal Host UT GE ABI/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal opapi/ascend950 | PASS | 实际运行 0 条 GTest | | normal opgraph/ascend950 | PASS | 实际运行 1 条 GTest | | normal opkernel/ascend950 | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal pkg/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal package GE ABI/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal ophost/ascend910b | PASS | 实际运行 56 条 GTest | | normal Host UT GE ABI/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | | normal opapi/ascend910b | PASS | 实际运行 0 条 GTest | | normal opgraph/ascend910b | PASS | 实际运行 1 条 GTest | | normal opkernel/ascend910b | PASS | 构建/门禁通过;日志未报告 GTest 用例数 | 0 条用例或只有构建目标通过的阶段不计为单测覆盖;本地 CI 没有新增 NPU/GPU 数值回归,不替代下方历史精度 FAIL、正式整包集成与性能验收。[线上 CI 流水线](https://gitcode.com/CANN/ops-math/actions/runs/9b7d05fbacc5424493fc16f52b4c5216)已由机器人确认启动,结果待返回。 <!-- august-local-ci-20261021:end --> 此前 README 清理时获取的 master:3e45432dc9ed21cd5b00f4fa12c06d9dc7800939;最终 HEAD:066a732fc31b6d00f4402956aa0d27152cb1533c。 本轮仅删除 RaggedBinCount、SquareSumAll README 中新增的通用安装、环境加载、build.sh 运行命令及产物路径说明,共 16 行。保留必要接口/能力修正、原有示例和 IR 链接。相对上一轮受测提交 78ec51268e0ce5254f140906b93072f6c7a21de7,两个算子的生产代码、golden、测例及示例均逐字节未变;完成 diff 检查、文档链接/编码/围栏和渲染检查,没有为删说明重复运行 NPU。 以下为此前注册迁移和数值核实的历史验证,非本轮重跑: 任务独立 Master/Revise CANN,Ascend950PR_9579;真实 GPU A100-PCIE-40GB、Torch 2.14.1+cu130。构建最多 8 jobs;全部 TTK 显式 --pc=1。该轮 TTK 为 3db54be4b479d487ffd44300046ffa664789edea,包含本地比较修复。对应 [TTK PR #483](https://gitcode.com/cann/ops-test-kit/pull/483) 已由用户关闭;下面的 19/19 不能表述为未修改 TTK 主线的通过结果。原比较器结果为 17 PASS、2 FAIL。 - 该轮两算子包构建、安装完成。Ragged Host/Graph UT 为 85+1=86/86,包含新增 14 条 V2 注册 UT;导入生产文件和新测试与来源逐字节一致,没有合并冲突。 - 原 19 条冻结失败实际 GPU 三方 **19/19 PASS**,全部 BINARY_MATCH、TTK OOB 检查 PASS,输入不变。此前两条正确 FP32 舍入结果被误判的比较逻辑已在 [TTK PR #483](https://gitcode.com/cann/ops-test-kit/pull/483)中提交过修复(该 PR 现已关闭),258 项比较测试通过;没有修改本算子 golden、输出或容差。 - 静态/动态 GEIR 分开记录:当前安装周包直接执行 6 例为 **4 PASS、2 EXEC_FAILURE**。trace 确认仍进入旧 libopsproto.so V1,两个 values/weights shape 组合报错。 - 仅隔离 RaggedBinCount 旧 V1 的诊断运行,6 例静态/动态 **12 条路径全部通过**,trace 确认选中当前 custom_math 的原生 V2。canndev 最新源码已有产品隔离,但没有重建正式 canndev 产品包,因此不能把诊断结果当作正式整包集成验收,也没有恢复 V1 规避问题。 - 部署通用自检仍提示 math 分组层缺少 inc/;这两个 kernel 依赖自身头与 CANN 头,已部署 common/,实际目标图编译运行通过。该告警日志保留,不写成全部自检通过。 - 新提交钩子通过。历史验证保留:SquareSumAll 56/56 两方 Kernel;Ragged 4 条、Square 3 条合法静态/动态 GEIR;两个文档示例编译上板并核对全部输出。本轮未重复全量执行。 - SquareSumAll 原 29 条 L2 的历史结果仍为 7 FAIL、22 SKIP,未重现 builtin V1 SIGABRT;框架异常和不支持输入不计作精度 PASS。5 条非法 GEIR受控报错、2 条 BF16 经 GE Cast 的固定数值诊断结果见此前验证。 此前注册迁移阶段未执行完整本地 CI、性能回归或全矩阵三方;本次双平台本地 CI 和线上触发见最新追加记录。旧 CANN 注册的正式整包集成验证仍待完成。 ## 文档更新 按用户要求删除上述两份 README 的冗余环境准备与运行说明,保留必要的动态 shape/接口约束修正、正确产品能力和原有示例链接。示例源码及已经核实的输出检查保持不变。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!6538 | 21 days ago | |
增加reduce模板算子v121配置 Co-authored-by: Sunee<sunyi35@huawei.com> # message auto-generated for no-merge-commit merge: !6243 merge v121 into master 增加reduce模板算子v121配置 Created-by: sunzhongwen1 Commit-by: Sunee Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 给bias_add_grad、diag_part、dot、kl_div_v2、reduce_all、reduce_any、reduce_log_sum_exp、reduce_max、reduce_mean、reduce_min、reduce_prod、reduce_sum、square_sum_v1算子增加v121/122配置 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6243 | 29 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 | 20 days ago | |
fix(docs): 修正 aclnn 头文件注释中 exector 拼写(应为 executor) Co-authored-by: gcw_LxlU8H9L<opengoodai@163.com> # message auto-generated for no-merge-commit merge: !5947 merge fix/3292-exector-typos into master fix(docs): 修正 aclnn 头文件注释中 exector 拼写(应为 executor) Created-by: gcw_LxlU8H9L Commit-by: OpenGood_WeChat;gcw_LxlU8H9L Merged-by: cann-robot Description: ## 描述 ops-math 仓 10 个两段式 aclnn 接口头文件的第二段接口 @param 注释中,参数名 executor 被拼写为 exector(少一个 u),与函数签名不一致。统一修正拼写,仅涉及注释文本,不影响任何接口与逻辑。 ## 关联的Issue 关联Issue #3292 ## 测试 - 纯注释文本修正,不涉及任何代码逻辑变化 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-math!5947 | 1 month 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 | 20 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 | |
refactor: 继续迁移非 experimental 公共头文件引用 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !6220 merge refactor/math-prefix-common-headers-1008 into master refactor: 继续迁移非 experimental 公共头文件引用 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 继续将 ops-math 的公共 op_api 头文件引用迁移到带 _math 后缀的名称,减少多个算子仓库集成时同名头文件误引用的风险。 本次更新 35 个非 experimental 文件中的 35 处引用: - level2_base.h → level2_base_math.h:11 处。 - level2_base_caculation.h → level2_base_caculation_math.h:1 处。 - op_api_def.h → op_api_def_math.h:23 处。 对涉及文件同步执行仓库 clang-format、尾部空白及 EOF 规范化。此次共 35 个文件,新增 2506 行、删除 2419 行;除头文件引用替换外,其余为格式调整。 sin 因此前发现的 UT 全局平台状态污染继续暂缓;experimental 文件继续分批处理。现有兼容转发头保留。 ## 关联的Issue 延续公共头文件重名问题的分阶段迁移:https://gitcode.com/cann/ops-math/issues/3243 ## 测试 在服务器 192.168.9.234 的 lcl_ops_9.0 容器(CANN 9.0.0 / aarch64)中,以基线 16700ac8d829f8e66180c612f45ed4384b51e2e0 创建独立工作区验证。35 个修改文件的 SHA256 与本地逐一一致。 - git diff --check:通过。 - pre-commit:所有 hook 通过;另显式扫描全部 35 文件的 OAT 检查通过。 - bash build.sh --opapi -j16:全量编译通过,生成 libopapi_math.so。 - 仓库 CI 脚本为涉及的 30 个算子生成 op_api 单测命令,指定 ascend910b 执行:605 个用例全部通过。 - 额外执行 fill_diagonal_v2,flatten,slogdet,svd 的 op_host 验证:容器中 libophost_math_ut.so 加载时缺少 ops::OpAICoreDef::AddConfig(const char*, ops::OpAICoreConfig&) 符号,导致注册失败及 FillDiagonalV2 InferShape 单测段错误。去掉全部 35 文件修改后的干净基线使用相同命令复现相同失败;该失败独立于本次头文件引用替换,op_host 验证尚未通过。 ## 文档更新 不涉及用户文档更新。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:公共头文件引用重构及格式规范化。 See merge request: cann/ops-math!6220 | 30 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
IsClose等15个算子新增支持 ascend960dt Co-authored-by: TH<taohai2@huawei.com> # message auto-generated for no-merge-commit merge: !6079 merge backBlue into master IsClose等15个算子新增支持 ascend960dt Created-by: TH_HW Commit-by: TH Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动为 math 仓 15 个算子新增 Ascend960DT( NpuArch::DAV_9201)平台支持,使这些算子可在 Ascend960DT 上完成注册、编译与运行。 适配算子:is_close、is_neg_inf、masked_scale、neg、reciprocal、round、rsqrt、rsqrt_grad、sign、sin、sqrt、sqrt_grad、square、tanh、trunc。 具体改动: - 算子注册:在各算子 op_host/*_def.cpp 中新增 this->AICore().AddConfig("ascend960dt", aicoreConfig),完成 Ascend960DT 计算单元注册。 - 编译单元:在各算子 CMakeLists.txt 的 SUPPORT_COMPUTE_UNIT 中加入 ascend960dt,并按原有平台(arch22/arch35)在 SUPPORT_TILING_DIR 中补入对应的 arch35 tiling 目录。 - 二进制配置:新增 op_host/config/ascend960dt/<op>_binary.json,覆盖各算子的 dtype/shape 组合(如 float16/bfloat16/float32/int32/int8/uint8 等);新增 <op>_simplified_key.ini 指定 --simplified_key_mode。 - 内核编译配置:在 scripts/kernel/binary_config/ascendc_config.json 中为上述算子的 compute_units 与 compile_options 增加 ascend960dt。 - 平台映射:在 scripts/kernel/binary_script/build_env.sh 的 SOC_MAP 中新增 [Ascend960DT]="Ascend960DT_968B7"。 - 算子校验:math/sign/op_api/aclnn_sign.cpp 的 dtype 校验新增 NpuArch::DAV_9201 分支,使 bf16 支持在 Ascend960DT 生效。 - 用例:补充 sin、sqrt 的 arch35 tiling UT(新增小 shape、大 shape、3D、非支持 dtype 等正向/异常用例);sqrt 用例同时做格式化整改。 - 顺带统一部分 CMakeLists.txt 的许可头注释格式(add_n、complex_abs、cast、is_inf、log1p、tanh 等),并修正 neg 的 ascend950 simplified_key.ini 末尾换行。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> NA ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 编译验证:执行 math 仓编包,确认 15 个算子在 Ascend960DT 下均能正常注册与编译,生成对应 kernel 二进制。 - 二进制/交付件验证:确认各算子 config/ascend960dt 下的 *_binary.json 与 *_simplified_key.ini 生效,ascendc_config.json 中已包含 ascend960dt 编译单元。 - 单元测试:执行 sin、sqrt 的 arch35 tiling UT,覆盖 fp16/bf16/fp32、小/大 shape、3D 及非支持 dtype 场景,结果符合预期。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6079 | 24 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 | 20 days ago | |
TensorEqual & RandomUniformV2 supprot Ascend960dt/Ascend960pr Co-authored-by: magicjason0007<wangdongxu20@huawei.com> # message auto-generated for no-merge-commit merge: !6401 merge master into master TensorEqual & RandomUniformV2 supprot Ascend960dt/Ascend960pr Created-by: magicjason0007 Commit-by: magicjason0007 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 将 tensor_equal、random_uniform_v2 两个算子扩展适配 ascend960dt / ascend960pr芯片 具体改动: 1. SoC 支持扩展(tensor_equal、random_uniform_v2): - 算子 CMakeLists.txt:SUPPORT_COMPUTE_UNIT 追加 ascend960dt、ascend960pr(置于末尾),SUPPORT_TILING_DIR 对应追加,两个新平台仍复用 arch35 tiling 目录; - op_host/*_def.cpp:AddConfig 追加 ascend960dt/ascend960pr; - op_host/config/:新增 ascend960dt/、ascend960pr/ 配置目录(binary.json、simplified_key.ini与 ascend950 一致); - scripts/kernel/binary_config/ascendc_config.json:TensorEqual 条目 compute_units 追加ascend960dt/960pr 及对应 compile_options。 - 2. tensor_equal tiling 分核适配(op_host/arch35/tensor_equal_tiling_arch35.h/.cpp):新增 IsDv121() 架构判断接口,121 平台(DAV9201/DAV9202,即 ascend960dt/960pr)单核最小处理粒度由 2048调整为 256,通过 NpuArch 架构判断隔离,不影响 ascend950/ascend350 原有分核逻辑。 3. aclnn 校验:无需改动,仓内 aclnn_check.h 的 IsRegBase 已覆盖 DAV_9201/9202,CheckSocVersionGe910B 基于 NpuArch 判断(未使用 SocVersion 范围判断),天然支持 960 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3607 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 本地验证和二级冒烟均已通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:算子新芯片平台(ascend960dt/ascend960pr)适配扩展 See merge request: cann/ops-math!6401 | 25 days ago | |
feat: expand/tile/pad/pad_v3/mirror_pad/get_shape支持Ascend960PR Co-authored-by: ly_cann_coder<liyao152@huawei.com> # message auto-generated for no-merge-commit merge: !6568 merge dev_960 into master feat: expand/tile/pad/pad_v3/mirror_pad/get_shape支持Ascend960PR Created-by: ly_cann_coder Commit-by: ly_cann_coder Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> expand/tile/pad/pad_v3/mirror_pad/get_shape支持Ascend960PR ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3836 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6568 | 21 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 | |
[Fix] 修复 TopKV2 Host InferShape 的 k 范围校验和错误码 Co-authored-by: KaranocaVe<karanocave@qq.com> # message auto-generated for no-merge-commit merge: !4987 merge fix/2026-08-23-ops-math-topkv2-invalid-k-infershape-01 into master [Fix] 修复 TopKV2 Host InferShape 的 k 范围校验和错误码 Created-by: KaranocaVe Commit-by: KaranocaVe Merged-by: cann-robot Description: ## 修复摘要 修复 TopKV2 Host InferShape 对动态输入 k 缺少范围校验的问题。此前 k < 0 或 k 大于排序轴长度时,形状推导仍返回成功并把非法值写入输出 shape;同时,负责 公共推导的 helper 使用 bool 返回类型,不能准确传递 GRAPH_FAILED。 现在将 helper 返回类型改为 graphStatus,对负 k 返回 GRAPH_FAILED,并在排序轴 长度已知时拒绝 k > axis_size,使 Host 形状推导与 TopKV2 约束及 AICPU 参数校验 保持一致。 ## 变更范围 - math/top_k_v2/op_host/top_k_v2_infershape.cpp:增加 k 非负校验和已知排序轴 长度的上界校验,并修正 helper 返回类型以保留标准错误码。 - math/top_k_v2/tests/ut/op_host/test_top_k_v2_infershape.cpp:增加 k 等于轴长 的合法边界对照,并覆盖 k=axis_size+1、k=-1 两个非法方向。 - 评审补充修复(当前 head c1ec6444d406e7572f26a9091ce05b1d08732a93):补全 dim < -rank 的非法负轴校验,避免归一化后使用负下标读取排序轴长度;同时增加 rank=2, dim=-3 返回 GRAPH_FAILED 的回归用例。 - 兼容性:合法 k、合法负轴和未知轴长度的动态 shape 推导保持原有行为;仅提前拒绝 明确非法参数,不涉及 ABI、kernel 或公开接口。 ## 测试结果 - 在固定 commit 0a2ce5b57caec6068d9e5658b740c2d41482aa15 的 Host UT 配置下,执行 cmake --build <build-dir> --target math_op_host_ut -- -j2,退出码为 0,完整 TopKV2 Host UT 共 12/12 通过。 - 执行 <build-dir>/tests/ut/op_host/math_op_host_ut --gtest_filter='TopKV2InferShape.*',退出码为 0,定向回归 4/4 通过: k=32 返回 GRAPH_SUCCESS,k=33 和 k=-1 返回 GRAPH_FAILED。 - 当前 head 已包含 dim=-3 的负轴越界回归用例,且该 head 的 GitCode CI 状态已回查为 通过。 - 验证环境 Toolkit/OPP 为 CANN 9.1.0,目标源码属于后续开发线;本次结论限定为 Host ## 关联的 Issue - https://gitcode.com/cann/ops-math/issues/2814 ## Patch 来源 - 初始基线 commit:0a2ce5b57caec6068d9e5658b740c2d41482aa15 - 初始 Patch SHA-256:bc407fd5d64ab0bff69c95f7e3d3b6834d2cf7d557f4516decd6b5882e6b6151 - 评审补充修复 commit:c1ec6444d406e7572f26a9091ce05b1d08732a93 See merge request: cann/ops-math!4987 | 25 days ago | |
产品名变更 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5912 merge master into master 产品名变更 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> AI处理器对应的产品型号名称更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3258](https://gitcode.com/cann/ops-math/issues/3258) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5912 | 1 month ago | |
fix(radix_top_k): 修复 WS 变体 V→MTE3 同步缺失与 CreateVecIndex4TopK 越界,统一跨核前缀和累加为 int64 Co-authored-by: Nice_try<zhangzhiwei108@huawei.com> # message auto-generated for no-merge-commit merge: !6396 merge addut into master fix(radix_top_k): 修复 WS 变体 V→MTE3 同步缺失与 CreateVecIndex4TopK 越界,统一跨核前缀和累加为 int64 Created-by: Nice_try Commit-by: Nice_try Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ### 改动原因 RadixTopK 在 int64 大 shape(sortLen 超 int32 上限)与 WS 变体路径上存在三处缺陷,且 host UT 的 tiling key 期望值只编码 3 位,int64 主路径恒测不到: 1. WS 变体同步缺失: Add 在 V 流水线写 tileTopK,紧接着 MTE3 读同一块 UB;PipeBarrier<PIPE_V> 只保证 V 流水线内部顺序,SToMTE3Sync 只覆盖 S→MTE3,两者都管不到 V→MTE3,MTE3 可能读到 Add 之前的旧值,导致该段 k 配额错乱。同文件 AddTileHist2TileTopKInWs 对同样的 Add→CopyOut 序列用的是 VToMTE3Sync。 2. 索引序列越界:i64 变体的多段 regime 会命中 tileNum_ > MAX_TILE_NUM_IN_UB,此时 CreateVecIndex4TopK 中的无符号相减会下溢成巨大值,再被 tileLen_ 兜住,最终 GetWithOffset(maxIndexLen, tileNumAlign_ * 4) 的偏移会写出 6144 元素 buffer。 3. 跨核前缀和累加溢出:前驱 core 边界 bin 累计元素数总量可达 sortLen > 2^31,UB 变体用 int32 累加(cumSumValuePrev / remainCoreBoundaryNum)存在溢出风险;同时 WS 变体维护了一份只差累加器类型的 ComputeCumSumPrevI64。 4. UT 覆盖缺口:ComputeExpectedTilingKey 只编码 sorted/largest/isLargeShape 3 位,未编码 isInt64Shape(bit3),int64 主路径(sortLen > 2^31)恒测不到。 ### 改动方法 1. op_kernel/radix_top_k_ws.h - HandleLastRoundBoundary 中 Add→CopyTileTopKUb2Ws 的同步由 SToMTE3Sync() 改为 VToMTE3Sync(),与同文件 AddTileHist2TileTopKInWs 口径一致; - CreateVecIndex4TopK 增加前置防御:tileNumAlign_ >= MAX_TILE_NUM_IN_UB 时直接 return 0,下游走「现算索引」分支,与 maxIndexLen==0 的既有兜底行为一致; - 删除 ComputeCumSumPrevI64,改用基类 ComputeCumSumPrev(出参已是 int64),消除 UB/WS 两份仅差累加器类型的实现。 2. op_kernel/radix_top_k_common.h:ComputeCumSumPrev 出参由 int32_t& 改为 int64_t&(每 core 边界 bin 计数 < 2^31,int64 累加对 int32 形状同样安全);IsNaNValue 的 float 位模式读取由指针 reinterpret 改为 union,规避浮点相等/自比较类告警;补充提取相与计数相 NaN 规范化口径不对称的说明。 3. op_kernel/radix_top_k_ub.h:cumSumValuePrev / remainCoreBoundaryNum 改为 int64,回写 tileTopK 时显式 static_cast<int32_t>(per-core 配额 < 该 tile 边界 bin 计数 < 2^31,int32 通道安全)。 4. op_host/radix_top_k_tiling.cpp:新增 static_assert(LARGE_SORT_LEN < INT32_SORT_LEN_MAX),把「isInt64Shape_ 蕴含 isLargeShape_」钉死,避免后续调大 LARGE_SORT_LEN 时 i64 分支被漏掉;needWorkspace / GetWorkspaceSize 两处 || isInt64Shape_ 补充防御性冗余注释。 5. tests/ut/op_host/test_radix_top_k_tiling.cpp:ComputeExpectedTilingKey 补齐第 4 位 isInt64Shape(与 GET_TPL_TILING_KEY(sorted, largest, isLargeShape, isInt64Shape) 一一对应,此前 int64 主路径恒测不到);新增两条用例:i64_shape_tiling_key_bit3(sortLen=2^31 ⇒ bit3+bit2、indices int64、必须申请 workspace)、i64_shape_reject_int32_indices(sortLen > 2^31 且 indices int32 必须 tiling 失败);MakeRadixTopKTilingContext 支持指定输出 indices dtype。 6. math/radix_top_k/README.md:约束说明由「无」改为「本算子为选取类实现,输出为选中元素在排序轴上的索引序,不保证有序」。 7. math/topk/op_api/topk.cpp:补充 int64 大 shape 分支拦截条件的注释(说明放掉 k 比例门限与 MIN_K 门限、且 int64 索引无法通过 GatherElementsV2 补有序性的原因),不改变逻辑。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> - #3604 https://gitcode.com/cann/ops-math/issues/3604 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> - 本次提交包含 host UT 变更(math/radix_top_k/tests/ut/op_host/test_radix_top_k_tiling.cpp):修正 tiling key 期望值编码并新增 int64 主路径两条用例;本地未执行,预期由 CI 运行。 - kernel 侧改动(VToMTE3Sync、CreateVecIndex4TopK 防御、int64 累加)建议结合 RadixTopK int64 大 shape 场景回归验证(实施类用例未包含在本次提交内)。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 更新 math/radix_top_k/README.md 约束说明(补充输出无序约束);另含 op_host/op_kernel 注释更新,不涉及其他文档。 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6396 | 28 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6613 merge master into master aclnn确定性开关配置变更和产品名变更,简化md表格语法,删除冗余css样式 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - aclnn确定性开关配置变更:aclrtCtxSetSysParamOpt改为aclrtSetSysParamOpt - 产品名变更 - 简化md表格语法,删除冗余css样式 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 3833](https://gitcode.com/cann/ops-math/issues/3833) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> \*.md acl\*.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6613 | 21 days ago | |
test: 18 算子 golden 新增 TestSpec 双注册与 third_party Co-authored-by: Xbying<2119046648@qq.com> # message auto-generated for no-merge-commit merge: !5789 merge 14 into master test: 18 算子 golden 新增 TestSpec 双注册与 third_party Created-by: 2301_81474000 Commit-by: Xbying Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 16 个算子 golden 新增 __spec__(保留旧 __golden__,单一代码源双入口):Pad、PadV2、PadV3、MirrorPad、CircularPadGrad、PadV3GradReplication、DepthToSpace、SpaceToDepth、BatchToSpaceND、MatrixSetDiagV2、Sinc、TruncateDiv、TruncateMod、Erfc、Expand、Tile/TileD - 新建 2 个 golden:ReflectionPad3dGrad、Rint - 全部补 third_party 竞品实现(F.pad / aten backward / np.pad / torch.tile / torch.round 等),视图类输出加 .contiguous() - 顺带修复 4 处原 golden 缺陷(depth_to_space 死链与未定义名、pad_v2 0 维标量越界、pad_v3_grad_replication 部分维 pad、ruff E712/F841) - 全部经 TTK loader 双入口解析与 third_party↔golden 数值互验(BatchToSpaceND 因 golden 依赖 TF 仅做解析验证) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3226 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5789 | 1 month ago | |
test: 18 算子 golden 新增 TestSpec 双注册与 third_party Co-authored-by: Xbying<2119046648@qq.com> # message auto-generated for no-merge-commit merge: !5789 merge 14 into master test: 18 算子 golden 新增 TestSpec 双注册与 third_party Created-by: 2301_81474000 Commit-by: Xbying Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 16 个算子 golden 新增 __spec__(保留旧 __golden__,单一代码源双入口):Pad、PadV2、PadV3、MirrorPad、CircularPadGrad、PadV3GradReplication、DepthToSpace、SpaceToDepth、BatchToSpaceND、MatrixSetDiagV2、Sinc、TruncateDiv、TruncateMod、Erfc、Expand、Tile/TileD - 新建 2 个 golden:ReflectionPad3dGrad、Rint - 全部补 third_party 竞品实现(F.pad / aten backward / np.pad / torch.tile / torch.round 等),视图类输出加 .contiguous() - 顺带修复 4 处原 golden 缺陷(depth_to_space 死链与未定义名、pad_v2 0 维标量越界、pad_v3_grad_replication 部分维 pad、ruff E712/F841) - 全部经 TTK loader 双入口解析与 third_party↔golden 数值互验(BatchToSpaceND 因 golden 依赖 TF 仅做解析验证) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3226 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5789 | 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 | |
根据markdownlint规范修正md写作问题和link失效 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !6398 merge master into master 根据markdownlint规范修正md写作问题和link失效 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 根据markdownlint规范修正md写作问题和link失效 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#2272](https://gitcode.com/cann/ops-math/issues/2272) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 所有md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6398 | 29 days ago | |
refactor: 继续迁移非 experimental 公共头文件引用 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !6220 merge refactor/math-prefix-common-headers-1008 into master refactor: 继续迁移非 experimental 公共头文件引用 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 继续将 ops-math 的公共 op_api 头文件引用迁移到带 _math 后缀的名称,减少多个算子仓库集成时同名头文件误引用的风险。 本次更新 35 个非 experimental 文件中的 35 处引用: - level2_base.h → level2_base_math.h:11 处。 - level2_base_caculation.h → level2_base_caculation_math.h:1 处。 - op_api_def.h → op_api_def_math.h:23 处。 对涉及文件同步执行仓库 clang-format、尾部空白及 EOF 规范化。此次共 35 个文件,新增 2506 行、删除 2419 行;除头文件引用替换外,其余为格式调整。 sin 因此前发现的 UT 全局平台状态污染继续暂缓;experimental 文件继续分批处理。现有兼容转发头保留。 ## 关联的Issue 延续公共头文件重名问题的分阶段迁移:https://gitcode.com/cann/ops-math/issues/3243 ## 测试 在服务器 192.168.9.234 的 lcl_ops_9.0 容器(CANN 9.0.0 / aarch64)中,以基线 16700ac8d829f8e66180c612f45ed4384b51e2e0 创建独立工作区验证。35 个修改文件的 SHA256 与本地逐一一致。 - git diff --check:通过。 - pre-commit:所有 hook 通过;另显式扫描全部 35 文件的 OAT 检查通过。 - bash build.sh --opapi -j16:全量编译通过,生成 libopapi_math.so。 - 仓库 CI 脚本为涉及的 30 个算子生成 op_api 单测命令,指定 ascend910b 执行:605 个用例全部通过。 - 额外执行 fill_diagonal_v2,flatten,slogdet,svd 的 op_host 验证:容器中 libophost_math_ut.so 加载时缺少 ops::OpAICoreDef::AddConfig(const char*, ops::OpAICoreConfig&) 符号,导致注册失败及 FillDiagonalV2 InferShape 单测段错误。去掉全部 35 文件修改后的干净基线使用相同命令复现相同失败;该失败独立于本次头文件引用替换,op_host 验证尚未通过。 ## 文档更新 不涉及用户文档更新。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:公共头文件引用重构及格式规范化。 See merge request: cann/ops-math!6220 | 30 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 | 23 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 | |
增加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 |
|---|---|---|
| 22 days ago | ||
| 30 days ago | ||
| 18 days ago | ||
| 29 days ago | ||
| 1 month ago | ||
| 24 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 20 days ago | ||
| 22 days ago | ||
| 1 month ago | ||
| 24 days ago | ||
| 21 days ago | ||
| 20 days ago | ||
| 20 days ago | ||
| 28 days ago | ||
| 30 days ago | ||
| 28 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 18 days ago | ||
| 23 days ago | ||
| 23 days ago | ||
| 23 days ago | ||
| 21 days ago | ||
| 20 days ago | ||
| 22 days ago | ||
| 1 month ago | ||
| 25 days ago | ||
| 25 days ago | ||
| 25 days ago | ||
| 18 days ago | ||
| 1 month ago | ||
| 29 days ago | ||
| 20 days ago | ||
| 18 days ago | ||
| 30 days ago | ||
| 21 days ago | ||
| 30 days ago | ||
| 20 days ago | ||
| 29 days ago | ||
| 21 days ago | ||
| 18 days ago | ||
| 21 days ago | ||
| 20 days ago | ||
| 20 days ago | ||
| 18 days ago | ||
| 22 days ago | ||
| 21 days ago | ||
| 25 days ago | ||
| 21 days ago | ||
| 23 days ago | ||
| 1 month ago | ||
| 21 days ago | ||
| 24 days ago | ||
| 30 days ago | ||
| 1 month ago | ||
| 25 days ago | ||
| 20 days ago | ||
| 1 month ago | ||
| 29 days ago | ||
| 21 days ago | ||
| 29 days ago | ||
| 21 days ago | ||
| 21 days ago | ||
| 21 days ago | ||
| 25 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 24 days ago | ||
| 1 month ago | ||
| 20 days ago | ||
| 20 days ago | ||
| 29 days ago | ||
| 1 month ago | ||
| 20 days ago | ||
| 25 days ago | ||
| 28 days ago | ||
| 25 days ago | ||
| 29 days ago | ||
| 21 days ago | ||
| 1 month ago | ||
| 20 days ago | ||
| 29 days ago | ||
| 25 days ago | ||
| 20 days ago | ||
| 20 days ago | ||
| 28 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 21 days ago | ||
| 25 days ago | ||
| 20 days ago | ||
| 20 days ago | ||
| 1 month ago | ||
| 21 days ago | ||
| 20 days ago | ||
| 20 days ago | ||
| 27 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 29 days ago | ||
| 20 days ago | ||
| 1 month ago | ||
| 18 days ago | ||
| 1 month ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 25 days ago | ||
| 24 days ago | ||
| 25 days ago | ||
| 24 days ago | ||
| 25 days ago | ||
| 1 month ago | ||
| 24 days ago | ||
| 21 days ago | ||
| 20 days ago | ||
| 20 days ago | ||
| 20 days ago | ||
| 29 days ago | ||
| 20 days ago | ||
| 25 days ago | ||
| 24 days ago | ||
| 18 days ago | ||
| 1 month ago | ||
| 29 days ago | ||
| 20 days ago | ||
| 21 days ago | ||
| 20 days ago | ||
| 29 days ago | ||
| 24 days ago | ||
| 20 days ago | ||
| 20 days ago | ||
| 20 days ago | ||
| 20 days ago | ||
| 1 month ago | ||
| 21 days ago | ||
| 20 days ago | ||
| 20 days ago | ||
| 1 month ago | ||
| 24 days ago | ||
| 1 month ago | ||
| 20 days ago | ||
| 21 days ago | ||
| 24 days ago | ||
| 21 days ago | ||
| 27 days ago | ||
| 25 days ago | ||
| 20 days ago | ||
| 23 days ago | ||
| 1 month ago | ||
| 29 days ago | ||
| 18 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 21 days ago | ||
| 28 days ago | ||
| 21 days ago | ||
| 20 days ago | ||
| 18 days ago | ||
| 18 days ago | ||
| 20 days ago | ||
| 24 days ago | ||
| 23 days ago | ||
| 29 days ago | ||
| 29 days ago | ||
| 21 days ago | ||
| 21 days ago | ||
| 21 days ago | ||
| 21 days ago | ||
| 2 months ago | ||
| 21 days ago | ||
| 21 days ago | ||
| 29 days ago | ||
| 28 days ago | ||
| 1 month ago | ||
| 29 days ago | ||
| 29 days ago | ||
| 28 days ago | ||
| 1 month ago | ||
| 20 days ago | ||
| 28 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 1 month ago | ||
| 29 days ago | ||
| 21 days ago | ||
| 20 days ago | ||
| 20 days ago | ||
| 18 days ago | ||
| 18 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 20 days ago | ||
| 21 days ago | ||
| 21 days ago | ||
| 24 days ago | ||
| 28 days ago | ||
| 21 days ago | ||
| 30 days ago | ||
| 29 days ago | ||
| 29 days ago | ||
| 29 days ago | ||
| 18 days ago | ||
| 18 days ago | ||
| 21 days ago | ||
| 24 days ago | ||
| 24 days ago | ||
| 21 days ago | ||
| 29 days ago | ||
| 20 days ago | ||
| 1 month ago | ||
| 20 days ago | ||
| 1 month ago | ||
| 30 days ago | ||
| 29 days ago | ||
| 24 days ago | ||
| 20 days ago | ||
| 25 days ago | ||
| 21 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 25 days ago | ||
| 1 month ago | ||
| 28 days ago | ||
| 29 days ago | ||
| 29 days ago | ||
| 21 days ago | ||
| 21 days ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 1 month ago | ||
| 29 days ago | ||
| 30 days ago | ||
| 23 days ago | ||
| 1 month ago | ||
| 10 months ago |