mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-28 18:51:58 +08:00
Add tbb and tbb malloc dependency for openvino
This commit is contained in:
@@ -170,7 +170,6 @@ if(ENABLE_OPENVINO_BACKEND)
|
||||
add_definitions(-DENABLE_OPENVINO_BACKEND)
|
||||
list(APPEND ALL_DEPLOY_SRCS ${DEPLOY_OPENVINO_SRCS})
|
||||
include(${PROJECT_SOURCE_DIR}/cmake/openvino.cmake)
|
||||
list(APPEND DEPEND_LIBS external_openvino)
|
||||
endif()
|
||||
|
||||
if(WITH_GPU)
|
||||
|
||||
@@ -56,8 +56,23 @@ if(ENABLE_PADDLE_BACKEND)
|
||||
endif()
|
||||
|
||||
if(ENABLE_OPENVINO_BACKEND)
|
||||
find_library(OPENVINO_LIB openvino ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/openvino/lib/ NO_DEFAULT_PATH)
|
||||
list(APPEND FASTDEPLOY_LIBS ${OPENVINO_LIB})
|
||||
find_library(OPENVINO_LIB openvino ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/openvino/lib/
|
||||
${CMAKE_CURRENT_LIST_DIR}/third_libs/install/openvino/3rdparty/tbb/lib/ NO_DEFAULT_PATH)
|
||||
# Find tbb libs
|
||||
set(TBB_LIBS_PREFIX "")
|
||||
set(TBB_LIBS_SUFFIX "")
|
||||
if ((NOT WIN32) AND (NOT APPLE))
|
||||
set(TBB_LIBS_PREFIX "lib")
|
||||
set(TBB_LIBS_SUFFIX ".so.2")
|
||||
endif()
|
||||
find_library(TBB_LIB NAMES ${TBB_LIBS_PREFIX}tbb${TBB_LIBS_SUFFIX}
|
||||
PATHS ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/openvino/3rdparty/tbb/lib/ NO_DEFAULT_PATH)
|
||||
find_library(TBB_MALLOC_LIB NAMES ${TBB_LIBS_PREFIX}tbbmalloc${TBB_LIBS_SUFFIX}
|
||||
PATHS ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/openvino/3rdparty/tbb/lib/ NO_DEFAULT_PATH)
|
||||
message(STATUS "The path of openvino is ${OPENVINO_LIB}.")
|
||||
message(STATUS "The path of tbb is ${TBB_LIB}.")
|
||||
message(STATUS "The path of tbbmalloc is ${TBB_MALLOC_LIB}.")
|
||||
list(APPEND FASTDEPLOY_LIBS ${OPENVINO_LIB} ${TBB_LIB} ${TBB_MALLOC_LIB})
|
||||
endif()
|
||||
|
||||
if(WITH_GPU)
|
||||
@@ -99,8 +114,6 @@ if (ENABLE_TEXT)
|
||||
find_library(FASTER_TOKENIZER_LIB core_tokenizers ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/faster_tokenizer/lib NO_DEFAULT_PATH)
|
||||
list(APPEND FASTDEPLOY_LIBS ${FASTER_TOKENIZER_LIB})
|
||||
list(APPEND FASTDEPLOY_INCS ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/faster_tokenizer/include)
|
||||
# TODO (zhoushunjie): Will remove it later.
|
||||
list(APPEND FASTDEPLOY_INCS ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/faster_tokenizer/include/faster_tokenizer)
|
||||
list(APPEND FASTDEPLOY_INCS ${CMAKE_CURRENT_LIST_DIR}/third_libs/install/faster_tokenizer/third_party/include)
|
||||
endif()
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ else()
|
||||
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
|
||||
message("Cannot compile with openvino while in linux-aarch64 platform")
|
||||
else()
|
||||
set(OPENVINO_FILENAME "l_openvino_toolkit_ubuntu18_${OPENVINO_VERSION}")
|
||||
set(OPENVINO_FILENAME "l_openvino_toolkit_centos7_${OPENVINO_VERSION}")
|
||||
endif()
|
||||
endif()
|
||||
set(OPENVINO_URL "${OPENVINO_URL_PREFIX}${OPENVINO_FILENAME}${COMPRESSED_SUFFIX}")
|
||||
@@ -65,30 +65,34 @@ include_directories(${OPENVINO_INC_DIR})
|
||||
if(WIN32)
|
||||
set(OPENVINO_LIB
|
||||
"${OPENVINO_INSTALL_DIR}/lib/openvino.lib"
|
||||
CACHE FILEPATH "OPENVINO static library." FORCE)
|
||||
set(INSTALL_CMD "${CMAKE_COMMAND} -E remove_directory ${OPENVINO_INSTALL_DIR} &&
|
||||
CACHE FILEPATH "OPENVINO shared library." FORCE)
|
||||
set(INSTALL_CMD ${CMAKE_COMMAND} -E remove_directory ${OPENVINO_INSTALL_DIR} &&
|
||||
${CMAKE_COMMAND} -E make_directory ${OPENVINO_INSTALL_DIR} &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${OPENVINO_SOURCE_DIR}/lib/intel64/Release ${OPENVINO_INSTALL_DIR}/lib &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${OPENVINO_SOURCE_DIR}/bin/intel64/Release ${OPENVINO_INSTALL_DIR}/bin &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${OPENVINO_SOURCE_DIR}/include ${OPENVINO_INSTALL_INC_DIR} &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${OPENVINO_SOURCE_DIR}/3rdparty ${OPENVINO_INSTALL_DIR}/3rdparty")
|
||||
${CMAKE_COMMAND} -E copy_directory ${OPENVINO_SOURCE_DIR}/3rdparty ${OPENVINO_INSTALL_DIR}/3rdparty)
|
||||
elseif(APPLE)
|
||||
set(OPENVINO_LIB
|
||||
"${OPENVINO_INSTALL_DIR}/lib/libopenvino.dylib"
|
||||
CACHE FILEPATH "OPENVINO static library." FORCE)
|
||||
set(INSTALL_CMD "${CMAKE_COMMAND} -E remove_directory ${OPENVINO_INSTALL_DIR} &&
|
||||
CACHE FILEPATH "OPENVINO shared library." FORCE)
|
||||
set(INSTALL_CMD ${CMAKE_COMMAND} -E remove_directory ${OPENVINO_INSTALL_DIR} &&
|
||||
${CMAKE_COMMAND} -E make_directory ${OPENVINO_INSTALL_DIR} &&
|
||||
${CMAKE_COMMAND} -E rename ${OPENVINO_SOURCE_DIR}/lib/intel64/Release ${OPENVINO_INSTALL_DIR}/lib &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${OPENVINO_SOURCE_DIR}/include ${OPENVINO_INSTALL_INC_DIR}")
|
||||
${CMAKE_COMMAND} -E copy_directory ${OPENVINO_SOURCE_DIR}/lib/intel64/Release ${OPENVINO_INSTALL_DIR}/lib &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${OPENVINO_SOURCE_DIR}/include ${OPENVINO_INSTALL_INC_DIR} &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${OPENVINO_SOURCE_DIR}/3rdparty ${OPENVINO_INSTALL_DIR}/3rdparty)
|
||||
|
||||
else()
|
||||
set(OPENVINO_LIB
|
||||
"${OPENVINO_INSTALL_DIR}/lib/libopenvino.so"
|
||||
CACHE FILEPATH "OPENVINO static library." FORCE)
|
||||
set(INSTALL_CMD "${CMAKE_COMMAND} -E remove_directory ${OPENVINO_INSTALL_DIR} &&
|
||||
CACHE FILEPATH "OPENVINO shared library." FORCE)
|
||||
set(TBB_LIB "${OPENVINO_INSTALL_DIR}/3rdparty/tbb/lib/libtbb.so.2")
|
||||
set(TBB_MALLOC_LIB "${OPENVINO_INSTALL_DIR}/3rdparty/tbb/lib/libtbbmalloc.so.2")
|
||||
set(INSTALL_CMD ${CMAKE_COMMAND} -E remove_directory ${OPENVINO_INSTALL_DIR} &&
|
||||
${CMAKE_COMMAND} -E make_directory ${OPENVINO_INSTALL_DIR} &&
|
||||
${CMAKE_COMMAND} -E rename ${OPENVINO_SOURCE_DIR}/lib/intel64 ${OPENVINO_INSTALL_DIR}/lib &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${OPENVINO_SOURCE_DIR}/include ${OPENVINO_INSTALL_INC_DIR}")
|
||||
${CMAKE_COMMAND} -E copy_directory ${OPENVINO_SOURCE_DIR}/lib/intel64 ${OPENVINO_INSTALL_DIR}/lib &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${OPENVINO_SOURCE_DIR}/include ${OPENVINO_INSTALL_INC_DIR} &&
|
||||
${CMAKE_COMMAND} -E copy_directory ${OPENVINO_SOURCE_DIR}/3rdparty ${OPENVINO_INSTALL_DIR}/3rdparty)
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(
|
||||
@@ -105,9 +109,24 @@ ExternalProject_Add(
|
||||
|
||||
|
||||
if(UNIX)
|
||||
add_custom_target(patchelf_openvino ALL COMMAND bash -c "sh ${PROJECT_SOURCE_DIR}/scripts/patch_lib.sh ${OPENVINO_INSTALL_DIR}/lib" DEPENDS ${LIBRARY_NAME})
|
||||
if (NOT APPLE)
|
||||
add_custom_target(patchelf_openvino_tbb ALL COMMAND bash -c "patchelf --set-rpath '${ORIGIN}/../third_libs/install/openvino/3rdparty/tbb/lib' ${OPENVINO_INSTALL_DIR}/lib/*.so*" DEPENDS ${OPENVINO_PROJECT})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_library(external_openvino STATIC IMPORTED GLOBAL)
|
||||
set_property(TARGET external_openvino PROPERTY IMPORTED_LOCATION ${OPENVINO_LIB})
|
||||
add_dependencies(external_openvino ${OPENVINO_PROJECT})
|
||||
|
||||
# # TBB is a multithread lib, can accelarate openvino
|
||||
add_library(tbb STATIC IMPORTED GLOBAL)
|
||||
set_property(TARGET tbb PROPERTY IMPORTED_LOCATION ${TBB_LIB})
|
||||
add_dependencies(tbb ${OPENVINO_PROJECT})
|
||||
|
||||
add_library(tbbmalloc STATIC IMPORTED GLOBAL)
|
||||
set_property(TARGET tbbmalloc PROPERTY IMPORTED_LOCATION ${TBB_MALLOC_LIB})
|
||||
add_dependencies(tbbmalloc ${OPENVINO_PROJECT})
|
||||
|
||||
set(OPENVINO_LIBS external_openvino tbb tbbmalloc)
|
||||
|
||||
list(APPEND DEPEND_LIBS ${OPENVINO_LIBS})
|
||||
|
||||
Reference in New Issue
Block a user