cmake cudnn fix
This commit is contained in:
@@ -20,6 +20,8 @@ SET(CUDA_SEPARABLE_COMPILATION ON)
|
|||||||
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} --maxrregcount=32)
|
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} --maxrregcount=32)
|
||||||
|
|
||||||
find_package(CUDNN REQUIRED)
|
find_package(CUDNN REQUIRED)
|
||||||
|
include_directories(${CUDNN_INCLUDE_DIR})
|
||||||
|
|
||||||
|
|
||||||
# compile
|
# compile
|
||||||
file(GLOB tkdnn_CUSRC "src/kernels/*.cu" "src/sorting.cu")
|
file(GLOB tkdnn_CUSRC "src/kernels/*.cu" "src/sorting.cu")
|
||||||
|
|||||||
+58
-25
@@ -1,33 +1,66 @@
|
|||||||
# Find the header files
|
# find the library
|
||||||
|
if(CUDA_FOUND)
|
||||||
|
find_cuda_helper_libs(cudnn)
|
||||||
|
set(CUDNN_LIBRARY ${CUDA_cudnn_LIBRARY} CACHE FILEPATH "location of the cuDNN library")
|
||||||
|
unset(CUDA_cudnn_LIBRARY CACHE)
|
||||||
|
|
||||||
|
find_cuda_helper_libs(nvinfer)
|
||||||
|
set(NVINFER_LIBRARY ${CUDA_nvinfer_LIBRARY} CACHE FILEPATH "location of the nvinfer library")
|
||||||
|
unset(CUDA_nvinfer_LIBRARY CACHE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# find the include
|
||||||
|
if(CUDNN_LIBRARY)
|
||||||
find_path(CUDNN_INCLUDE_DIR
|
find_path(CUDNN_INCLUDE_DIR
|
||||||
${CMAKE_SYSROOT}/usr/local/include
|
cudnn.h
|
||||||
${CMAKE_SYSROOT}/usr/include
|
PATHS ${CUDA_TOOLKIT_INCLUDE}
|
||||||
/usr/local/nvidia/tensorrt/include/
|
DOC "location of cudnn.h"
|
||||||
NO_DEFAULT_PATH
|
NO_DEFAULT_PATH
|
||||||
)
|
)
|
||||||
|
|
||||||
set(OLD_ROOT ${CMAKE_FIND_ROOT_PATH})
|
if(NOT CUDNN_INCLUDE_DIR)
|
||||||
list(APPEND CMAKE_FIND_ROOT_PATH /)
|
find_path(CUDNN_INCLUDE_DIR
|
||||||
list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .so.7)
|
cudnn.h
|
||||||
list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES .so.5)
|
DOC "location of cudnn.h"
|
||||||
find_library(CUDNN_LIB
|
|
||||||
NAMES cudnn
|
|
||||||
PATHS
|
|
||||||
/usr/local/driveworks/targets/${CMAKE_SYSTEM_PROCESSOR}-Linux/lib
|
|
||||||
/usr/lib/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/
|
|
||||||
NO_DEFAULT_PATH
|
|
||||||
)
|
)
|
||||||
find_library(CUDNN_NVLIB
|
endif()
|
||||||
NAMES "nvinfer"
|
|
||||||
PATHS
|
message("-- Found CUDNN: " ${CUDNN_LIBRARY})
|
||||||
/usr/local/driveworks/targets/${CMAKE_SYSTEM_PROCESSOR}-Linux/lib
|
message("-- Found CUDNN include: " ${CUDNN_INCLUDE_DIR})
|
||||||
/usr/lib/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu/
|
endif()
|
||||||
NO_DEFAULT_PATH
|
|
||||||
)
|
if(NVINFER_LIBRARY)
|
||||||
set(CMAKE_FIND_ROOT_PATH ${OLD_ROOT})
|
find_path(NVINFER_INCLUDE_DIR
|
||||||
|
NvInfer.h
|
||||||
|
PATHS ${CUDA_TOOLKIT_INCLUDE}
|
||||||
|
DOC "location of NvInfer.h"
|
||||||
|
NO_DEFAULT_PATH
|
||||||
|
)
|
||||||
|
|
||||||
|
if(NOT NVINFER_INCLUDE_DIR)
|
||||||
|
find_path(NVINFER_INCLUDE_DIR
|
||||||
|
NvInfer.h
|
||||||
|
DOC "location of NvInfer.h"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
message("-- Found NVINFER: " ${NVINFER_LIBRARY})
|
||||||
|
message("-- Found NVINFER include: " ${NVINFER_INCLUDE_DIR})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(CUDNN
|
||||||
|
FOUND_VAR CUDNN_FOUND
|
||||||
|
REQUIRED_VARS
|
||||||
|
CUDNN_LIBRARY
|
||||||
|
CUDNN_INCLUDE_DIR
|
||||||
|
VERSION_VAR CUDNN_VERSION
|
||||||
|
)
|
||||||
|
|
||||||
|
if(CUDNN_FOUND)
|
||||||
|
set(CUDNN_LIBRARIES ${CUDNN_LIBRARY} ${NVINFER_LIBRARY})
|
||||||
|
set(CUDNN_INCLUDE_DIRS ${CUDNN_INCLUDE_DIR} ${NVINFER_INCLUDE_DIR})
|
||||||
|
endif()
|
||||||
|
|
||||||
set(CUDNN_LIBRARIES ${CUDNN_LIB} ${CUDNN_NVLIB})
|
|
||||||
message("-- Found CUDNN: " ${CUDNN_LIB})
|
|
||||||
message("-- Found NVINFER: " ${CUDNN_NVLIB})
|
|
||||||
set(CUDNN_FOUND true)
|
set(CUDNN_FOUND true)
|
||||||
Reference in New Issue
Block a user