#include <Teuchos_GlobalMPISession.hpp>
Public Member Functions | |
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 Public Member Functions | |
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 is primarilly designed to insulate basic main()
program type of code from having to know if MPI is enabled or not.
ToDo: Give examples!
CommandLineProcessor/cxx_main.cpp, and FancyOutputting_test.cpp.
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 . |
--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.
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.
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.
bool Teuchos::GlobalMPISession::mpiIsFinalized | ( | ) | [static] |
Return if MPI has already been finalized.
Definition at line 120 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.