|
dune-common 2.9.1
|
detects a thrown exception and communicates to all other processes More...
#include <dune/common/parallel/mpiguard.hh>
Public Member Functions | |
| MPIGuard (bool active=true) | |
| create an MPIGuard operating on the Communicator of the global Dune::MPIHelper | |
| MPIGuard (MPIHelper &m, bool active=true) | |
| create an MPIGuard operating on the Communicator of a special Dune::MPIHelper m | |
| template<class C > | |
| MPIGuard (const C &comm, bool active=true) | |
| create an MPIGuard operating on an arbitrary communicator. | |
| MPIGuard (const MPI_Comm &comm, bool active=true) | |
| ~MPIGuard () | |
| destroy the guard and check for undetected exceptions | |
| void | reactivate () |
| reactivate the guard. | |
| void | finalize (bool success=true) |
| stop the guard. | |
Detailed Description
detects a thrown exception and communicates to all other processes
You create a MPIGuard object. If an exception is risen on a process the MPIGuard detects the exception, because the finalize method was not called. When reaching the finalize call all other processes are informed that an error occurred and the MPIGuard throws an exception of type MPIGuardError.
- Note
- You can initialize the MPIGuard from different types of communication objects:
- MPIHelper
- Communication
- MPI_Comm
Constructor & Destructor Documentation
◆ MPIGuard() [1/4]
|
inline |
create an MPIGuard operating on the Communicator of the global Dune::MPIHelper
- Parameters
-
active should the MPIGuard be active upon creation?
◆ MPIGuard() [2/4]
|
inline |
create an MPIGuard operating on the Communicator of a special Dune::MPIHelper m
◆ MPIGuard() [3/4]
|
inline |
create an MPIGuard operating on an arbitrary communicator.
Supported types for the communication object are:
- MPIHelper
- Communication
- MPI_Comm
- Parameters
-
comm reference to a communication object active should the MPIGuard be active upon creation?
◆ MPIGuard() [4/4]
|
inline |
◆ ~MPIGuard()
|
inline |
destroy the guard and check for undetected exceptions
Member Function Documentation
◆ finalize()
|
inline |
stop the guard.
If no success parameter is passed, the guard assumes that everything worked as planned. All errors are communicated and an exception of type MPIGuardError is thrown if an error (or exception) occurred on any of the processors in the communicator.
- Parameters
-
success inform the guard about possible errors
◆ reactivate()
|
inline |
reactivate the guard.
If the guard is still active finalize(true) is called first.
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8