diff --git a/ggml/CMakeLists.txt b/ggml/CMakeLists.txt index c721d76f18..2effd587b4 100644 --- a/ggml/CMakeLists.txt +++ b/ggml/CMakeLists.txt @@ -208,7 +208,6 @@ option(GGML_CUDA_FA "ggml: compile ggml FlashAttention C option(GGML_CUDA_FA_ALL_QUANTS "ggml: compile all quants for FlashAttention" OFF) option(GGML_CUDA_GRAPHS "ggml: use CUDA graphs (llama.cpp only)" ${GGML_CUDA_GRAPHS_DEFAULT}) option(GGML_CUDA_NCCL "ggml: use NVIDIA Collective Comm. Library" ON) -option(GGML_CUDA_NCCL_STATIC "ggml: link NCCL statically (ON) or dynamically (OFF)" OFF) set (GGML_CUDA_COMPRESSION_MODE "size" CACHE STRING "ggml: cuda link binary compression mode; requires cuda 12.8+") set_property(CACHE GGML_CUDA_COMPRESSION_MODE PROPERTY STRINGS "none;speed;balance;size") diff --git a/ggml/cmake/FindNCCL.cmake b/ggml/cmake/FindNCCL.cmake index 674ecddd25..67511e2d56 100644 --- a/ggml/cmake/FindNCCL.cmake +++ b/ggml/cmake/FindNCCL.cmake @@ -1,52 +1,16 @@ # cmake/FindNCCL.cmake -# NVIDIA does not distribute CMake files with NCCL, therefore use this file to find it instead. -# -# Inputs: -# NCCL_ROOT — root of an NCCL installation or source build tree -# NCCL_STATIC — if ON, prefer the static library and search cmake/lib/Release (or Debug); -# if OFF (default), prefer the shared/import library and search cmake/src/Release - -if(NCCL_STATIC) - # cmake source-build layout: cmake/lib//nccl_static.lib (or nccl.lib) - set(_nccl_lib_names nccl_static nccl) - set(_nccl_extra_lib_hints - "${NCCL_ROOT}/cmake/lib/Release" - "${NCCL_ROOT}/cmake/lib/Debug" - "${NCCL_ROOT}/cmake/lib" - ) -else() - # cmake source-build layout: cmake/src//nccl.lib (import lib for nccl.dll) - set(_nccl_lib_names nccl) - set(_nccl_extra_lib_hints - "${NCCL_ROOT}/cmake/src/Release" - "${NCCL_ROOT}/cmake/src/Debug" - "${NCCL_ROOT}/cmake/src" - ) -endif() +# NVIDIA does not distribute CMake files with NCCl, therefore use this file to find it instead. find_path(NCCL_INCLUDE_DIR NAMES nccl.h - HINTS - ${NCCL_ROOT} - "${NCCL_ROOT}/cmake/src/Release" - "${NCCL_ROOT}/cmake/src/Debug" - "${NCCL_ROOT}/cmake/src" - "${NCCL_ROOT}/cmake" - $ENV{NCCL_ROOT} - $ENV{CUDA_HOME} - /usr/local/cuda - PATH_SUFFIXES include src/include + HINTS ${NCCL_ROOT} $ENV{NCCL_ROOT} $ENV{CUDA_HOME} /usr/local/cuda + PATH_SUFFIXES include ) find_library(NCCL_LIBRARY - NAMES ${_nccl_lib_names} - HINTS - ${_nccl_extra_lib_hints} - ${NCCL_ROOT} - $ENV{NCCL_ROOT} - $ENV{CUDA_HOME} - /usr/local/cuda + NAMES nccl + HINTS ${NCCL_ROOT} $ENV{NCCL_ROOT} $ENV{CUDA_HOME} /usr/local/cuda PATH_SUFFIXES lib lib64 ) @@ -61,11 +25,7 @@ if(NCCL_FOUND) set(NCCL_INCLUDE_DIRS ${NCCL_INCLUDE_DIR}) if(NOT TARGET NCCL::NCCL) - if(NCCL_STATIC) - add_library(NCCL::NCCL STATIC IMPORTED) - else() - add_library(NCCL::NCCL UNKNOWN IMPORTED) - endif() + add_library(NCCL::NCCL UNKNOWN IMPORTED) set_target_properties(NCCL::NCCL PROPERTIES IMPORTED_LOCATION "${NCCL_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES "${NCCL_INCLUDE_DIR}" diff --git a/ggml/src/ggml-cuda/CMakeLists.txt b/ggml/src/ggml-cuda/CMakeLists.txt index 1d94873c1a..b54d4a6b10 100644 --- a/ggml/src/ggml-cuda/CMakeLists.txt +++ b/ggml/src/ggml-cuda/CMakeLists.txt @@ -182,9 +182,6 @@ if (CUDAToolkit_FOUND) endif() if (GGML_CUDA_NCCL) - if (GGML_CUDA_NCCL_STATIC) - set(NCCL_STATIC ON) - endif() find_package(NCCL) if (NCCL_FOUND) add_compile_definitions(GGML_USE_NCCL)