mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 12:54:11 +08:00
* [c10d] Process Group NCCL implementation * Addressed comments * Added one missing return and clang format again * Use cmake/Modules for everything and fix gloo build * Fixed compiler warnings * Deleted duplicated FindNCCL
50 lines
1.3 KiB
CMake
50 lines
1.3 KiB
CMake
# Try to find the Gloo library and headers.
|
|
# Gloo_FOUND - system has Gloo lib
|
|
# Gloo_INCLUDE_DIRS - the Gloo include directory
|
|
# Gloo_LIBRARY/Gloo_NATIVE_LIBRARY - libraries needed to use Gloo
|
|
|
|
find_path(Gloo_INCLUDE_DIR
|
|
NAMES gloo/common/common.h
|
|
DOC "The directory where Gloo includes reside"
|
|
)
|
|
|
|
find_library(Gloo_NATIVE_LIBRARY
|
|
NAMES gloo
|
|
DOC "The Gloo library (without CUDA)"
|
|
)
|
|
|
|
find_library(Gloo_CUDA_LIBRARY
|
|
NAMES gloo_cuda
|
|
DOC "The Gloo library (with CUDA)"
|
|
)
|
|
|
|
set(Gloo_INCLUDE_DIRS ${Gloo_INCLUDE_DIR})
|
|
|
|
# use the CUDA library depending on the Gloo_USE_CUDA variable
|
|
if (DEFINED Gloo_USE_CUDA)
|
|
if (${Gloo_USE_CUDA})
|
|
set(Gloo_LIBRARY ${Gloo_CUDA_LIBRARY})
|
|
set(Gloo_NATIVE_LIBRARY ${Gloo_NATIVE_LIBRARY})
|
|
else()
|
|
set(Gloo_LIBRARY ${Gloo_NATIVE_LIBRARY})
|
|
set(Gloo_NATIVE_LIBRARY ${Gloo_NATIVE_LIBRARY})
|
|
endif()
|
|
else()
|
|
# else try to use the CUDA library if found
|
|
if (${Gloo_CUDA_LIBRARY} STREQUAL "Gloo_CUDA_LIBRARY-NOTFOUND")
|
|
set(Gloo_LIBRARY ${Gloo_NATIVE_LIBRARY})
|
|
set(Gloo_NATIVE_LIBRARY ${Gloo_NATIVE_LIBRARY})
|
|
else()
|
|
set(Gloo_LIBRARY ${Gloo_CUDA_LIBRARY})
|
|
set(Gloo_NATIVE_LIBRARY ${Gloo_NATIVE_LIBRARY})
|
|
endif()
|
|
endif()
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(Gloo
|
|
FOUND_VAR Gloo_FOUND
|
|
REQUIRED_VARS Gloo_INCLUDE_DIR Gloo_LIBRARY
|
|
)
|
|
|
|
mark_as_advanced(Gloo_FOUND)
|