Commit 207be6a1 authored by Kim, Jungwon's avatar Kim, Jungwon

modifying mpi.h to check MPI_THREAD_MULTIPLE and README.md

parent 779967a7
......@@ -9,6 +9,15 @@ Papyrus is a programming system that provides features for scalable, aggregate,
## Installation
To compile the code, CMake reads a user-defined configuration file stored in conf/ directory. If the target system is not OLCF's Summitdev, NERSC's Cori, nor TACC's Stampede2, then one needs first to modify the conf/default.cmake file accordingly.
set(CMAKE_C_COMPILER "mpicc")
set(CMAKE_CXX_COMPILER "mpic++")
set(CMAKE_C_FLAGS "")
set(CMAKE_CXX_FLAGS "-O2 -std=c++11")
set(MPIEXEC "mpirun")
set(MPIEXEC_NUMPROC_FLAG "-n")
You can build Papyrus with CMake and Make:
$ git clone https://code.ornl.gov/eck/papyrus.git
......@@ -19,8 +28,6 @@ You can build Papyrus with CMake and Make:
$ make
$ make install
To compile the code, CMake reads a user-defined configuration file stored in conf/ directory. If the target system is not OLCF's Summitdev, NERSC's Cori, nor TACC's Stampede2, then one needs first to modify the conf/default.cmake file accordingly.
### Running tests
The project's test suite can be run by executing:
......
......@@ -4,11 +4,13 @@
#include <mpi.h>
#include <stdio.h>
#define MPI_Init(ARGC, ARGV) { \
int provided; \
MPI_Init_thread(ARGC, ARGV, MPI_THREAD_MULTIPLE, &provided); \
if (provided != MPI_THREAD_MULTIPLE) \
fprintf(stderr, "MPI_THREAD_MULTIPLE not supported[%d]\n", provided); \
#define MPI_Init(ARGC, ARGV) { \
int provided; \
MPI_Init_thread(ARGC, ARGV, MPI_THREAD_MULTIPLE, &provided); \
if (provided != MPI_THREAD_MULTIPLE) { \
fprintf(stderr, "FAILED:MPI_THREAD_MULTIPLE not supported[%d]\n", provided); \
MPI_Abort(MPI_COMM_WORLD, 1); \
} \
}
#endif /* PAPYRUS_INCLUDE_PAPYRUS_MPI_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment