From e928109cb4bb7d18eab08759db22e2563d756679 Mon Sep 17 00:00:00 2001 From: Junru Shao <junrushao1994@gmail.com> Date: Sun, 30 Sep 2018 23:29:33 -0400 Subject: [PATCH] [BUG] Fix incorrect libcuda.so found by cmake when multiple versions of CUDA exist (#1788) --- cmake/util/FindCUDA.cmake | 12 ++++++++++-- cmake/util/FindLLVM.cmake | 7 ++++++- cmake/util/FindROCM.cmake | 38 +++++++++++++++++++++---------------- cmake/util/FindVulkan.cmake | 3 +++ 4 files changed, 41 insertions(+), 19 deletions(-) diff --git a/cmake/util/FindCUDA.cmake b/cmake/util/FindCUDA.cmake index 3ce0cc40a..e715ad2ef 100644 --- a/cmake/util/FindCUDA.cmake +++ b/cmake/util/FindCUDA.cmake @@ -56,13 +56,15 @@ macro(find_cuda use_cuda) else(MSVC) find_library(_CUDA_CUDA_LIBRARY cuda PATHS ${CUDA_TOOLKIT_ROOT_DIR} - PATH_SUFFIXES lib lib64 targets/x86_64-linux/lib targets/x86_64-linux/lib/stubs) + PATH_SUFFIXES lib lib64 targets/x86_64-linux/lib targets/x86_64-linux/lib/stubs lib64/stubs + NO_DEFAULT_PATH) if(_CUDA_CUDA_LIBRARY) set(CUDA_CUDA_LIBRARY ${_CUDA_CUDA_LIBRARY}) endif() find_library(CUDA_NVRTC_LIBRARY nvrtc PATHS ${CUDA_TOOLKIT_ROOT_DIR} - PATH_SUFFIXES lib lib64 targets/x86_64-linux/lib targets/x86_64-linux/lib/stubs) + PATH_SUFFIXES lib lib64 targets/x86_64-linux/lib targets/x86_64-linux/lib/stubs lib64/stubs + NO_DEFAULT_PATH) find_library(CUDA_CUDNN_LIBRARY cudnn ${CUDA_TOOLKIT_ROOT_DIR}/lib64 ${CUDA_TOOLKIT_ROOT_DIR}/lib) @@ -70,5 +72,11 @@ macro(find_cuda use_cuda) ${CUDA_TOOLKIT_ROOT_DIR}/lib64 ${CUDA_TOOLKIT_ROOT_DIR}/lib) endif(MSVC) + message(STATUS "Found CUDA_TOOLKIT_ROOT_DIR=" ${CUDA_TOOLKIT_ROOT_DIR}) + message(STATUS "Found CUDA_CUDA_LIBRARY=" ${CUDA_CUDA_LIBRARY}) + message(STATUS "Found CUDA_CUDART_LIBRARY=" ${CUDA_CUDART_LIBRARY}) + message(STATUS "Found CUDA_NVRTC_LIBRARY=" ${CUDA_NVRTC_LIBRARY}) + message(STATUS "Found CUDA_CUDNN_LIBRARY=" ${CUDA_CUDNN_LIBRARY}) + message(STATUS "Found CUDA_CUBLAS_LIBRARY=" ${CUDA_CUBLAS_LIBRARY}) endif(CUDA_FOUND) endmacro(find_cuda) diff --git a/cmake/util/FindLLVM.cmake b/cmake/util/FindLLVM.cmake index 4bb58d462..8497761a7 100644 --- a/cmake/util/FindLLVM.cmake +++ b/cmake/util/FindLLVM.cmake @@ -11,7 +11,7 @@ # - LLVM_INCLUDE_DIRS # - LLVM_LIBS # - LLVM_DEFINITIONS -# - TVM_LLVM_VERISON +# - TVM_LLVM_VERSION # macro(find_llvm use_llvm) set(LLVM_CONFIG ${use_llvm}) @@ -56,4 +56,9 @@ macro(find_llvm use_llvm) separate_arguments(LLVM_LIBS) string(STRIP ${TVM_LLVM_VERSION} TVM_LLVM_VERSION) endif() + if(NOT LLVM_CONFIG STREQUAL "OFF") + message(STATUS "Found LLVM_INCLUDE_DIRS=" ${LLVM_INCLUDE_DIRS}) + message(STATUS "Found LLVM_DEFINITIONS=" ${LLVM_DEFINITIONS}) + message(STATUS "Found TVM_LLVM_VERSION=" ${TVM_LLVM_VERSION}) + endif() endmacro(find_llvm) diff --git a/cmake/util/FindROCM.cmake b/cmake/util/FindROCM.cmake index 235969813..317fea1b8 100644 --- a/cmake/util/FindROCM.cmake +++ b/cmake/util/FindROCM.cmake @@ -21,21 +21,27 @@ macro(find_rocm use_rocm) if(IS_DIRECTORY ${__use_rocm}) set(__rocm_sdk ${__use_rocm}) message(STATUS "Custom ROCM SDK PATH=" ${__use_rocm}) - elseif(IS_DIRECTORY $ENV{ROCM_PATH}) - set(__rocm_sdk $ENV{ROCM_PATH}) - elseif(IS_DIRECTORY /opt/rocm) - set(__rocm_sdk /opt/rocm) - else() - set(__rocm_sdk "") - endif() + elseif(IS_DIRECTORY $ENV{ROCM_PATH}) + set(__rocm_sdk $ENV{ROCM_PATH}) + elseif(IS_DIRECTORY /opt/rocm) + set(__rocm_sdk /opt/rocm) + else() + set(__rocm_sdk "") + endif() - if(__rocm_sdk) - set(ROCM_INCLUDE_DIRS ${__rocm_sdk}/include) - find_library(ROCM_HIPHCC_LIBRARY hip_hcc ${__rocm_sdk}/lib) - find_library(ROCM_MIOPEN_LIBRARY MIOpen ${__rocm_sdk}/lib) - find_library(ROCM_ROCBLAS_LIBRARY rocblas ${__rocm_sdk}/lib) - if(ROCM_HIPHCC_LIBRARY) - set(ROCM_FOUND TRUE) - endif() - endif(__rocm_sdk) + if(__rocm_sdk) + set(ROCM_INCLUDE_DIRS ${__rocm_sdk}/include) + find_library(ROCM_HIPHCC_LIBRARY hip_hcc ${__rocm_sdk}/lib) + find_library(ROCM_MIOPEN_LIBRARY MIOpen ${__rocm_sdk}/lib) + find_library(ROCM_ROCBLAS_LIBRARY rocblas ${__rocm_sdk}/lib) + if(ROCM_HIPHCC_LIBRARY) + set(ROCM_FOUND TRUE) + endif() + endif(__rocm_sdk) + if(ROCM_FOUND) + message(STATUS "Found ROCM_INCLUDE_DIRS=" ${ROCM_INCLUDE_DIRS}) + message(STATUS "Found ROCM_HIPHCC_LIBRARY=" ${ROCM_HIPHCC_LIBRARY}) + message(STATUS "Found ROCM_MIOPEN_LIBRARY=" ${ROCM_MIOPEN_LIBRARY}) + message(STATUS "Found ROCM_ROCBLAS_LIBRARY=" ${ROCM_ROCBLAS_LIBRARY}) + endif(ROCM_FOUND) endmacro(find_rocm) diff --git a/cmake/util/FindVulkan.cmake b/cmake/util/FindVulkan.cmake index 0b85e8f47..15c85bfe2 100644 --- a/cmake/util/FindVulkan.cmake +++ b/cmake/util/FindVulkan.cmake @@ -51,5 +51,8 @@ macro(find_vulkan use_vulkan) find_path(_spirv spirv.hpp HINTS ${Vulkan_INCLUDE_DIRS} PATH_SUFFIXES vulkan spirv/unified1) find_path(_glsl_std GLSL.std.450.h HINTS ${Vulkan_INCLUDE_DIRS} PATH_SUFFIXES vulkan spirv/unified1) list(APPEND Vulkan_INCLUDE_DIRS ${_libspirv} ${_spirv} ${_glsl_std}) + message(STATUS "Vulkan_INCLUDE_DIRS=" ${Vulkan_INCLUDE_DIRS}) + message(STATUS "Vulkan_LIBRARY=" ${Vulkan_LIBRARY}) + message(STATUS "Vulkan_SPIRV_TOOLS_LIBRARY=" ${Vulkan_SPIRV_TOOLS_LIBRARY}) endif(Vulkan_FOUND) endmacro(find_vulkan) -- GitLab