1 #ifndef _PFASST_MPI_COMMUNICATOR_HPP_
2 #define _PFASST_MPI_COMMUNICATOR_HPP_
32 stat.MPI_ERROR = MPI_SUCCESS;
33 stat.MPI_SOURCE = MPI_ANY_SOURCE;
34 stat.MPI_TAG = MPI_ANY_TAG;
44 :
public runtime_error
48 virtual const char* what()
const throw();
49 static MPIError from_code(
const int err_code);
66 if (err_code != MPI_SUCCESS) {
67 throw MPIError::from_code(err_code);
96 virtual void set_comm(MPI_Comm comm);
99 virtual string name();
113 virtual void clear()
override;
114 virtual void set_converged(
bool converged)
override;
115 virtual bool get_converged(
int rank)
override;
116 virtual void post(
int tag)
override;
117 virtual void send(
int tag)
override;
118 virtual void recv(
int tag)
override;
Abstract interface for the current status of the algorithm.
MAKE_LOGGABLE(MPI_Status, mpi_status, os)
interfaces for SDC/MLSDC/PFASST algorithms.
Abstract interface for communicators.
static void check_mpi_error(const int err_code)
checks MPI error code
static MPI_Status MPI_Status_factory()
creates and initializes a new empty MPI_Status object