已关闭
[Requirement|需求建议]: 将 op_api 目录移动至算子根目录并统一构建配置 #4875
Nice try创建于  21 天前关闭于  20 天前
Nice try
Nice try成员
21 天前 创建

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(设计方案)

  1. 将上述 7 个算子的 op_host/op_api/ 目录整体移动至算子根目录 op_api/(纯移动);
  2. 删除 7 个 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)
  3. 同步更新相关源文件与 UT 的头文件引用路径(aclnn_index_put_impl.cpp、aclnn_scatter.cpp 及 6 个 UT 测试文件);
  4. 更新 classify_rule.yaml 中 linear_index_v2 的 op_api 路径。

关联 PR:https://gitcode.com/cann/ops-nn/pull/8840

likedislike
Nice tryNice try成员
21 天前 添加了label:requirement
Nice try
Nice try成员
21 天前 评论:

/assign @Nice_try

likedislike
CANN-robotCANN-robot成员
21 天前 将 Nice_try 设为负责人
CANN-robotCANN-robot成员
20 天前 关闭了 issue
CANN-robotCANN-robot成员
20 天前 添加了label:resolved