1- INCLUDE (ExternalProject)
1+ include (ExternalProject)
22
3- SET (NCCL_SOURCE_DIR ${THIRD_PARTY_PATH} /nccl)
4-
5- INCLUDE_DIRECTORIES (${NCCL_SOURCE_DIR} /src/extern_nccl/src)
3+ set (NCCL_SOURCE_DIR ${THIRD_PARTY_PATH} /nccl)
64
5+ include_directories (${NCCL_SOURCE_DIR} /src/extern_nccl/src)
76
87if (WITH_DSO)
98 # If we use DSO, we do not build nccl, just download the dependencies
@@ -12,39 +11,39 @@ if(WITH_DSO)
1211 set (NCCL_INSTALL_DIR "" )
1312else ()
1413 # otherwise, we build nccl and link it.
14+ set (NCCL_INSTALL_DIR ${THIRD_PARTY_PATH} /install /nccl)
15+ # Note: cuda 8.0 is needed to make nccl
16+ # When cuda is not installed on the system directory, need to set CUDA_HOME to your cuda root
1517 set (NCCL_BUILD_COMMAND "make -j 8" )
16- set (NCCL_INSTALL_COMMAND "make install" )
17- SET (NCCL_INSTALL_DIR ${THIRD_PARTY_PATH} /install /nccl)
18+ set (NCCL_INSTALL_COMMAND "make install PREFIX=${NCCL_INSTALL_DIR} " )
1819endif ()
1920
2021ExternalProject_Add(
21- extern_nccl
22- ${EXTERNAL_PROJECT_LOG_ARGS}
23- GIT_REPOSITORY "https://github.com/NVIDIA/nccl.git"
24- GIT_TAG "v1.3.4-1"
25- PREFIX "${NCCL_SOURCE_DIR} "
26- UPDATE_COMMAND ""
27- CONFIGURE_COMMAND ""
28- BUILD_COMMAND "${NCCL_BUILD_COMMAND} "
29- INSTALL_COMMAND "${NCCL_INSTALL_COMMAND} "
30- INSTALL_DIR "${NCCL_INSTALL_DIR} "
31- TEST_COMMAND ""
22+ extern_nccl
23+ ${EXTERNAL_PROJECT_LOG_ARGS}
24+ GIT_REPOSITORY "https://github.com/NVIDIA/nccl.git"
25+ GIT_TAG "v1.3.4-1"
26+ PREFIX "${NCCL_SOURCE_DIR} "
27+ UPDATE_COMMAND ""
28+ CONFIGURE_COMMAND ""
29+ BUILD_COMMAND "${NCCL_BUILD_COMMAND} "
30+ INSTALL_COMMAND "${NCCL_INSTALL_COMMAND} "
31+ INSTALL_DIR "${NCCL_INSTALL_DIR} "
32+ TEST_COMMAND ""
3233)
3334
34- if (WITH_DSO)
35- if (${CMAKE_VERSION} VERSION_LESS "3.3.0" )
36- set (dummyfile ${CMAKE_CURRENT_BINARY_DIR} /lib_any_dummy .c)
37- file (WRITE ${dummyfile} "const char * dummy_any = \" ${dummyfile} \" ;" )
35+ if (WITH_DSO)
36+ if (${CMAKE_VERSION} VERSION_LESS "3.3.0" )
37+ set (dummyfile ${CMAKE_CURRENT_BINARY_DIR} /lib_nccl_dummy .c)
38+ file (WRITE ${dummyfile} "const char * dummy_nccl = \" ${dummyfile} \" ;" )
3839 add_library (nccl STATIC ${dummyfile} )
3940 else ()
4041 add_library (nccl INTERFACE )
4142 endif ()
4243else ()
43- ADD_LIBRARY (nccl STATIC IMPORTED GLOBAL )
44- SET_PROPERTY (TARGET nccl PROPERTY IMPORTED_LOCATION
45- ${NCCL_INSTALL_DIR} /lib/libnccl .a)
44+ add_library (nccl STATIC IMPORTED GLOBAL )
45+ set_property (TARGET nccl PROPERTY IMPORTED_LOCATION
46+ ${NCCL_INSTALL_DIR} /lib/libnccl_static .a)
4647endif ()
4748
4849add_dependencies (nccl extern_nccl)
49-
50- LIST (APPEND external_project_dependencies nccl)
0 commit comments