mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-07 01:22:59 +08:00

* Add poros backend * Add torch lib * Add python3 lib * set c++ 14 for poros * fixed bugs * fixed grammer bugs * fixed grammer bugs * fixed code bugs * fixed code bugs * fixed CreatePorosValue bug * Add AtType2String for Log * fixed trt_option * fixed poros.cmake path * fixed grammer bug * fixed grammer bug * fixed ambiguous reference * fixed ambiguous reference * fixed reference error * fixed include files * rm ENABLE_TRT_BACKEND in poros * update CMakeLists.txt * fixed CMakeLists.txt * Add libtorch.so in CMakeLists.txt * Fixed CMakeLists.txt * Fixed CMakeLists.txt * Fixed copy bug * Fixed copy bug * Fixed copy bug * Fixed Cmake * Fixed Cmake * debug * debug * debug * debug * debug * debug * debug utils * debug utils * copy to cpu * rm log info * test share mem * test share mem * test share mem * test multi outputs * test multi outputs * test multi outputs * test multi outputs * test multi outputs * test multi outputs * test multi outputs * time cost * time cost * fixed bug * time collect * mem copy * mem copy * rm time log * rm share mem * fixed multi inputs bug * add set_input_dtypes func * add SetInputDtypes * fixed bug * fixed bug * fixed prewarm data order * debug * debug * debug * debug * debug * debug * debug * debug * debug * debug * debug * fixed bug * Add compile func * Add compile func * Add compile func * Add is_dynamic option * Add is_dynamic option * Add is_dynamic option * Add is_dynamic option * rm infer log * add cuda11.6 poros lib * fixed bug * fixed bug * fixed multi outputs * fixed multi outputs * fixed multi outputs * fixed multi outputs * fixed multi outputs * fixed multi outputs * fixed multi outputs * fixed multi outputs * fixed multi outputs * fixed multi outputs * fixed multi outputs * rm logs * test * test * test * add test log * add test log * add test log * add test log * support cpu * support cpu * support cpu * support cpu * support member variable definition * rm useless log * fixed name * resolve conflict * resolve conflict * resolve conflict * fixed cmake * add GetInputInfos&GetOutputInfos * add GetInputInfos&GetOutputInfos * fixed bug * fixed runtime.py * add compile func * add np * deal with comments * rm to_inter func * add property
77 lines
2.7 KiB
CMake
Executable File
77 lines
2.7 KiB
CMake
Executable File
# Copyright (c) 2022 PaddlePaddle Authors. All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
include(ExternalProject)
|
|
|
|
set(POROS_PROJECT "extern_poros")
|
|
set(POROS_PREFIX_DIR ${THIRD_PARTY_PATH}/poros)
|
|
set(POROS_SOURCE_DIR
|
|
${THIRD_PARTY_PATH}/poros/src/${POROS_PROJECT})
|
|
set(POROS_INSTALL_DIR ${THIRD_PARTY_PATH}/install/poros)
|
|
set(POROS_INC_DIR
|
|
"${POROS_INSTALL_DIR}/include"
|
|
CACHE PATH "poros include directory." FORCE)
|
|
set(POROS_LIB_DIR
|
|
"${POROS_INSTALL_DIR}/lib/"
|
|
CACHE PATH "poros lib directory." FORCE)
|
|
set(CMAKE_BUILD_RPATH "${CMAKE_BUILD_RPATH}"
|
|
"${POROS_LIB_DIR}")
|
|
|
|
include_directories(${POROS_INC_DIR})
|
|
if(WIN32)
|
|
message(FATAL_ERROR "Poros Backend doesn't support Windows now.")
|
|
elseif(APPLE)
|
|
message(FATAL_ERROR "Poros Backend doesn't support Mac OSX now.")
|
|
else()
|
|
set(POROS_COMPILE_LIB
|
|
"${POROS_INSTALL_DIR}/lib/libporos.so"
|
|
CACHE FILEPATH "poros compile library." FORCE)
|
|
endif(WIN32)
|
|
|
|
set(POROS_URL_BASE "https://bj.bcebos.com/fastdeploy/third_libs/")
|
|
set(POROS_VERSION "0.1.0")
|
|
if(WIN32)
|
|
message(FATAL_ERROR "Poros Backend doesn't support Windows now.")
|
|
elseif(APPLE)
|
|
message(FATAL_ERROR "Poros Backend doesn't support Mac OSX now.")
|
|
else()
|
|
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64")
|
|
message(FATAL_ERROR "Poros Backend doesn't support linux aarch64 now.")
|
|
set(POROS_FILE "poros-linux-aarch64-${POROS_VERSION}.tgz")
|
|
else()
|
|
set(POROS_FILE "poros-linux-x64-${POROS_VERSION}.tgz")
|
|
if(WITH_GPU)
|
|
set(POROS_FILE "poros-linux-x64-gpu-${POROS_VERSION}.tgz")
|
|
endif()
|
|
endif()
|
|
endif()
|
|
set(POROS_URL "${POROS_URL_BASE}${POROS_FILE}")
|
|
|
|
ExternalProject_Add(
|
|
${POROS_PROJECT}
|
|
${EXTERNAL_PROJECT_LOG_ARGS}
|
|
URL ${POROS_URL}
|
|
PREFIX ${POROS_PREFIX_DIR}
|
|
DOWNLOAD_NO_PROGRESS 1
|
|
CONFIGURE_COMMAND ""
|
|
BUILD_COMMAND ""
|
|
UPDATE_COMMAND ""
|
|
INSTALL_COMMAND
|
|
${CMAKE_COMMAND} -E copy_directory ${POROS_SOURCE_DIR} ${POROS_INSTALL_DIR}
|
|
BUILD_BYPRODUCTS ${POROS_COMPILE_LIB})
|
|
|
|
add_library(external_poros STATIC IMPORTED GLOBAL)
|
|
set_property(TARGET external_poros PROPERTY IMPORTED_LOCATION
|
|
${POROS_COMPILE_LIB})
|
|
add_dependencies(external_poros ${POROS_PROJECT})
|