ops-nn 仓库中部分算子的 op_api 实现代码位于 op_host/op_api/ 子目录下,与其他算子的组织方式不一致;各算子根目录 CMakeLists.txt 通过 file(GLOB) + add_subdirectory 递归收集子目录,构建配置分散在 op_host/CMakeLists.txt 中。本需求将 7 个算子的 op_api 目录统一移动至算子根目录 op_api/,并将算子根目录 CMakeLists.txt 统一为 add_modules_sources 构建方式。
op_host/op_api/
file(GLOB)
add_subdirectory
op_host/CMakeLists.txt
op_api/
add_modules_sources
涉及算子:apply_top_k_top_p_with_sorted、embedding_bag、linear_index、linear_index_v2、fused_cross_entropy_loss_with_max_sum、fake_quant_affine_cachemask、single_layer_lstm_grad。
ops-nn 仓库开发者提出(见 PR https://gitcode.com/cann/ops-nn/pull/8840)。
统一 ops-nn 仓库 op_api 代码的组织结构,消除 op_host/op_api/ 冗余层级;统一算子构建配置(add_modules_sources),简化 CMake 维护与后续算子开发。
add_modules_sources(HOSTNAME ${OPHOST_NAME} MODE PRIVATE DIR ${CMAKE_CURRENT_SOURCE_DIR} OPTYPE <op_name> ACLNNTYPE aclnn_exclude)
classify_rule.yaml
关联 PR:https://gitcode.com/cann/ops-nn/pull/8840
/assign @Nice_try
Backgroud(背景信息)
ops-nn 仓库中部分算子的 op_api 实现代码位于
op_host/op_api/子目录下,与其他算子的组织方式不一致;各算子根目录 CMakeLists.txt 通过file(GLOB)+add_subdirectory递归收集子目录,构建配置分散在op_host/CMakeLists.txt中。本需求将 7 个算子的 op_api 目录统一移动至算子根目录op_api/,并将算子根目录 CMakeLists.txt 统一为add_modules_sources构建方式。涉及算子:apply_top_k_top_p_with_sorted、embedding_bag、linear_index、linear_index_v2、fused_cross_entropy_loss_with_max_sum、fake_quant_affine_cachemask、single_layer_lstm_grad。
Origin(信息来源)
ops-nn 仓库开发者提出(见 PR https://gitcode.com/cann/ops-nn/pull/8840)。
Benefit / Necessity (价值/作用)
统一 ops-nn 仓库 op_api 代码的组织结构,消除
op_host/op_api/冗余层级;统一算子构建配置(add_modules_sources),简化 CMake 维护与后续算子开发。Design(设计方案)
op_host/op_api/目录整体移动至算子根目录op_api/(纯移动);op_host/CMakeLists.txt,算子根目录 CMakeLists.txt 统一调用add_modules_sources(HOSTNAME ${OPHOST_NAME} MODE PRIVATE DIR ${CMAKE_CURRENT_SOURCE_DIR} OPTYPE <op_name> ACLNNTYPE aclnn_exclude);classify_rule.yaml中 linear_index_v2 的 op_api 路径。关联 PR:https://gitcode.com/cann/ops-nn/pull/8840