| @@ -814,8 +814,7 @@ if(MGE_WITH_CUDA) | |||||
| list(APPEND MGE_CUDA_LIBS ${TRT_LIBRARY} ${TRT_PLUGIN_LIBRARY}) | list(APPEND MGE_CUDA_LIBS ${TRT_LIBRARY} ${TRT_PLUGIN_LIBRARY}) | ||||
| else() | else() | ||||
| if(TensorRT_VERSION_MAJOR GREATER_EQUAL 8) | if(TensorRT_VERSION_MAJOR GREATER_EQUAL 8) | ||||
| list(APPEND MGE_CUDA_LIBS -Wl,--whole-archive libnvinfer.so | |||||
| libnvinfer_plugin.so -Wl,--no-whole-archive) | |||||
| list(APPEND MGE_CUDA_LIBS libnvinfer libnvinfer_plugin) | |||||
| else() | else() | ||||
| list(APPEND MGE_CUDA_LIBS -Wl,--whole-archive libnvinfer libnvinfer_plugin | list(APPEND MGE_CUDA_LIBS -Wl,--whole-archive libnvinfer libnvinfer_plugin | ||||
| -Wl,--no-whole-archive) | -Wl,--no-whole-archive) | ||||
| @@ -36,7 +36,6 @@ else() | |||||
| PATH_SUFFIXES lib lib64 | PATH_SUFFIXES lib lib64 | ||||
| DOC "TRT plugin library.") | DOC "TRT plugin library.") | ||||
| endif() | endif() | ||||
| message(STATUS "TRT_LIBRARY: ${TRT_LIBRARY}") | |||||
| if(TRT_LIBRARY STREQUAL "TRT_LIBRARY-NOTFOUND") | if(TRT_LIBRARY STREQUAL "TRT_LIBRARY-NOTFOUND") | ||||
| message( | message( | ||||
| FATAL_ERROR | FATAL_ERROR | ||||
| @@ -102,7 +101,42 @@ string(REGEX REPLACE "^#define NV_TENSORRT_PATCH ([0-9]+).*$" "\\1" | |||||
| set(TRT_VERSION_STRING | set(TRT_VERSION_STRING | ||||
| "${TensorRT_VERSION_MAJOR}.${TensorRT_VERSION_MINOR}.${TensorRT_VERSION_PATCH}") | "${TensorRT_VERSION_MAJOR}.${TensorRT_VERSION_MINOR}.${TensorRT_VERSION_PATCH}") | ||||
| if(MGE_CUDA_USE_STATIC) | |||||
| if(TensorRT_VERSION_MAJOR GREATER_EQUAL 8 AND NOT (MSVC OR WIN32)) | |||||
| set(TRT_LIBRARY "TRT_LIBRARY-NOTFOUND") | |||||
| set(TRT_PLUGIN_LIBRARY "TRT_PLUGIN_LIBRARY-NOTFOUND") | |||||
| find_library( | |||||
| TRT_LIBRARY | |||||
| NAMES libnvinfer.so nvinfer | |||||
| PATHS ${ALTER_LD_LIBRARY_PATHS} ${TRT_ROOT_DIR} ${CMAKE_INSTALL_PREFIX} | |||||
| HINTS ${ALTER_LIBRARY_PATHS} | |||||
| PATH_SUFFIXES lib lib64 | |||||
| DOC "TRT library.") | |||||
| find_library( | |||||
| TRT_PLUGIN_LIBRARY | |||||
| NAMES libnvinfer_plugin.so nvinfer_plugin | |||||
| PATHS ${ALTER_LD_LIBRARY_PATHS} ${TRT_ROOT_DIR} ${CMAKE_INSTALL_PREFIX} | |||||
| HINTS ${ALTER_LIBRARY_PATHS} | |||||
| PATH_SUFFIXES lib lib64 | |||||
| DOC "TRT plugin library.") | |||||
| message(STATUS "TensorRT8 has been changed to dynamic linking") | |||||
| if(TRT_LIBRARY STREQUAL "TRT_LIBRARY-NOTFOUND") | |||||
| message( | |||||
| FATAL_ERROR | |||||
| "Can not find TensorRT Library, please refer to scripts/cmake-build/BUILD_README.md to init TRT env" | |||||
| ) | |||||
| endif() | |||||
| if(TRT_PLUGIN_LIBRARY STREQUAL "TRT_PLUGIN_LIBRARY-NOTFOUND") | |||||
| message( | |||||
| FATAL_ERROR | |||||
| "Can not find TensorRT Plugin Library, please refer to scripts/cmake-build/BUILD_README.md to init TRT env" | |||||
| ) | |||||
| endif() | |||||
| endif() | |||||
| message(STATUS "TRT_LIBRARY: ${TRT_LIBRARY}") | |||||
| if(MGE_CUDA_USE_STATIC AND NOT (TensorRT_VERSION_MAJOR GREATER_EQUAL 8 | |||||
| AND NOT (MSVC OR WIN32))) | |||||
| add_library(libnvinfer STATIC IMPORTED) | add_library(libnvinfer STATIC IMPORTED) | ||||
| add_library(libnvinfer_plugin STATIC IMPORTED) | add_library(libnvinfer_plugin STATIC IMPORTED) | ||||
| else() | else() | ||||
| @@ -235,8 +235,6 @@ function prepare_env_for_windows_build() { | |||||
| export CUDA_BIN_PATH=$CUDA_PATH | export CUDA_BIN_PATH=$CUDA_PATH | ||||
| export PC_CUDNN_INCLUDE_DIRS=$NIVIDA_INSTALL_PRE/${CUDNN_V}/cuda/include | export PC_CUDNN_INCLUDE_DIRS=$NIVIDA_INSTALL_PRE/${CUDNN_V}/cuda/include | ||||
| export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NIVIDA_INSTALL_PRE/${TRT_V}/lib:$NIVIDA_INSTALL_PRE/CUDA/${CUDA_V}/lib/x64:$NIVIDA_INSTALL_PRE/${CUDNN_V}/cuda/lib/x64 | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NIVIDA_INSTALL_PRE/${TRT_V}/lib:$NIVIDA_INSTALL_PRE/CUDA/${CUDA_V}/lib/x64:$NIVIDA_INSTALL_PRE/${CUDNN_V}/cuda/lib/x64 | ||||
| export CPATH=$CPATH:$NIVIDA_INSTALL_PRE/${TRT_V}/include:$NIVIDA_INSTALL_PRE/CUDA/${CUDA_V}/include:$NIVIDA_INSTALL_PRE/CUDA/${CUDA_V}/include/nvtx3:$PC_CUDNN_INCLUDE_DIRS | |||||
| export LIBRARY_PATH=$LIBRARY_PATH:$LD_LIBRARY_PATH | |||||
| export INCLUDE=$INCLUDE:$CPATH | export INCLUDE=$INCLUDE:$CPATH | ||||
| export CUDNN_ROOT_DIR=${NIVIDA_INSTALL_PRE}/${CUDNN_V}/cuda | export CUDNN_ROOT_DIR=${NIVIDA_INSTALL_PRE}/${CUDNN_V}/cuda | ||||
| export TRT_ROOT_DIR=${NIVIDA_INSTALL_PRE}/${TRT_V} | export TRT_ROOT_DIR=${NIVIDA_INSTALL_PRE}/${TRT_V} | ||||
| @@ -2,9 +2,7 @@ FROM quay.io/pypa/manylinux2014_x86_64:2020-12-31-56195b3 | |||||
| ENV UID=1024 \ | ENV UID=1024 \ | ||||
| PATH=${PATH}:/usr/local/cuda/bin \ | PATH=${PATH}:/usr/local/cuda/bin \ | ||||
| LIBRARY_PATH=${LIBRARY_PATH}:/usr/local/cuda/lib64:/usr/local/cuda/lib64/stubs:/opt/cudnn/lib64:/opt/tensorrt/lib \ | |||||
| LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda/lib64:/usr/local/cuda/lib64/stubs:/opt/cudnn/lib64:/opt/tensorrt/lib \ | |||||
| CPATH=${CPATH}:/usr/local/cuda/include:/opt/cudnn/include:/opt/tensorrt/include | |||||
| LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda/lib64:/usr/local/cuda/lib64/stubs:/opt/cudnn/lib64:/opt/tensorrt/lib | |||||
| ARG platform | ARG platform | ||||
| COPY setup_mirror.sh . | COPY setup_mirror.sh . | ||||