| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
update: dlog头文件路径变更,更新文件 Finddlog.cmake Co-authored-by: fujun19<fujun19@hisilicon.com> # message auto-generated for no-merge-commit merge: !4796 merge master into master update: dlog头文件路径变更,更新文件 Finddlog.cmake Created-by: fujun19 Commit-by: fujun19 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次变更适配 dlog 头文件目录调整,更新 cmake/modules/Finddlog.cmake 中 DLOG_HEAD_SEARCH_PATHS 的 CI 编译搜索路径: - 将 ${TOP_DIR}/abl/slog/inc/toolchain 替换为 ${TOP_DIR}/runtime/pkg_inc/base。 - 保留现有 Ascend 安装目录下的 toolchain/pkg_inc/base 查找路径,确保 dlog 头文件可从新的 runtime 包结构中定位。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 无 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已验证构建出包正常,确认更新后的 dlog 头文件搜索路径可满足编译查找。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无需文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建配置适配 See merge request: cann/ops-math!4796 | 1 个月前 | |
refactor: 清理 math 算子日志文案与代码格式并移除 rfft1_d op_graph fallback Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !4794 merge f081702 into master refactor: 清理 math 算子日志文案与代码格式并移除 rfft1_d op_graph fallback Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 本次变更对 math 目录下多个算子(expand、histogram_fixed_width、tile、truncate_div、rfft1_d)的日志文案与代码格式进行清理,并移除 rfft1_d 的 op_graph fallback 插件;同时升级 opbase 依赖版本。除移除 rfft1_d fallback 与依赖升级外,其余改动均不改变算子的功能行为、Tiling 计算逻辑与数据搬运流程。 ### 改动原因 - 算子日志中存在拼写错误与语法不通顺语句,影响问题定位时日志的可读性: - truncate_div:Get ubSize form compileInfo / form ascendcPlatform 中 form 应为 from,且未带单位; - tile:after convertion 中 convertion 应为 conversion;less or equal 应为 less than or equal; - expand:greater or equal 应为 greater than or equal to;is not match 应为 does not match; - aclnn_repeat:but get %ld 应为 but got %ld; - histogram_fixed_width:调试日志中 Output_shape = 中的下划线与仓库其余 Output shape 风格不一致。 - tile 算子的 tile_tiling_arch35.cpp、tile_infershape.cpp 中部分函数使用 2 空格缩进、命名空间闭合注释为 } // namespace(双空格),与仓库主流 4 空格缩进、} // namespace(单空格)风格不一致;多个 OP_LOGE / OP_LOGE_FOR_INVALID_* 调用因参数换行排版混乱; - rfft1_d 的 op_graph fallback 插件(math/rfft1_d/op_graph/)不再需要保留,需整体移除; - opbase 依赖版本需同步升级至新 tag。 ### 改动方法 1. **日志文案修正**(涉及 5 个算子): - aclnn_expand.cpp:greater or equal to the number of dimensions → greater than or equal to the number of dimensions;is not match size → does not match size; - histogram_fixed_width_infershape.cpp:Output_shape = %s → Output shape = %s; - aclnn_repeat.cpp:but get %ld → but got %ld; - tile_tiling_arch35.cpp:after convertion → after conversion; - truncate_div_tiling_arch35.cpp:Get ubSize form compileInfo is: %ld → Get ubSize from compileInfo is: %ld B、Get ubSize form ascendcPlatform is: %ld → Get ubSize from ascendcPlatform is: %ld B(修正 form→from 并补充单位 B); - tile_infershape.cpp:less or equal than the input len → less than or equal to the input len。 2. **代码格式规整**(tile 算子两个文件为主): - tile_tiling_arch35.cpp:Tiling4Tile、TilingPrepare4Tile 函数体由 2 空格缩进改为 4 空格;多个 OP_LOGE_FOR_INVALID_SHAPEDIMS_WITH_REASON / OP_LOGE_FOR_INVALID_SHAPES_WITH_REASON / OP_LOGE_FOR_INVALID_VALUE_WITH_REASON 调用合并为单行或重排版;函数签名 Tiling4TileAscendC(...) 参数对齐调整;} // namespace optiling → } // namespace optiling;移除 Tiling4Tile 末尾多余空行; - tile_infershape.cpp:TileInferShapeCommon、InferShape4Tile 函数体由 2 空格缩进改为 4 空格;OP_CHECK_IF 与 OP_LOGE 换行重排版;} // namespace ops → } // namespace ops; - aclnn_expand.cpp、aclnn_repeat.cpp:OP_LOGE 多行参数重排版、aclnnExpandGetWorkspaceSize / aclnnRepeatGetWorkspaceSize 函数签名参数换行位置调整、CheckFormat 中 OP_LOGW 缩进修正。 3. **移除 rfft1_d op_graph fallback**: - 删除 math/rfft1_d/op_graph/CMakeLists.txt(18 行,原用于遍历子目录并注册 graph plugin 源); - 删除 math/rfft1_d/op_graph/rfft1_d_fallback.cpp(51 行,原实现 fallback::Rfft1DExecuteFunc,通过 CANN_OPS_OPB_SYN_EXEC_ACLNN(host_api_ctx, aclRfft1D, x_ge, n, dim, norm, output_ge) 调用 aclnn 接口的 fallback 执行路径)。 4. **依赖升级**: - cmake/third_party/opbase.cmake:OPBASE_TAG_ID 由 d807bccd922a62fe9cb576e0fcbe60dcdb13b288 升级至 0c5e25790f67e2c6f60c1df36d74d28f0e08ecfc。 涉及算子:Expand、HistogramFixedWidth、Tile(含 Repeat)、TruncateDiv、Rfft1D。日志与格式改动均位于 op_api 与 op_host 层;fallback 移除位于 op_graph 层;依赖升级位于 cmake 层。未触碰任何算子的 kernel 侧代码。 ## 关联的Issue - #2668 ## 测试 本次变更中日志与代码格式部分不改变算子计算逻辑与 Tiling 行为;rfft1_d fallback 移除需验证算子仍能通过原有非 fallback 路径正常执行。回归测试覆盖: - 二级冒烟:expand / histogram_fixed_width / tile / truncate_div / rfft1_d 各算子泛化用例; - 日志核查:构造非法输入(如 expand 的 size 维度小于 self 维度、tile multiples 长度超 8、repeats 负值等)触发错误日志,确认输出文本为新文案且语义正确; - rfft1_d 功能回归:验证移除 op_graph fallback 后 rfft1_d 算子在原支持的 shape / dtype 范围内执行结果与改动前一致; - tile tiling 回归:在 arch35 硬件上跑 tile / repeat 的 shape 泛化,确认 Tiling 结果与改动前一致。 ## 文档更新 无。本次变更不涉及对外接口与文档。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码清理(日志文案修正 + 代码格式规整)+ 移除 rfft1_d op_graph fallback + opbase 依赖升级 See merge request: cann/ops-math!4794 | 1 个月前 | |
update license Co-authored-by: zhaozi3<zhaozi3@h-partners.com> # message auto-generated for no-merge-commit merge: !417 merge master into master update license Created-by: zhaozi3 Commit-by: zhaozi3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!417 | 9 个月前 | |
feat: 编译时SOC版本支持前缀模糊匹配,新增-Wno-error=deprecated-declarations选项 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !4176 merge master into master feat: 编译时SOC版本支持前缀模糊匹配,新增-Wno-error=deprecated-declarations选项 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 优化编译构建流程,支持 SOC 版本前缀模糊匹配并放宽废弃声明警告处理。 ### 改动内容 **build.sh — SOC 版本模糊匹配** - 精确匹配失败时,启用前缀模糊匹配(双向前缀比较) - 多个候选时选取最长前缀匹配项 - 仅在无任何前缀匹配时才报错退出 **cmake/dependencies.cmake — 编译选项** - 新增 -Wno-error=deprecated-declarations,将废弃声明警告降级为非错误 ## 测试 - 非精确 SOC 版本名编译验证 - 无匹配 SOC 版本时正确报错 ## 类型标签 - [x] 新特性 - [x] 构建/CI ## 关联的Issue - #2279 See merge request: cann/ops-math!4176 | 2 个月前 | |
chore: 升级 cann-cmake 至 master-049 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4595 merge master into master chore: 升级 cann-cmake 至 master-049 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4595 | 1 个月前 | |
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 | 1 个月前 | |
fix(build): 跳过仅有信息库无 op_kernel 的算子的 kernel 编译 Co-authored-by: xutianze<xutianze2@huawei.com> # message auto-generated for no-merge-commit merge: !4900 merge fix-skip-kernel-for-defonly-op into master fix(build): 跳过仅有信息库无 op_kernel 的算子的 kernel 编译 Created-by: songkai111 Commit-by: xutianze Merged-by: cann-robot Description: ## 描述 --pkg 出包模式下编译仅定义算子信息库、没有 kernel 实现的算子(如 bitcast)时,kernel 编译链路会报错。本次修改在 kernel 二进制编译阶段跳过这类算子,并补充缺失的算子信息格式支持: ### 改动原因 - cmake/gen_ops_info.cmake 按 SoC 编译算子的循环中,对不存在 op_kernel 目录的算子执行 find ${OP_DIR}/op_kernel 会报"目录不存在"。 - scripts/util/parse_ini_to_json.py 的 FORMAT_LIST 缺少 FRACTAL_NZ_C0_8(CANN 原生支持的 ACL_FORMAT_FRACTAL_NZ_C0_8),使用该格式的算子 ops-info 校验不通过。 - scripts/kernel/binary_script/gen_opcinfo_from_opinfo.py 对 opFile.value=Null(仅有信息库、无 kernel 实现)的算子会残留 dynamic/Null.py 条目导致编译失败。 ### 改动方法 1. **cmake/gen_ops_info.cmake**:按 SoC 编译算子的循环中,对不存在 op_kernel 目录的算子直接 continue 跳过 kernel 二进制编译,与 get_op_type_and_validate 中已有的 op_kernel 目录判断保持一致,避免 find ${OP_DIR}/op_kernel 报目录不存在,并与 cann/ops-nn 仓的既有行为对齐。 2. **scripts/util/parse_ini_to_json.py**:FORMAT_LIST 补充 FRACTAL_NZ_C0_8;同时按 ruff 格式重排文件(修复 pre-commit trailing-whitespace/ruff)。 3. **scripts/kernel/binary_script/gen_opcinfo_from_opinfo.py**:opFile.value=Null/None 表示算子无 kernel 实现,不再写入 kernel 编译 csv,避免残留 dynamic/Null.py 条目;同时按 ruff 格式重排(修复 pre-commit ruff)。 ## 关联的Issue - https://gitcode.com/cann/ops-math/issues/2785 ## 测试 本机 CANN 9.1.0 验证: text # 仅 bitcast(无 op_kernel)→ 构建成功,包内 ops-info 正常注册 Bitcast,无 kernel 二进制 $ bash build.sh --pkg --ops=bitcast --soc=ascend950 -j16 构建成功 # bitcast + abs 混合 → 构建成功,abs kernel 二进制正常生成,混合编译不受影响 $ bash build.sh --pkg --ops=bitcast,abs --soc=ascend950 -j16 构建成功 # pre-commit 全量 hook 通过 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4900 | 1 个月前 | |
工程能力升级,增加aicpu算子genop、二进制多并发编译能力 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !779 merge master into master 工程能力升级,增加aicpu算子genop、二进制多并发编译能力 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!779 | 8 个月前 | |
update license Co-authored-by: zhaozi3<zhaozi3@h-partners.com> # message auto-generated for no-merge-commit merge: !417 merge master into master update license Created-by: zhaozi3 Commit-by: zhaozi3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!417 | 9 个月前 | |
feat: 提取公共头文件 math_def_util.h Co-authored-by: zhanw_coding<zhanwang@huawei.com> # message auto-generated for no-merge-commit merge: !4869 merge ft-def-util into master feat: 提取公共头文件 math_def_util.h Created-by: zhanw_coding Commit-by: zhanw_coding Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> feat: 提取公共头文件 math_def_util.h op_def 使用的公共工具,提供多输入 data type 两两组合的编译期常量生成方法 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2748 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4869 | 1 个月前 | |
feat: 支持 deb/rpm 包构建 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4178 merge master into master feat: 支持 deb/rpm 包构建 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 为 ops-math 构建系统新增 deb/rpm 包构建能力,支持通过 --pkg-type 参数选择构建 run / rpm / deb / all 四种包类型。 ### 改动原因 当前 ops-math 仅支持生成 .run 自解压安装包,无法满足 Linux 发行版原生包管理的需求。 ### 改动方法 1. CMake 层面:新增 PACKAGE_TYPE 缓存变量(run/rpm/deb/all),升级 cann-cmake 依赖到 master-045 2. 构建脚本:build.sh 新增 --pkg-type=<TYPE> 参数,build_lib.sh 实现 rpm/deb 构建/清理/收集逻辑 3. CI 重新打包:ops_run_repackage.sh 支持 --pkg-type,在生成 .run 包后调用 ops_generate_rpm_deb.sh 4. 包管理钩子:新增 custom_postinst.sh 和 custom_prerm.sh 用于安装后/卸载前的 pip wheel 管理 5. 包配置更新:ops_math.xml 移除 EngineeringFiles,调整目录权限,添加版权头 ## 关联的Issue - #2460 ## 测试 - 本地验证 --pkg-type 参数校验逻辑 - CI 流水线已通过 ## 文档更新 - 更新 docs/zh/install/compile.md 中 cann-cmake 版本信息 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 See merge request: cann/ops-math!4178 | 2 个月前 | |
sync(static): 静态库编译优化——添加 target 存在性检查,新增多包合并脚本 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4355 merge master into master sync(static): 静态库编译优化——添加 target 存在性检查,新增多包合并脚本 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 静态库编译流程优化,添加 target 存在性检查避免构建失败,并新增多包合并 CI 脚本。 ### 改动原因 1. 静态库构建时部分 target(ophost_math_static / opapi_math_static / cann_math_static)并非在所有编译场景下都存在,无条件构建会导致失败 2. CI 中需要将多个算子仓独立编译的静态库包合并为一个统一交付包 ### 改动方法 1. cmake/static.cmake: 增加 if (TARGET ...) 守卫,仅在相关 target 存在时才执行静态库打包 2. scripts/build_lib.sh: 获取 all_targets 后用 grep -wq 检查 target 是否存在再执行构建,static_files_dir 不存在时优雅跳过 3. scripts/ci/merge_static_packages.sh: 新增 CI 脚本,多个包解压后合并 .o 和头文件,重新打包 ## 关联的Issue - #2461 ## 测试 - CI 流水线验证通过 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 See merge request: cann/ops-math!4355 | 2 个月前 | |
feat: 为ONNX/TF插件so增加-Bsymbolic链接选项并移除废弃头文件 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4218 merge master into master feat: 为ONNX/TF插件so增加-Bsymbolic链接选项并移除废弃头文件 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 1. 参考OPGRAPH_NAME已有的编译选项,为ONNX_PLUGIN_NAME和TF_PLUGIN_NAME对应的so增加-Wl,-Bsymbolic链接选项,确保符号解析行为一致。 2. 删除common/inc/op_api/infershape_reduce_util.h,该头文件已被opbase仓中版本替代,math仓内已无代码引用。 ## 关联的Issue - #2310 ## 测试 已验证 bash build.sh --pkg --jit -j32 编译通过,readelf确认三个so均带有SYMBOLIC标志。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建优化及代码清理 See merge request: cann/ops-math!4218 | 2 个月前 | |
TORCH EXTENSION算子工程 Co-authored-by: zhangzijie<zhangzijie11@hisilicon.com> # message auto-generated for no-merge-commit merge: !277 merge master into master TORCH EXTENSION算子工程 Created-by: zhangzijie Commit-by: zhangzijie Merged-by: turing_project1 Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> TORCH EXTENSION算子工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!277 | 10 个月前 | |
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 | 1 个月前 | |
feat: 支持 kernel_src 机制,允许算子通过 CMake 指定自定义 kernel 入口文件 Co-authored-by: songkai111<songkai111@noreply.gitcode.com> # message auto-generated for no-merge-commit merge: !3141 merge revert-mr-3138-1780580007491-auto into master feat: 支持 kernel_src 机制,允许算子通过 CMake 指定自定义 kernel 入口文件 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 支持 kernel_src 机制,允许算子通过 CMake 的 add_kernel_sources() 函数指定自定义 kernel 入口文件,而非默认使用算子名.cpp。同步自 ops-nn PR#3936 的 cmake/scripts 改动。 ### 改动内容 **CMake 构建系统(4个文件)**: - cmake/func.cmake:add_kernel_sources() 函数新增 KERNEL_SRC 单值参数,支持指定算子入口文件名(不含.cpp后缀),缺省使用算子名;将 KERNEL_SRC 信息收集到 KERNEL_SRC_LIST 缓存变量中 - cmake/opbuild.cmake:在 gen_aclnn_with_opdef() 构建目标中新增构建后调用 insert_kernel_src.py 脚本的步骤,分别处理 ASCEND_AUTOGEN_PATH、inner、exc 三个目录下的 ini 文件 - cmake/ut.cmake:AddOpsTestCase() 中根据 KERNEL_SRC_LIST 查找自定义 kernel 入口文件对应的源文件路径 - cmake/variables.cmake:新增 KERNEL_SRC_LIST 缓存变量,用于存储 kernel 源文件信息 **Python 脚本(4个文件)**: - scripts/util/insert_kernel_src.py:新增脚本,解析 KERNEL_SRC_LIST 并在 aic-{compute_unit}-ops-info.ini 文件中插入或更新 kernelSrc.value 字段 - scripts/util/opdesc_parser.py:OpDesc 类新增 kernel_src 属性和 parse_kernel_src() 方法,解析 ini 文件中的 kernelSrc.value 配置 - scripts/util/ascendc_impl_build.py:在 write_adapt() 和 write_impl() 中使用 kernel_src 替代 op_file 作为源文件名,未指定时回退到 op_file - scripts/util/parse_ini_to_json.py:解析 ini 时跳过 kernelSrc 键,避免写入 JSON - scripts/kernel/binary_script/gen_ops_compile_ini.py:参数校验从 5 个调整为 6 个,适配新增参数 **算子示例(2个文件)**: - math/add/op_kernel/CMakeLists.txt:为 add 算子的 ascend950 和 mc62 两个 COMPUTE_UNITS 配置 KERNEL_SRC 为 arch35/add.cpp - math/add/op_kernel/add_apt.cpp → math/add/op_kernel/arch35/add.cpp:将 add_apt.cpp 重命名为 arch35/add.cpp,更新文件内引用路径(arch35/add_dag.h → add_dag.h,arch35/add_struct.h → add_struct.h) ## 关联的Issue - #1859 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3141 | 3 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 9 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 8 个月前 | ||
| 9 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 10 个月前 | ||
| 1 个月前 | ||
| 3 个月前 |