已关闭
[Requirement|需求建议]: ops-nn 移植 AICPU built-in 整包准入 manifest 机制(对齐 ops-math 口径) #6515
liu-wei创建于  15 天前关闭于  14 天前
liu-wei
liu-wei成员
15 天前 创建

Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.

Backgroud(背景信息)

ops-nn 的 AICPU 算子 built-in 整包准入目前无显式控制机制("隐式排除")。需要参考 ops-math 已上线的整包准入 manifest 机制(cann/ops-math#5693),为 ops-nn 移植白名单准入机制:通过 manifest 控制AICPU 算子是否准入 built-in 整包,默认全 OFF,算子准入由后续 PR 按需登记 xxx=ON。

Origin(信息来源)

PR #11655:feat(aicpu): AICPU built-in整包准入manifest机制
https://gitcode.com/cann/ops-nn/pull/11655

Benefit / Necessity (价值/作用)

  • 将"隐式排除"显式化为白名单机制,准入策略清晰可追溯
  • 默认行为无回退:空 manifest 下整包产物与 master 完全一致
  • 算子可按需分批准入,准入由后续 PR 登记即可

Design(设计方案)

  • 新增 cmake/config/aicpu_builtin_package_manifest.cmake 准入清单(AICPU_BUILTIN_PACKAGE_FORCE_ALL 默认 OFF + 空 manifest),进入算子子目录前 include
  • cmake/func.cmake 新增 check_aicpu_builtin_pkg_allowed() 门控 helper
  • 23 个 AICPU 算子 op_kernel_aicpu/CMakeLists.txt 的 op_def 收集与 cust obj 编译包进 if (ENABLE_CUSTOM OR _AICPU_BUILTIN_PKG_ALLOWED) 门控
  • gen_norm_symbol() 补 built-in 产出接线:NO_AICPU=OFF && ENABLE_PACKAGE=ON 时生成 aicpu_nn.json + libnn_aicpu_kernels.so(安装至 opp/built-in/op_impl/aicpu/{config,kernel})
  • 不受 manifest 控制(行为不变):ENABLE_CUSTOM(custom 包直通)、UT、host 常量折叠
  • 顺手规范化 elu、adaptive_max_pool2d 变体版权头(OAT 合规)
likedislike
liu-weiliu-wei成员
15 天前 添加了label:requirement
liu-weiliu-wei成员
15 天前 关联了pull request:feat(aicpu): AICPU built-in整包准入manifest机制
liu-weiliu-wei成员
15 天前 将 liu-wei 设为负责人
CANN-robotCANN-robot成员
14 天前 关闭了 issue
CANN-robotCANN-robot成员
14 天前 添加了label:resolved