已关闭
[Requirement|需求建议]: Crop算子构建配置统一为add_all_modules_sources模式,删除冗余op_host子目录CMakeLists #691
吴成文创建于  8月3日关闭于  8月3日
吴成文
吴成文
8月3日 创建

需求背景

基于 commit 8e96cb0f([CANNBot]重构Crop算子构建配置为add_all_modules_sources统一模式),对 Crop 算子的 CMake 构建配置进行了统一化重构。

变更内容

修改文件

文件 变更类型 说明
image/crop/CMakeLists.txt 修改 新增 add_all_modules_sources() 统一构建声明
image/crop/op_host/CMakeLists.txt 删除 移除冗余的子目录级 add_modules_sources() 声明

关键变更点

  1. 统一构建入口:在 image/crop/CMakeLists.txt 顶层使用 add_all_modules_sources() 替代子目录 op_host/CMakeLists.txt 中的 add_modules_sources(),统一管理算子源码编译入口
  2. 显式声明算子元信息:
    • OPTYPE crop
    • ACLNNTYPE aclnn_exclude(不生成 aclnn 接口)
    • COMPUTE_UNIT ascend950
    • TILING_DIR arch35
    • DISABLE_IN_OPP TRUE
  3. 删除冗余文件:op_host/CMakeLists.txt 被删除,其功能由顶层 CMakeLists.txt 统一接管

变更 diff

--- a/image/crop/CMakeLists.txt
+++ b/image/crop/CMakeLists.txt
@@ -10,11 +10,19 @@
 # Generated By CANNBot

 file(GLOB CURRENT_DIRS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*)
+
 if(NOT ENABLE_TEST AND NOT BENCHMARK)
     list(REMOVE_ITEM CURRENT_DIRS tests)
 endif()
+
 foreach(SUB_DIR ${CURRENT_DIRS})
     if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${SUB_DIR}/CMakeLists.txt")
         add_subdirectory(${SUB_DIR})
     endif()
 endforeach()
+
+set(SUPPORT_COMPUTE_UNIT "ascend950")
+
+set(SUPPORT_TILING_DIR "arch35")
+
+add_all_modules_sources(OPTYPE crop ACLNNTYPE aclnn_exclude COMPUTE_UNIT ${SUPPORT_COMPUTE_UNIT} TILING_DIR ${SUPPORT_TILING_DIR} DISABLE_IN_OPP TRUE)
--- a/image/crop/op_host/CMakeLists.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright (c) 2026 Huawei Technologies Co., Ltd.
-# ...
-# Generated By CANNBot
-
-add_modules_sources(OPTYPE crop ACLNNTYPE aclnn_exclude)

验证结果

验证项 结果 说明
UT 编译 ✅ 通过 bash build.sh -u --ops=crop --soc=ascend950,7个测试全部通过
Run 包编译 ✅ 通过 bash build.sh --pkg --ops=crop --soc=ascend950
Example 测试 ✅ 通过 test_geir_crop 精度验证通过
TTK 黑盒测试(阶段1+2) ✅ 通过 10种 dtype 组合全部通过,BIN/DYN/CST 三模式均 PASS

需求建议

建议将此构建配置统一模式推广到 ops-cv 仓库其他算子,实现:

  1. 统一构建入口:每个算子顶层 CMakeLists.txt 使用 add_all_modules_sources() 统一管理
  2. 消除冗余:删除 op_host/CMakeLists.txt 子目录级构建声明
  3. 显式元信息:在顶层统一声明 COMPUTE_UNIT、TILING_DIR 等参数

关联提交

  • commit: 8e96cb0f78f6d77550b3b6cd21d129381363920f
  • 提交信息: [CANNBot]重构Crop算子构建配置为add_all_modules_sources统一模式
  • 仓库: cann/ops-cv
  • 算子路径: image/crop/
likedislike
吴成文吴成文
8月3日 添加了label:requirement
吴成文吴成文
8月3日 修改了issue 的描述
吴成文
吴成文
8月3日 评论:
likedislike
CANN-robotCANN-robot成员
8月3日 将 wuchengwen_oh 设为负责人
CANN-robotCANN-robot成员
8月3日 关闭了 issue
CANN-robotCANN-robot成员
8月3日 添加了label:resolved