已合并
feat(aicpu): AICPU built-in整包准入manifest机制 #5693
liu-wei创建于 9月15日
feat(aicpu): AICPU built-in整包准入manifest机制 #5693
已合并
共 8 个文件变更+130-30
| @@ -126,6 +126,8 @@ add_cann_version_info_targets() | |||
| 126 | # =================================================== | 126 | # =================================================== |
| 127 | init_tf_plugin_modules() | 127 | init_tf_plugin_modules() |
| 128 | 128 | ||
| 129 | +include(cmake/config/aicpu_builtin_package_manifest.cmake) | ||
| 130 | + | ||
| 129 | add_subdirectory(common) | 131 | add_subdirectory(common) |
| 130 | if(ENABLE_EXPERIMENTAL) | 132 | if(ENABLE_EXPERIMENTAL) |
| 131 | add_subdirectory(experimental) | 133 | add_subdirectory(experimental) |
| @@ -0,0 +1,20 @@ | |||
| 1 | +# ---------------------------------------------------------------------------- | ||
| 2 | +# Copyright (c) 2026 Huawei Technologies Co., Ltd. | ||
| 3 | +# This program is free software, you can redistribute it and/or modify it under the terms and conditions of | ||
| 4 | +# CANN Open Software License Agreement Version 2.0 (the "License"). | ||
| 5 | +# Please refer to the License for details. You may not use this file except in compliance with the License. | ||
| 6 | +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, | ||
| 7 | +# INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. | ||
| 8 | +# See LICENSE in the root of the software repository for the full text of the License. | ||
| 9 | +# ---------------------------------------------------------------------------- | ||
| 10 | + | ||
| 11 | +# AICPU built-in package manifest | ||
| 12 | +# Default is OFF for all AICPU ops; only list ON entries here. | ||
| 13 | +# Key is op name (e.g. "log", "cumsum"). | ||
| 14 | +# To enable all AICPU ops in built-in package, set FORCE_ALL to ON. | ||
| 15 | + | ||
| 16 | +set(AICPU_BUILTIN_PACKAGE_FORCE_ALL OFF) | ||
| 17 | + | ||
| 18 | +set(AICPU_BUILTIN_PACKAGE_MANIFEST | ||
| 19 | + # Add entries like "new_op=ON" when new AICPU ops should be packaged in built-in. | ||
| 20 | +) | ||
| @@ -778,23 +778,45 @@ macro(add_all_modules_sources) | |||
| 778 | file(GLOB AICPU_SRCS ${SOURCE_DIR}/op_kernel_aicpu/*_aicpu.cpp) | 778 | file(GLOB AICPU_SRCS ${SOURCE_DIR}/op_kernel_aicpu/*_aicpu.cpp) |
| 779 | file(GLOB AICPU_OP_DEF_SRCS ${SOURCE_DIR}/op_kernel_aicpu/*_aicpu_def.cpp) | 779 | file(GLOB AICPU_OP_DEF_SRCS ${SOURCE_DIR}/op_kernel_aicpu/*_aicpu_def.cpp) |
| 780 | file(GLOB AICPU_JSON_FILES ${SOURCE_DIR}/op_kernel_aicpu/*.json) | 780 | file(GLOB AICPU_JSON_FILES ${SOURCE_DIR}/op_kernel_aicpu/*.json) |
| 781 | - if(AICPU_OP_DEF_SRCS) | 781 | + |
| 782 | + # AICPU built-in package manifest: check if this op is allowed in built-in package | ||
| 783 | + # Only affects device-side AICPU (.so + json); host constant folding is not affected. | ||
| 784 | + # Key is op name (e.g. "log", "cumsum") | ||
| 785 | + set(_AICPU_BUILTIN_PKG_ALLOWED OFF) | ||
| 786 | + if(AICPU_BUILTIN_PACKAGE_FORCE_ALL) | ||
| 787 | + set(_AICPU_BUILTIN_PKG_ALLOWED ON) | ||
| 788 | + else() | ||
| 789 | + foreach(_entry ${AICPU_BUILTIN_PACKAGE_MANIFEST}) | ||
| 790 | + if(_entry STREQUAL "${OP_NAME}=ON") | ||
| 791 | + set(_AICPU_BUILTIN_PKG_ALLOWED ON) | ||
| 792 | + break() | ||
| 793 | + endif() | ||
| 794 | + endforeach() | ||
| 795 | + endif() | ||
| 796 | + | ||
| 797 | + if(AICPU_OP_DEF_SRCS AND (ENABLE_CUSTOM OR _AICPU_BUILTIN_PKG_ALLOWED)) | ||
| 782 | set_property(GLOBAL APPEND PROPERTY AICPU_OPDEF_FILES ${AICPU_OP_DEF_SRCS}) | 798 | set_property(GLOBAL APPEND PROPERTY AICPU_OPDEF_FILES ${AICPU_OP_DEF_SRCS}) |
| 783 | endif() | 799 | endif() |
| 784 | - if(AICPU_JSON_FILES) | 800 | + if(AICPU_JSON_FILES AND (ENABLE_CUSTOM OR _AICPU_BUILTIN_PKG_ALLOWED)) |
| 785 | set_property(GLOBAL APPEND PROPERTY AICPU_JSON_FILES ${AICPU_JSON_FILES}) | 801 | set_property(GLOBAL APPEND PROPERTY AICPU_JSON_FILES ${AICPU_JSON_FILES}) |
| 786 | endif() | 802 | endif() |
| 787 | - if(ENABLE_CUSTOM AND AICPU_SRCS AND NOT DISABLE_AICPU) | 803 | + |
| 788 | - if(NOT BUILD_WITH_INSTALLED_DEPENDENCY_CANN_PKG) | 804 | + if(AICPU_SRCS AND NOT DISABLE_AICPU) |
| 789 | - add_aicpu_kernel_modules() | 805 | + if(ENABLE_CUSTOM) |
| 790 | - target_sources(${OPHOST_NAME}_aicpu_obj PRIVATE ${AICPU_SRCS}) | 806 | + if(NOT BUILD_WITH_INSTALLED_DEPENDENCY_CANN_PKG) |
| 791 | - else() | 807 | + add_aicpu_kernel_modules() |
| 808 | + target_sources(${OPHOST_NAME}_aicpu_obj PRIVATE ${AICPU_SRCS}) | ||
| 809 | + else() | ||
| 810 | + add_aicpu_cust_kernel_modules(${OP_NAME} "${AICPU_SRCS}") | ||
| 811 | + endif() | ||
| 812 | + elseif(_AICPU_BUILTIN_PKG_ALLOWED AND BUILD_WITH_INSTALLED_DEPENDENCY_CANN_PKG) | ||
| 792 | add_aicpu_cust_kernel_modules(${OP_NAME} "${AICPU_SRCS}") | 813 | add_aicpu_cust_kernel_modules(${OP_NAME} "${AICPU_SRCS}") |
| 793 | endif() | 814 | endif() |
| 794 | endif() | 815 | endif() |
| 795 | 816 | ||
| 796 | # Host-side constant folding: compile aicpu source as x86 OBJECT for libopconstant_folding_math.so | 817 | # Host-side constant folding: compile aicpu source as x86 OBJECT for libopconstant_folding_math.so |
| 797 | # Only enabled when HOSTCPU TRUE is passed to add_all_modules_sources | 818 | # Only enabled when HOSTCPU TRUE is passed to add_all_modules_sources |
| 819 | + # Not subject to manifest control — preserves existing behavior | ||
| 798 | if(MODULE_HOSTCPU AND BUILD_WITH_INSTALLED_DEPENDENCY_CANN_PKG AND NOT ENABLE_CUSTOM) | 820 | if(MODULE_HOSTCPU AND BUILD_WITH_INSTALLED_DEPENDENCY_CANN_PKG AND NOT ENABLE_CUSTOM) |
| 799 | file(GLOB AICPU_HOST_SRCS ${SOURCE_DIR}/op_kernel_aicpu/*_aicpu.cpp) | 821 | file(GLOB AICPU_HOST_SRCS ${SOURCE_DIR}/op_kernel_aicpu/*_aicpu.cpp) |
| 800 | if(AICPU_HOST_SRCS AND NOT DISABLE_AICPU) | 822 | if(AICPU_HOST_SRCS AND NOT DISABLE_AICPU) |
| @@ -626,6 +626,11 @@ function(gen_norm_symbol) | |||
| 626 | gen_tf_plugin_symbol() | 626 | gen_tf_plugin_symbol() |
| 627 | 627 | ||
| 628 | gen_aicpu_const_symbol() | 628 | gen_aicpu_const_symbol() |
| 629 | + | ||
| 630 | + if(NOT DISABLE_AICPU AND ENABLE_PACKAGE) | ||
| 631 | + gen_aicpu_json_symbol(TRUE) | ||
| 632 | + gen_aicpu_kernel_symbol(TRUE) | ||
| 633 | + endif() | ||
| 629 | endfunction() | 634 | endfunction() |
| 630 | 635 | ||
| 631 | function(gen_cust_symbol) | 636 | function(gen_cust_symbol) |
| @@ -9,14 +9,32 @@ | |||
| 9 | # ---------------------------------------------------------------------------- | 9 | # ---------------------------------------------------------------------------- |
| 10 | 10 | ||
| 11 | file(GLOB IDENTITY_AICPU_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*_aicpu*.cpp) | 11 | file(GLOB IDENTITY_AICPU_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*_aicpu*.cpp) |
| 12 | -if(IDENTITY_AICPU_SRCS) | 12 | +file(GLOB IDENTITY_AICPU_OP_DEF_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*_aicpu_def.cpp) |
| 13 | +file(GLOB IDENTITY_AICPU_JSON_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.json) | ||
| 14 | +get_filename_component(PARENT_DIR ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY) | ||
| 15 | +get_filename_component(OP_NAME ${PARENT_DIR} NAME) | ||
| 16 | +set(_AICPU_BUILTIN_PKG_ALLOWED OFF) | ||
| 17 | +if(AICPU_BUILTIN_PACKAGE_FORCE_ALL) | ||
| 18 | + set(_AICPU_BUILTIN_PKG_ALLOWED ON) | ||
| 19 | +else() | ||
| 20 | + foreach(_entry ${AICPU_BUILTIN_PACKAGE_MANIFEST}) | ||
| 21 | + if(_entry STREQUAL "${OP_NAME}=ON") | ||
| 22 | + set(_AICPU_BUILTIN_PKG_ALLOWED ON) | ||
| 23 | + break() | ||
| 24 | + endif() | ||
| 25 | + endforeach() | ||
| 26 | +endif() | ||
| 27 | +if(IDENTITY_AICPU_OP_DEF_SRCS AND (ENABLE_CUSTOM OR _AICPU_BUILTIN_PKG_ALLOWED)) | ||
| 28 | + set_property(GLOBAL APPEND PROPERTY AICPU_OPDEF_FILES ${IDENTITY_AICPU_OP_DEF_SRCS}) | ||
| 29 | +endif() | ||
| 30 | +if(IDENTITY_AICPU_JSON_FILES AND (ENABLE_CUSTOM OR _AICPU_BUILTIN_PKG_ALLOWED)) | ||
| 31 | + set_property(GLOBAL APPEND PROPERTY AICPU_JSON_FILES ${IDENTITY_AICPU_JSON_FILES}) | ||
| 32 | +endif() | ||
| 33 | +if(IDENTITY_AICPU_SRCS AND NOT DISABLE_AICPU) | ||
| 13 | if(NOT BUILD_WITH_INSTALLED_DEPENDENCY_CANN_PKG) | 34 | if(NOT BUILD_WITH_INSTALLED_DEPENDENCY_CANN_PKG) |
| 14 | add_aicpu_kernel_modules() | 35 | add_aicpu_kernel_modules() |
| 15 | target_sources(${OPHOST_NAME}_aicpu_obj PRIVATE ${IDENTITY_AICPU_SRCS}) | 36 | target_sources(${OPHOST_NAME}_aicpu_obj PRIVATE ${IDENTITY_AICPU_SRCS}) |
| 16 | - else() | 37 | + elseif(ENABLE_CUSTOM OR _AICPU_BUILTIN_PKG_ALLOWED) |
| 17 | - get_filename_component(PARENT_DIR ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY) | 38 | + add_aicpu_cust_kernel_modules(${OP_NAME} "${IDENTITY_AICPU_SRCS}") |
| 18 | - get_filename_component(OP_NAME ${PARENT_DIR} NAME) | ||
| 19 | - file(GLOB IDENTITY_AICPU_JSON_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.json) | ||
| 20 | - add_aicpu_cust_kernel_modules(${OP_NAME} ${IDENTITY_AICPU_SRCS} ${IDENTITY_AICPU_JSON_FILES}) | ||
| 21 | endif() | 39 | endif() |
| 22 | -endif() | 40 | +endif() |
| @@ -2,7 +2,7 @@ | |||
| 2 | # Copyright (c) 2026 Huawei Technologies Co., Ltd. | 2 | # Copyright (c) 2026 Huawei Technologies Co., Ltd. |
| 3 | # This program is free software, you can redistribute it and/or modify it under the terms and conditions of | 3 | # This program is free software, you can redistribute it and/or modify it under the terms and conditions of |
| 4 | # CANN Open Software License Agreement Version 2.0 (the "License"). | 4 | # CANN Open Software License Agreement Version 2.0 (the "License"). |
| 5 | -# Please refer to the License for details. You may not use this file in compliance with the License. | 5 | +# Please refer to the License for details. You may not use this file except in compliance with the License. |
| 6 | # THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, | 6 | # THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, |
| 7 | # INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. | 7 | # INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. |
| 8 | # See LICENSE in the root of the software repository for the full text of the License. | 8 | # See LICENSE in the root of the software repository for the full text of the License. |
| @@ -10,16 +10,27 @@ | |||
| 10 | 10 | ||
| 11 | file(GLOB LIN_SPACE_AICPU_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*_aicpu.cpp) | 11 | file(GLOB LIN_SPACE_AICPU_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*_aicpu.cpp) |
| 12 | file(GLOB LIN_SPACE_AICPU_OP_DEF_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*_aicpu_def.cpp) | 12 | file(GLOB LIN_SPACE_AICPU_OP_DEF_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*_aicpu_def.cpp) |
| 13 | -if(LIN_SPACE_AICPU_OP_DEF_SRCS) | 13 | +get_filename_component(PARENT_DIR ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY) |
| 14 | +get_filename_component(OP_NAME ${PARENT_DIR} NAME) | ||
| 15 | +set(_AICPU_BUILTIN_PKG_ALLOWED OFF) | ||
| 16 | +if(AICPU_BUILTIN_PACKAGE_FORCE_ALL) | ||
| 17 | + set(_AICPU_BUILTIN_PKG_ALLOWED ON) | ||
| 18 | +else() | ||
| 19 | + foreach(_entry ${AICPU_BUILTIN_PACKAGE_MANIFEST}) | ||
| 20 | + if(_entry STREQUAL "${OP_NAME}=ON") | ||
| 21 | + set(_AICPU_BUILTIN_PKG_ALLOWED ON) | ||
| 22 | + break() | ||
| 23 | + endif() | ||
| 24 | + endforeach() | ||
| 25 | +endif() | ||
| 26 | +if(LIN_SPACE_AICPU_OP_DEF_SRCS AND (ENABLE_CUSTOM OR _AICPU_BUILTIN_PKG_ALLOWED)) | ||
| 14 | set_property(GLOBAL APPEND PROPERTY AICPU_OPDEF_FILES ${LIN_SPACE_AICPU_OP_DEF_SRCS}) | 27 | set_property(GLOBAL APPEND PROPERTY AICPU_OPDEF_FILES ${LIN_SPACE_AICPU_OP_DEF_SRCS}) |
| 15 | endif() | 28 | endif() |
| 16 | -if(LIN_SPACE_AICPU_SRCS) | 29 | +if(LIN_SPACE_AICPU_SRCS AND NOT DISABLE_AICPU) |
| 17 | if(NOT BUILD_WITH_INSTALLED_DEPENDENCY_CANN_PKG) | 30 | if(NOT BUILD_WITH_INSTALLED_DEPENDENCY_CANN_PKG) |
| 18 | add_aicpu_kernel_modules() | 31 | add_aicpu_kernel_modules() |
| 19 | target_sources(${OPHOST_NAME}_aicpu_obj PRIVATE ${LIN_SPACE_AICPU_SRCS}) | 32 | target_sources(${OPHOST_NAME}_aicpu_obj PRIVATE ${LIN_SPACE_AICPU_SRCS}) |
| 20 | - else() | 33 | + elseif(ENABLE_CUSTOM OR _AICPU_BUILTIN_PKG_ALLOWED) |
| 21 | - get_filename_component(PARENT_DIR ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY) | ||
| 22 | - get_filename_component(OP_NAME ${PARENT_DIR} NAME) | ||
| 23 | add_aicpu_cust_kernel_modules(${OP_NAME} "${LIN_SPACE_AICPU_SRCS}") | 34 | add_aicpu_cust_kernel_modules(${OP_NAME} "${LIN_SPACE_AICPU_SRCS}") |
| 24 | endif() | 35 | endif() |
| 25 | -endif() | 36 | +endif() |
| @@ -10,16 +10,27 @@ | |||
| 10 | 10 | ||
| 11 | file(GLOB TAN_AICPU_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*_aicpu.cpp) | 11 | file(GLOB TAN_AICPU_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*_aicpu.cpp) |
| 12 | file(GLOB TAN_AICPU_OP_DEF_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*_aicpu_def.cpp) | 12 | file(GLOB TAN_AICPU_OP_DEF_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*_aicpu_def.cpp) |
| 13 | -if(TAN_AICPU_OP_DEF_SRCS) | 13 | +get_filename_component(PARENT_DIR ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY) |
| 14 | +get_filename_component(OP_NAME ${PARENT_DIR} NAME) | ||
| 15 | +set(_AICPU_BUILTIN_PKG_ALLOWED OFF) | ||
| 16 | +if(AICPU_BUILTIN_PACKAGE_FORCE_ALL) | ||
| 17 | + set(_AICPU_BUILTIN_PKG_ALLOWED ON) | ||
| 18 | +else() | ||
| 19 | + foreach(_entry ${AICPU_BUILTIN_PACKAGE_MANIFEST}) | ||
| 20 | + if(_entry STREQUAL "${OP_NAME}=ON") | ||
| 21 | + set(_AICPU_BUILTIN_PKG_ALLOWED ON) | ||
| 22 | + break() | ||
| 23 | + endif() | ||
| 24 | + endforeach() | ||
| 25 | +endif() | ||
| 26 | +if(TAN_AICPU_OP_DEF_SRCS AND (ENABLE_CUSTOM OR _AICPU_BUILTIN_PKG_ALLOWED)) | ||
| 14 | set_property(GLOBAL APPEND PROPERTY AICPU_OPDEF_FILES ${TAN_AICPU_OP_DEF_SRCS}) | 27 | set_property(GLOBAL APPEND PROPERTY AICPU_OPDEF_FILES ${TAN_AICPU_OP_DEF_SRCS}) |
| 15 | endif() | 28 | endif() |
| 16 | -if(TAN_AICPU_SRCS) | 29 | +if(TAN_AICPU_SRCS AND NOT DISABLE_AICPU) |
| 17 | if(NOT BUILD_WITH_INSTALLED_DEPENDENCY_CANN_PKG) | 30 | if(NOT BUILD_WITH_INSTALLED_DEPENDENCY_CANN_PKG) |
| 18 | add_aicpu_kernel_modules() | 31 | add_aicpu_kernel_modules() |
| 19 | target_sources(${OPHOST_NAME}_aicpu_obj PRIVATE ${TAN_AICPU_SRCS}) | 32 | target_sources(${OPHOST_NAME}_aicpu_obj PRIVATE ${TAN_AICPU_SRCS}) |
| 20 | - else() | 33 | + elseif(ENABLE_CUSTOM OR _AICPU_BUILTIN_PKG_ALLOWED) |
| 21 | - get_filename_component(PARENT_DIR ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY) | ||
| 22 | - get_filename_component(OP_NAME ${PARENT_DIR} NAME) | ||
| 23 | add_aicpu_cust_kernel_modules(${OP_NAME} "${TAN_AICPU_SRCS}") | 34 | add_aicpu_cust_kernel_modules(${OP_NAME} "${TAN_AICPU_SRCS}") |
| 24 | endif() | 35 | endif() |
| 25 | endif() | 36 | endif() |
| @@ -10,16 +10,27 @@ | |||
| 10 | 10 | ||
| 11 | file(GLOB TOPK_AICPU_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*_aicpu.cpp) | 11 | file(GLOB TOPK_AICPU_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*_aicpu.cpp) |
| 12 | file(GLOB TOPK_AICPU_OP_DEF_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*_aicpu_def.cpp) | 12 | file(GLOB TOPK_AICPU_OP_DEF_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/*_aicpu_def.cpp) |
| 13 | -if(TOPK_AICPU_OP_DEF_SRCS) | 13 | +get_filename_component(PARENT_DIR ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY) |
| 14 | +get_filename_component(OP_NAME ${PARENT_DIR} NAME) | ||
| 15 | +set(_AICPU_BUILTIN_PKG_ALLOWED OFF) | ||
| 16 | +if(AICPU_BUILTIN_PACKAGE_FORCE_ALL) | ||
| 17 | + set(_AICPU_BUILTIN_PKG_ALLOWED ON) | ||
| 18 | +else() | ||
| 19 | + foreach(_entry ${AICPU_BUILTIN_PACKAGE_MANIFEST}) | ||
| 20 | + if(_entry STREQUAL "${OP_NAME}=ON") | ||
| 21 | + set(_AICPU_BUILTIN_PKG_ALLOWED ON) | ||
| 22 | + break() | ||
| 23 | + endif() | ||
| 24 | + endforeach() | ||
| 25 | +endif() | ||
| 26 | +if(TOPK_AICPU_OP_DEF_SRCS AND (ENABLE_CUSTOM OR _AICPU_BUILTIN_PKG_ALLOWED)) | ||
| 14 | set_property(GLOBAL APPEND PROPERTY AICPU_OPDEF_FILES ${TOPK_AICPU_OP_DEF_SRCS}) | 27 | set_property(GLOBAL APPEND PROPERTY AICPU_OPDEF_FILES ${TOPK_AICPU_OP_DEF_SRCS}) |
| 15 | endif() | 28 | endif() |
| 16 | if(TOPK_AICPU_SRCS AND NOT DISABLE_AICPU) | 29 | if(TOPK_AICPU_SRCS AND NOT DISABLE_AICPU) |
| 17 | if(NOT BUILD_WITH_INSTALLED_DEPENDENCY_CANN_PKG) | 30 | if(NOT BUILD_WITH_INSTALLED_DEPENDENCY_CANN_PKG) |
| 18 | add_aicpu_kernel_modules() | 31 | add_aicpu_kernel_modules() |
| 19 | target_sources(${OPHOST_NAME}_aicpu_obj PRIVATE ${TOPK_AICPU_SRCS}) | 32 | target_sources(${OPHOST_NAME}_aicpu_obj PRIVATE ${TOPK_AICPU_SRCS}) |
| 20 | - else() | 33 | + elseif(ENABLE_CUSTOM OR _AICPU_BUILTIN_PKG_ALLOWED) |
| 21 | - get_filename_component(PARENT_DIR ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY) | ||
| 22 | - get_filename_component(OP_NAME ${PARENT_DIR} NAME) | ||
| 23 | add_aicpu_cust_kernel_modules(${OP_NAME} "${TOPK_AICPU_SRCS}") | 34 | add_aicpu_cust_kernel_modules(${OP_NAME} "${TOPK_AICPU_SRCS}") |
| 24 | endif() | 35 | endif() |
| 25 | endif() | 36 | endif() |