@@ -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 . | ||||