Files
pytorch/cmake/Modules/FindGloo.cmake
Teng Li a994b432ee [c10d] NCCL Process Group implementation (#8182)
* [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
2018-06-08 10:33:27 -07:00

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)