| docs: 新增CastlikeFusionPass融合pass文档 Co-authored-by: ywx1080114<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !5397 merge castlike-fusion-pass-doc into master docs: 新增CastlikeFusionPass融合pass文档 Created-by: yuanbin_22 Commit-by: ywx1080114 Merged-by: cann-robot Description: ## 描述 新增 CastLike 算子的融合 pass 说明文档,包含融合模式、使用约束及支持的型号信息: - **CastlikeFusionPass**:将图中的 CastLike 算子替换为 Cast 算子,从 CastLike 的类型参考输入 y 中提取目标类型 dst_type,替换后 Cast 仅接收 x 输入并携带 dst_type 属性。支持 Ascend 950PR/Ascend 950DT。 同时新增融合模式示意图(LFS)。 ## 关联的Issue #3057 ## 测试 纯文档更新,无需测试。 ## 文档更新 - 新增 math/cast/docs/CastlikeFusionPass.md - 新增 docs/zh/figures/CastlikeFusionPass.png ## 类型标签 - [x] 文档更新 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!5397 | 11 天前 |
| math仓算子错误日志整改 Co-authored-by: qq_52874943<gaomingyuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !5345 merge master into master math仓算子错误日志整改 Created-by: qq_52874943 Commit-by: qq_52874943 Merged-by: cann-robot Description: ## 描述 本 PR 针对 math 仓算子日志进行整改(关联 Issue #2853),主要目的是规范算子错误日志的级别与内容。改动覆盖约 35 个文件,核心内容包括三类:将 examples/test_geir_*.cpp 示例程序中 GE 初始化失败、加图失败、运行图失败、反初始化失败等错误场景的日志级别由 INFO 修正为 ERROR;修正 op_kernel_aicpu、op_api、tiling、framework 插件中参数校验及错误提示日志的英文语法与拼写;同时清理行尾多余空白字符。整体为纯日志与文档性整改,不涉及算子计算逻辑与对外接口行为变更。 ## 关联的Issue 关联Issue[#2853](https://gitcode.com/cann/ops-math/issues/2853) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5345 | 17 天前 |
| fix: 迁移onnx插件ParseParams API并补充framework层UT用例 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !5105 merge onnx-fix-0826 into master fix: 迁移onnx插件ParseParams API并补充framework层UT用例 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 将 math 仓 4 个 onnx 插件的参数解析从旧 API ParseParamsFn(const Message*, ge::Operator&) 迁移至新 API ParseParamsByOperatorFn(const ge::Operator&, ge::Operator&),并补齐 framework 层 UT 构建体系与用例。 本次修改: 1. **插件 API 迁移**:Cast/NPUDtypeCast(math/cast)、Shape(math/shape)、NPUFormatCast(conversion/npu_format_cast)、NPURotaryMul(common)4 个插件的注册函数切换为 ParseParamsByOperatorFn,头文件依赖收敛为 graph/operator.h + register/register.h;空实现保持签名兼容并显式标记未使用参数,消除 -Wunused-parameter 告警(-Werror 下构建必须)。 2. **framework 层 UT 支持**:cmake/ut.cmake 新增 OP_FRAMEWORK_MODULE_NAME 及 add_framework_ut_modules,cmake/func.cmake 的 add_all_ut_sources 增加 framework 用例收集,tests/ut/op_host/CMakeLists.txt 将 math_op_framework_ut_cases 链接进 math_op_host_ut 并补充 graph_base 依赖(修复缺符号链接失败)。 3. **新增 UT 用例**:为上述 4 个插件补充 tests/ut/framework/test_*_onnx_plugin.cpp 用例(含 Shape 的 dtype=INT64 校验),并通过 common/tests 与各算子 tests/ut 的 CMakeLists 纳入构建。 ## 关联的Issue Issue #2892 ## 测试 1. pre-commit run(变更文件):全部通过,包括 clang-format、codespell 与 OAT 合规检查。 2. 容器内(CANN 9.0.0, Ascend 910B3)增量重建 math_op_host_ut 并运行:1853 tests from 303 test suites,**全部 PASSED**。 3. 新增 4 个 framework 用例(OnnxNpuDtypePluginTest / OnnxShapePluginTest / OnnxNpuFormatCastPluginTest / OnnxNpuRotaryMulPluginTest)均执行通过。 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5105 | 25 天前 |
| math仓算子日志整改 Co-authored-by: qq_52874943<gaomingyuan3@h-partners.com> # message auto-generated for no-merge-commit merge: !5059 merge master into master math仓算子日志整改 Created-by: qq_52874943 Commit-by: qq_52874943 Merged-by: cann-robot Description: ## 描述 math仓算子日志整改 ## 关联的Issue 关联Issue[#2853](https://gitcode.com/cann/ops-math/issues/2853) ## 测试 本地已完成新精度对比与性能测试,通过静态检查、蓝区冒烟、算子ST以及算子二级冒烟。 ## 文档更新 修正文档中算子命名不规范问题,打开Ascend950支持选项。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5059 | 26 天前 |
| feat: 优化tanh算子arch35实现,改进计算精度与饱和处理 Co-authored-by: ywx1080114<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !3344 merge optimize-tanh-dag into master feat: 优化tanh算子arch35实现,改进计算精度与饱和处理 Created-by: yuanbin_22 Commit-by: ywx1080114 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> feat: 优化tanh算子arch35实现,改进计算精度与饱和处理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1973 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3344 | 3 个月前 |
| 批量修改算子的系统ws大小 Co-authored-by: ligen<ligen75@h-partners.com> # message auto-generated for no-merge-commit merge: !5299 merge master into master 批量修改算子的系统ws大小 Created-by: ligen75 Commit-by: ligen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 批量修改算子的系统ws大小 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3013 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 自验通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5299 | 14 天前 |
| refactor: arch35 算子 Regbase Reg 层旧接口替换为新接口 Co-authored-by: ywx1080114<yuanbin22@huawei.com> # message auto-generated for no-merge-commit merge: !4527 merge fix/api-rename-regbase into master refactor: arch35 算子 Regbase Reg 层旧接口替换为新接口 Created-by: yuanbin_22 Commit-by: ywx1080114 Merged-by: cann-robot Description: ## 描述 将 ops-math 仓库中 19 个算子的 arch35 regbase kernel 实现从 Reg 层旧接口替换为新接口,同时将地址空间限定符 __local_mem__ 统一替换为 __ubuf__,使代码与 AscendC SDK 最新命名规范保持一致。 ### 改动原因 AscendC SDK 新版本对 Reg 层 API 进行了重命名,旧 API(如 Reg::DataCopy、Reg::CompareScalar、Reg::MaskAnd、Reg::MaskOr、Reg::MaskPack、Reg::FusedAbsSub、Reg::FusedMulDstAdd 等)将逐步废弃。本 PR 同步更新仓库中 arch35 regbase 算子 kernel 的接口调用,避免使用将废弃的 API。 ### 改动方法 对 22 个 arch35 regbase kernel 头文件进行批量接口替换,涉及 19 个 math 算子: add_n(2 个文件:add_n_regbase.h、add_n_regbase_fullload.h)、assign_add、assign_sub、cast(cast_impl.h)、ceil、exp、floor(3 个文件:floor_bf16.h、floor_f16.h、floor_f32.h)、is_close(is_close_dag.h)、log、log1p、nan_to_num、neg、reciprocal、round、rsqrt、rsqrt_grad、sign(sign.h)、tanh、trunc 接口替换映射如下: | 旧接口 | 新接口 | 说明 | |--------|--------|------| | Reg::DataCopy(reg, addr) | Reg::LoadAlign(reg, addr) | UB→Reg 加载 | | Reg::DataCopy(addr, reg) | Reg::StoreAlign(addr, reg) | Reg→UB 存储 | | Reg::DataCopy<T, LoadDist/StoreDist> | Reg::LoadAlign/StoreAlign<T, Dist> | 带 Dist 模板参数 | | Reg::DataCopy<T, PostLiteral, Dist> | Reg::LoadAlign/StoreAlign<T, PostLiteral, Dist> | 带 PostLiteral | | Reg::CompareScalar | Reg::Compares | 标量比较 | | CompareScalar(无命名空间) | Compares | 标量比较 | | Reg::MaskAnd | Reg::And | 掩码与运算 | | Reg::MaskOr | Reg::Or | 掩码或运算 | | Reg::MaskPack | Reg::Pack | 掩码打包 | | Reg::FusedAbsSub | Reg::AbsSub | 融合绝对差 | | Reg::FusedMulDstAdd | Reg::MulDstAdd | 融合乘加 | | __local_mem__ | __ubuf__ | 地址空间限定符(涉及 floor、is_close 算子) | > 注:上述替换同时覆盖带 AscendC:: 前缀和不带前缀两种调用形式。替换为纯命名变更,不涉及计算逻辑修改,部分接口替换伴随行格式重排(缩进调整)。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2585 ## 测试 接口替换为纯命名变更,不涉及计算逻辑修改,通过编译验证和已有 ST/UT 用例回归验证。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:接口重命名,代码规范对齐 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-math!4527 | 1 个月前 |
| 补充4个算子rt2 infershape实现 + 9个算子常量折叠HOSTCPU改造 Co-authored-by: sujunwei3<sujunwei3@huawei.com> # message auto-generated for no-merge-commit merge: !4821 merge dev into master 补充4个算子rt2 infershape实现 + 9个算子常量折叠HOSTCPU改造 Created-by: sujunwei3 Commit-by: sujunwei3 Merged-by: cann-robot Description: ## 描述 本 PR 包含两部分改动: ### 1. 补充 4 个算子 rt2 infershape 实现 从 canndev 仓迁移 infershape 逻辑到 ops-math,包含 InferShape + InferDataType + InferShapeRange: - **coordinates_1d_to_2d**:rt1 改造为 rt2,3 个输出(row/col/n)的 shape+dtype+range 均来自输入 x - **split_d**:rt2 直接迁移,DYNAMIC_OUTPUT 按 split_dim/num_split 属性计算 shape+range - **slice_write**:rt1 改造为 rt2,输出 shape+dtype+range 来自输入 x,含 x/value dtype 一致性校验 - **calc_buckets_limit_and_offset**:rt1 改造为 rt2,2 个输出 shape+dtype 来自 bucket_list/ivf_offset - 同步迁移 UT 用例(共 8 个),改造为 InfershapeContextPara + ExecuteTestCase 格式 ### 2. 9 个算子常量折叠 HOSTCPU 改造 - CMakeLists.txt 加 HOSTCPU TRUE 参数 - 算子注册宏从 REGISTER_CPU_KERNEL 改为 OPS_MATH_REGISTER_CPU_KERNELV2 - 改造算子:calc_buckets_limit_and_offset、cast、coordinates_1d_to_2d、cumsum、lin_space、slice_write、split_v、topk、tile_with_axis - 编译产出 libopconstant_folding_math.so,strings 验证全部算子符号存在 ## 关联的Issue #2717 ## 测试 ### infershape UT 验证 - 执行 bash build.sh -u --ophost --soc=ascend910b --ops=<op_name> -j16 - 验证条件:exit code == 0 且日志含 [ PASSED ] N tests. - 8 个 UT 用例全部通过(含 dtype 不一致失败用例) ### 常量折叠编译验证 - 执行 bash build.sh --pkg --jit -j16 - 验证 libopconstant_folding_math.so 产出 - strings 验证 9 个算子符号均在 so 中 - RunCpuKernelV2 / GetCpuKernelV2 入口符号存在 ### 文档更新验证 - op_list.md 中 4 个算子 op_host 列 ×→√ - 2 个算子 op_kernel 列 ×→√(coordinates_1d_to_2d、slice_write) ## 文档更新 - docs/zh/op_list.md:更新 coordinates_1d_to_2d、split_d、slice_write、calc_buckets_limit_and_offset 的 op_host/op_kernel 标记 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4821 | 27 天前 |
| 批量算子golden支持全通路 Co-authored-by: ligen<ligen75@h-partners.com> # message auto-generated for no-merge-commit merge: !5750 merge master into master 批量算子golden支持全通路 Created-by: ligen75 Commit-by: ligen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 批量算子golfen新增支持aclnn,e2e通路 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/3210 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 自验通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5750 | 3 天前 |
| concat/pad/slice等算子支持新平台 Co-authored-by: ASCEND222<dongfei16@h-partners.com> # message auto-generated for no-merge-commit merge: !5184 merge master into master concat/pad/slice等算子支持新平台 Created-by: ASCEND222 Commit-by: ASCEND222 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 算子支持新平台 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2992 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5184 | 20 天前 |
| md大模型检测低错修改 Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !5183 merge master into master md大模型检测低错修改 Created-by: gitcode-chenjiao Commit-by: gitcode-chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> md大模型检测低错修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [# 2466](https://gitcode.com/cann/ops-math/issues/2446) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> *.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5183 | 23 天前 |