|
Teuchos Package Browser (Single Doxygen Collection) Version of the Day
|
This class provides methods for initializing, finalizing, and querying the global MPI session. More...
#include <Teuchos_GlobalMPISession.hpp>
Static Private Member Functions | |
| static void | initialize (std::ostream *out) |
Static Private Attributes | |
| static bool | haveMPIState_ = false |
| static bool | mpiIsFinalized_ = false |
| static int | rank_ = 0 |
| static int | nProc_ = 1 |
Public constructor and destructor | |
| GlobalMPISession (int *argc, char ***argv, std::ostream *out=&std::cout) | |
Calls MPI_Init() if MPI is enabled. | |
| ~GlobalMPISession () | |
Calls MPI_Finalize() if MPI is enabled. | |
Static functions | |
| static bool | mpiIsInitialized () |
| static bool | mpiIsFinalized () |
| static int | getRank () |
Returns the process rank relative to MPI_COMM_WORLD | |
| static int | getNProc () |
Returns the number of processors relative to MPI_COMM_WORLD | |
This class provides methods for initializing, finalizing, and querying the global MPI session.
This class is primarilly designed to insulate basic main() program type of code from having to know if MPI is enabled or not.
ToDo: Give examples!
Definition at line 52 of file Teuchos_GlobalMPISession.hpp.
| Teuchos::GlobalMPISession::GlobalMPISession | ( | int * | argc, |
| char *** | argv, | ||
| std::ostream * | out = &std::cout |
||
| ) |
Calls MPI_Init() if MPI is enabled.
| argc | [in] Argment passed into main(argc,argv) |
| argv | [in] Argment passed into main(argc,argv) |
| out | [in] If out!=NULL, then a small message on each processor will be printed to this stream. The default is &std::cout. |
If the option --teuchos-suppress-startup-banner is found, the this option will be removed from argv[] before being passed to MPI_Init(...) and the startup output message to *out will be suppressed.
Warning! This constructor can only be called once per executable or an error is printed to *out and an std::exception will be thrown!
Definition at line 39 of file Teuchos_GlobalMPISession.cpp.
| Teuchos::GlobalMPISession::~GlobalMPISession | ( | ) |
Calls MPI_Finalize() if MPI is enabled.
Definition at line 100 of file Teuchos_GlobalMPISession.cpp.
| bool Teuchos::GlobalMPISession::mpiIsInitialized | ( | ) | [static] |
Return if MPI is initialized or not.
Definition at line 114 of file Teuchos_GlobalMPISession.cpp.
| bool Teuchos::GlobalMPISession::mpiIsFinalized | ( | ) | [static] |
Return if MPI has already been finalized.
Definition at line 120 of file Teuchos_GlobalMPISession.cpp.
| int Teuchos::GlobalMPISession::getRank | ( | ) | [static] |
Returns the process rank relative to MPI_COMM_WORLD
Returns 0 if MPI is not enabled.
Note, this function can be called even if the above constructor was never called so it is safe to use no matter how MPI_Init() got called (but it must have been called somewhere).
Definition at line 125 of file Teuchos_GlobalMPISession.cpp.
| int Teuchos::GlobalMPISession::getNProc | ( | ) | [static] |
Returns the number of processors relative to MPI_COMM_WORLD
Returns 1 if MPI is not enabled.
Note, this function can be called even if the above constructor was never called so it is safe to use no matter how MPI_Init() got called (but it must have been called somewhere).
Definition at line 132 of file Teuchos_GlobalMPISession.cpp.
| void Teuchos::GlobalMPISession::initialize | ( | std::ostream * | out | ) | [static, private] |
Definition at line 140 of file Teuchos_GlobalMPISession.cpp.
bool Teuchos::GlobalMPISession::haveMPIState_ = false [static, private] |
Definition at line 117 of file Teuchos_GlobalMPISession.hpp.
bool Teuchos::GlobalMPISession::mpiIsFinalized_ = false [static, private] |
Definition at line 118 of file Teuchos_GlobalMPISession.hpp.
int Teuchos::GlobalMPISession::rank_ = 0 [static, private] |
Definition at line 119 of file Teuchos_GlobalMPISession.hpp.
int Teuchos::GlobalMPISession::nProc_ = 1 [static, private] |
Definition at line 120 of file Teuchos_GlobalMPISession.hpp.
1.7.4