findCUDNN
This commit is contained in:
+3
-9
@@ -18,17 +18,11 @@ find_package(CUDA 9.0 REQUIRED)
|
||||
SET(CUDA_SEPARABLE_COMPILATION ON)
|
||||
#set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -arch=sm_30 --compiler-options '-fPIC'")
|
||||
|
||||
# compile Discovery only if TensorRT is installed
|
||||
find_library(NVINFER NAMES nvinfer)
|
||||
if(NVINFER STREQUAL "NVINFER-NOTFOUND")
|
||||
set(NVINFER_INCLUDES "/usr/local/nvidia/tensorrt/include/")
|
||||
link_directories(/usr/local/nvidia/tensorrt/targets/x86_64-linux-gnu/lib/
|
||||
/usr/local/cuda/targets/x86_64-linux/lib/)
|
||||
endif()
|
||||
find_package(CUDNN REQUIRED)
|
||||
|
||||
# compile
|
||||
file(GLOB tkdnn_CUSRC "src/kernels/*.cu")
|
||||
cuda_include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${CUDA_INCLUDE_DIRS} ${NVINFER_INCLUDES})
|
||||
cuda_include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${CUDA_INCLUDE_DIRS} ${CUDNN_INCLUDE_DIRS})
|
||||
cuda_add_library(kernels SHARED ${tkdnn_CUSRC})
|
||||
|
||||
|
||||
@@ -43,7 +37,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DOPENCV")
|
||||
# Build Libraries
|
||||
#-------------------------------------------------------------------------------
|
||||
file(GLOB tkdnn_SRC "src/*.cpp")
|
||||
set(tkdnn_LIBS kernels ${CUDA_LIBRARIES} ${CUDA_CUBLAS_LIBRARIES} -lcudnn -lnvinfer ${OpenCV_LIBS})
|
||||
set(tkdnn_LIBS kernels ${CUDA_LIBRARIES} ${CUDA_CUBLAS_LIBRARIES} ${CUDNN_LIBRARIES} ${OpenCV_LIBS})
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11")
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include ${CUDA_INCLUDE_DIRS} ${OPENCV_INCLUDE_DIRS} ${NVINFER_INCLUDES})
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# Find the header files
|
||||
|
||||
find_path(CUDNN_INCLUDE_DIR
|
||||
${CMAKE_SYSROOT}/usr/local/include
|
||||
${CMAKE_SYSROOT}/usr/include
|
||||
/usr/local/nvidia/tensorrt/include/
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
set(OLD_ROOT ${CMAKE_FIND_ROOT_PATH})
|
||||
list(APPEND CMAKE_FIND_ROOT_PATH /)
|
||||
list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .so.7)
|
||||
list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .so.5)
|
||||
find_library(CUDNN_LIB
|
||||
NAMES cudnn
|
||||
PATHS
|
||||
/usr/local/driveworks-2.0/targets/${CMAKE_SYSTEM_PROCESSOR}-Linux/lib
|
||||
/usr/lib/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
find_library(CUDNN_NVLIB
|
||||
NAMES "nvinfer"
|
||||
PATHS
|
||||
/usr/local/driveworks-2.0/targets/${CMAKE_SYSTEM_PROCESSOR}-Linux/lib
|
||||
/usr/lib/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
set(CMAKE_FIND_ROOT_PATH ${OLD_ROOT})
|
||||
|
||||
set(CUDNN_LIBRARIES ${CUDNN_LIB} ${CUDNN_NVLIB})
|
||||
message("-- Found CUDNN: " ${CUDNN_LIB})
|
||||
message("-- Found NVINFER: " ${CUDNN_NVLIB})
|
||||
set(CUDNN_FOUND true)
|
||||
+5
-11
@@ -4,27 +4,21 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11 -fPIC")
|
||||
|
||||
find_package(CUDA REQUIRED)
|
||||
find_package(OpenCV REQUIRED)
|
||||
find_library(NVINFER NAMES nvinfer)
|
||||
if(NVINFER STREQUAL "NVINFER-NOTFOUND")
|
||||
set(NVINFER_INCLUDES "/usr/local/nvidia/tensorrt/include/")
|
||||
link_directories(/usr/local/nvidia/tensorrt/targets/x86_64-linux-gnu/lib/
|
||||
/usr/local/cuda/targets/x86_64-linux/lib/)
|
||||
endif()
|
||||
find_package(CUDNN REQUIRED)
|
||||
|
||||
set(tkDNN_INCLUDE_DIRS
|
||||
${CUDA_INCLUDE_DIRS}
|
||||
${OPENCV_INCLUDE_DIRS}
|
||||
${NVINFER_INCLUDES}
|
||||
${CUDNN_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
set(tkDNN_LIBRARIES
|
||||
tkDNN
|
||||
kernels
|
||||
${CUDA_LIBRARIES}
|
||||
${CUDA_CUBLAS_LIBRARIES}
|
||||
-lcudnn
|
||||
-lnvinfer
|
||||
${OpenCV_LIBS}
|
||||
${CUDA_CUBLAS_LIBRARIES}
|
||||
${CUDNN_LIBRARIES}
|
||||
${OpenCV_LIBS}
|
||||
)
|
||||
|
||||
set(tkDNN_FOUND true)
|
||||
|
||||
Reference in New Issue
Block a user