34 lines
958 B
CMake
34 lines
958 B
CMake
if(NOT WITH_DISTRIBUTE OR NOT WITH_MPI)
|
|
return()
|
|
endif()
|
|
|
|
find_package(MPI)
|
|
|
|
if(NOT MPI_CXX_FOUND)
|
|
set(WITH_MPI
|
|
OFF
|
|
CACHE STRING "Disable MPI" FORCE)
|
|
message(WARNING "Not found MPI support in current system")
|
|
return()
|
|
endif()
|
|
|
|
message(STATUS "MPI compile flags: " ${MPI_CXX_COMPILE_FLAGS})
|
|
message(STATUS "MPI include path: " ${MPI_CXX_INCLUDE_PATH})
|
|
message(STATUS "MPI LINK flags path: " ${MPI_CXX_LINK_FLAGS})
|
|
message(STATUS "MPI libraries: " ${MPI_CXX_LIBRARIES})
|
|
include_directories(SYSTEM ${MPI_CXX_INCLUDE_PATH})
|
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${MPI_CXX_LINK_FLAGS}")
|
|
add_definitions("-DPADDLE_WITH_MPI")
|
|
find_program(
|
|
OMPI_INFO
|
|
NAMES ompi_info
|
|
HINTS ${MPI_CXX_LIBRARIES}/../bin)
|
|
|
|
if(OMPI_INFO)
|
|
execute_process(COMMAND ${OMPI_INFO} OUTPUT_VARIABLE output_)
|
|
if(output_ MATCHES "smcuda")
|
|
#NOTE some mpi lib support mpi cuda aware.
|
|
add_definitions("-DPADDLE_WITH_MPI_AWARE")
|
|
endif()
|
|
endif()
|