diff --git a/cmake/Modules/Findrccl.cmake b/cmake/Modules/Findrccl.cmake index 008d23a7a..95aa0587f 100644 --- a/cmake/Modules/Findrccl.cmake +++ b/cmake/Modules/Findrccl.cmake @@ -13,8 +13,7 @@ # The path hints include CUDA_TOOLKIT_ROOT_DIR seeing as some folks # install RCCL in the same location as the CUDA toolkit. # See https://github.com/caffe2/caffe2/issues/1601 - -if($ENV{ROCM_PATH}) +if(DEFINED ENV{ROCM_PATH}) set(RCCL_ROOT_DIR $ENV{ROCM_PATH} CACHE PATH "Folder contains AMD RCCL") else() set(RCCL_ROOT_DIR "/opt/rocm") @@ -26,7 +25,7 @@ find_path(RCCL_INCLUDE_DIR ${RCCL_INCLUDE_DIR} ${RCCL_ROOT_DIR}/include) -if ($ENV{USE_STATIC_RCCL}) +if (DEFINED ENV{USE_STATIC_RCCL}) message(STATUS "USE_STATIC_RCCL detected. Linking against static RCCL library") set(RCCL_LIBNAME "librccl_static.a") else() diff --git a/gloo/CMakeLists.txt b/gloo/CMakeLists.txt index 02124e904..0b416e9cd 100644 --- a/gloo/CMakeLists.txt +++ b/gloo/CMakeLists.txt @@ -66,12 +66,10 @@ if(USE_ROCM) file(GLOB GLOO_HIP_SRCS "${HIPIFY_OUTPUT_DIR}/hip*.cc" "${HIPIFY_OUTPUT_DIR}/hip*.hip" - "${HIPIFY_OUTPUT_DIR}/nccl/nccl.hip" ) file(GLOB GLOO_HIP_HDRS "${HIPIFY_OUTPUT_DIR}/hip*.h" - "${HIPIFY_OUTPUT_DIR}/nccl/nccl.h" ) endif() diff --git a/gloo/nccl/CMakeLists.txt b/gloo/nccl/CMakeLists.txt index 6bceab38f..6615cbc09 100644 --- a/gloo/nccl/CMakeLists.txt +++ b/gloo/nccl/CMakeLists.txt @@ -1,12 +1,29 @@ -set(GLOO_NCCL_SRCS - "${CMAKE_CURRENT_SOURCE_DIR}/nccl.cu" - ) - -set(GLOO_NCCL_HDRS - "${CMAKE_CURRENT_SOURCE_DIR}/nccl.h" - ) - -list(APPEND GLOO_CUDA_SRCS ${GLOO_NCCL_SRCS}) -list(APPEND GLOO_CUDA_HDRS ${GLOO_NCCL_HDRS}) -set(GLOO_CUDA_SRCS ${GLOO_CUDA_SRCS} PARENT_SCOPE) -set(GLOO_CUDA_HDRS ${GLOO_CUDA_HDRS} PARENT_SCOPE) +if(USE_CUDA) + set(GLOO_NCCL_SRCS + "${CMAKE_CURRENT_SOURCE_DIR}/nccl.cu" + ) + + set(GLOO_NCCL_HDRS + "${CMAKE_CURRENT_SOURCE_DIR}/nccl.h" + ) + + list(APPEND GLOO_CUDA_SRCS ${GLOO_NCCL_SRCS}) + list(APPEND GLOO_CUDA_HDRS ${GLOO_NCCL_HDRS}) + set(GLOO_CUDA_SRCS ${GLOO_CUDA_SRCS} PARENT_SCOPE) + set(GLOO_CUDA_HDRS ${GLOO_CUDA_HDRS} PARENT_SCOPE) +endif() + +if(USE_ROCM) + set(GLOO_NCCL_SRCS + "${CMAKE_CURRENT_SOURCE_DIR}/nccl.hip" + ) + + set(GLOO_NCCL_HDRS + "${CMAKE_CURRENT_SOURCE_DIR}/nccl.h" + ) + + list(APPEND GLOO_HIP_SRCS ${GLOO_NCCL_SRCS}) + list(APPEND GLOO_HIP_HDRS ${GLOO_NCCL_HDRS}) + set(GLOO_HIP_SRCS ${GLOO_HIP_SRCS} PARENT_SCOPE) + set(GLOO_HIP_HDRS ${GLOO_HIP_HDRS} PARENT_SCOPE) +endif()