From 286f5c01908b686066bddcba41970c300d6afefb Mon Sep 17 00:00:00 2001 From: Carl Pearson Date: Wed, 2 Jun 2021 17:00:16 -0400 Subject: [PATCH] improve CMake output and README --- CMakeLists.txt | 20 ++++++++++++-------- README.md | 27 ++++++++++++++++----------- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 235b25b..8ffc425 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,14 +23,18 @@ else() endif() if (MPI_FOUND) -message(STATUS "MPI_CXX_COMPILER: ${MPI_CXX_COMPILER}") -message(STATUS "MPI_CXX_INCLUDE_DIRS: ${MPI_CXX_INCLUDE_DIRS}") -message(STATUS "MPIEXEC_EXECUTABLE: ${MPIEXEC_EXECUTABLE}") -message(STATUS "MPIEXEC_NUMPROC_FLAG: ${MPIEXEC_NUMPROC_FLAG}") -message(STATUS "MPIEXEC_MAX_NUMPROCS: ${MPIEXEC_MAX_NUMPROCS}") -message(STATUS "MPIEXEC_PREFLAGS: ${MPIEXEC_PREFLAGS}") -message(STATUS "MPIEXEC_POSTFLAGS: ${MPIEXEC_POSTFLAGS}") - +message(STATUS "MPI_VERSION: ${MPI_VERSION}") +message(STATUS "MPI_CXX_COMPILER: ${MPI_CXX_COMPILER}") +message(STATUS "MPI_CXX_COMPILE_OPTIONS: ${MPI_CXX_COMPILE_OPTIONS}") +message(STATUS "MPI_CXX_COMPILE_DEFINITIONS: ${MPI_CXX_COMPILE_DEFINITIONS}") +message(STATUS "MPI_CXX_INCLUDE_DIRS: ${MPI_CXX_INCLUDE_DIRS}") +message(STATUS "MPI_CXX_LIBRARIES: ${MPI_CXX_LIBRARIES}") +message(STATUS "MPI_CXX_LINK_FLAGS: ${MPI_CXX_LINK_FLAGS}") +message(STATUS "MPIEXEC_EXECUTABLE: ${MPIEXEC_EXECUTABLE}") +message(STATUS "MPIEXEC_NUMPROC_FLAG: ${MPIEXEC_NUMPROC_FLAG}") +message(STATUS "MPIEXEC_MAX_NUMPROCS: ${MPIEXEC_MAX_NUMPROCS}") +message(STATUS "MPIEXEC_PREFLAGS: ${MPIEXEC_PREFLAGS}") +message(STATUS "MPIEXEC_POSTFLAGS: ${MPIEXEC_POSTFLAGS}") endif() function(set_cxx_options target) diff --git a/README.md b/README.md index 8bde800..8d9cb98 100644 --- a/README.md +++ b/README.md @@ -29,13 +29,25 @@ cmake .. make ``` -CMake will print the MPI environment it is using. For example: +CMake will print the detected MPI environment. +Confirm it is what you expect. +For example: ``` --- MPI_CXX_COMPILER: [...]/spectrum-mpi-10.3.1.2-20200121-p6nrnt6vtvkn356wqg6f74n6jspnpjd2/bin/mpicxx --- MPI_CXX_INCLUDE_DIRS: [...]/spectrum-mpi-10.3.1.2-20200121-p6nrnt6vtvkn356wqg6f74n6jspnpjd2/include --- MPIEXEC_EXECUTABLE: [...]/spectrum-mpi-10.3.1.2-20200121-p6nrnt6vtvkn356wqg6f74n6jspnpjd2/bin/mpiexec +-- MPI_VERSION: +-- MPI_CXX_COMPILER: [...]/bin/mpicxx +-- MPI_CXX_COMPILE_OPTIONS: -pthread +-- MPI_CXX_COMPILE_DEFINITIONS: +-- MPI_CXX_INCLUDE_DIRS: [...]/include +-- MPI_CXX_LIBRARIES: [...]/lib/libmpiprofilesupport.so;[...]/lib/libmpi_ibm.so +-- MPI_CXX_LINK_FLAGS: -pthread ``` +## Examples +### Summit + +* 1 node: `jsrun -n 1 ./persistent` +* 2 nodes: `jsrun -n 2 -r 1 -a 1 ./persistent` +* 2 nodes w/GPU: `jsrun --smpi="-gpu" -n 2 -r 1 -g 1 ./send-recv-gpu` ## Run all tests @@ -52,13 +64,6 @@ If any tests fails, you can re-run them individually. Execute any binary you want using `mpirun`, or whatever is appropriate for your platform. -## Examples - -### Summit - -* 1 node: `jsrun -n 1 ./persistent` -* 2 nodes: `jsrun -n 2 -r 1 -a 1 ./persistent` -* 2 nodes w/GPU: `jsrun --smpi="-gpu" -n 2 -r 1 -g 1 ./send-recv-gpu` ## Notes on specific platforms