diff --git a/include/internal/fmpi_mpi.h b/include/internal/fmpi_mpi.h index 7cf6395a69c7efc8c611a4f6410a2b381628e9b6..9595a1108a885a5439ac07ec6ebdc4913c2884c5 100644 --- a/include/internal/fmpi_mpi.h +++ b/include/internal/fmpi_mpi.h @@ -199,6 +199,10 @@ _Bool fmpi_mpi_finalized(const struct fmpi_mpi_ctx * ctx); * } */ void fmpi_mpi_abort(const struct fmpi_mpi_ctx * ctx); +/*------------------------------------------------------------------------------ + fmpi_mpi_world_barrier() +------------------------------------------------------------------------------*/ +int fmpi_mpi_world_barrier(const struct fmpi_mpi_ctx * ctx); /*============================================================================== GUARD ==============================================================================*/ diff --git a/src/fmpi_mpi.c b/src/fmpi_mpi.c index 5df12e6fd7da9df0c3a1fa6af551ee808e1fbee1..f00a7493799c74f1a28f885799eb39394edff1e3 100644 --- a/src/fmpi_mpi.c +++ b/src/fmpi_mpi.c @@ -173,3 +173,15 @@ void fmpi_mpi_abort(const struct fmpi_mpi_ctx * const ctx) fmpi_mpi_check_error(ctx, err_id, "MPI_Abort"); } } +/*------------------------------------------------------------------------------ + fmpi_mpi_world_barrier() +------------------------------------------------------------------------------*/ +int fmpi_mpi_world_barrier(const struct fmpi_mpi_ctx * const ctx) +{ + assert(ctx != NULL); + const int err_id = MPI_Barrier(MPI_COMM_WORLD); + if(fmpi_mpi_check_error(ctx, err_id, "MPI_Barrier") == true) { + return -1; + } + return err_id; +}