From ea6e118c8dd37ab297e75763fadf18d1e18d6141 Mon Sep 17 00:00:00 2001 From: Jared Van Bortel Date: Tue, 7 May 2024 17:52:39 -0400 Subject: [PATCH] cuda: search for shared libs in the right dir on Linux Signed-off-by: Jared Van Bortel --- gpt4all-backend/CMakeLists.txt | 2 +- gpt4all-backend/llama.cpp.cmake | 6 +++++- gpt4all-chat/CMakeLists.txt | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/gpt4all-backend/CMakeLists.txt b/gpt4all-backend/CMakeLists.txt index 9b17a03a4455..c4eb1e4996fd 100644 --- a/gpt4all-backend/CMakeLists.txt +++ b/gpt4all-backend/CMakeLists.txt @@ -137,7 +137,7 @@ foreach(BUILD_VARIANT IN LISTS BUILD_VARIANTS) endif() if (BUILD_VARIANT STREQUAL cuda) - set(CUDAToolkit_BIN_DIR ${CUDAToolkit_BIN_DIR} PARENT_SCOPE) + set(CUDA_SHARED_LIB_DIR ${CUDA_SHARED_LIB_DIR} PARENT_SCOPE) endif() endforeach() diff --git a/gpt4all-backend/llama.cpp.cmake b/gpt4all-backend/llama.cpp.cmake index e60ee6f03ea4..0bb9269a78bd 100644 --- a/gpt4all-backend/llama.cpp.cmake +++ b/gpt4all-backend/llama.cpp.cmake @@ -369,7 +369,11 @@ function(include_ggml SUFFIX) endif() find_package(CUDAToolkit REQUIRED) - set(CUDAToolkit_BIN_DIR ${CUDAToolkit_BIN_DIR} PARENT_SCOPE) + if (WIN32) + set(CUDA_SHARED_LIB_DIR ${CUDAToolkit_BIN_DIR} PARENT_SCOPE) + else() + set(CUDA_SHARED_LIB_DIR ${CUDAToolkit_LIBRARY_DIR} PARENT_SCOPE) + endif() set(GGML_HEADERS_CUDA ${DIRECTORY}/ggml-cuda.h) diff --git a/gpt4all-chat/CMakeLists.txt b/gpt4all-chat/CMakeLists.txt index e9b0b0ea1666..da9c2689425a 100644 --- a/gpt4all-chat/CMakeLists.txt +++ b/gpt4all-chat/CMakeLists.txt @@ -233,7 +233,7 @@ else() TARGETS llamamodel-mainline-cuda DESTINATION lib COMPONENT ${COMPONENT_NAME_MAIN} RUNTIME_DEPENDENCIES PRE_EXCLUDE_REGEXES "^(nvcuda|api-ms-.*)\\.dll$" POST_INCLUDE_REGEXES "(^|[/\\\\])(lib)?(cuda|cublas)" POST_EXCLUDE_REGEXES . - DIRECTORIES "${CUDAToolkit_BIN_DIR}" # needed on Windows (with MSVC at least) + DIRECTORIES "${CUDA_SHARED_LIB_DIR}" ) endif()