mpihelper.hh File Reference

This file contains helpers for dealing with MPI.Basically there are two helpers available: More...

Go to the source code of this file.

Classes

class  Dune::FakeMPIHelper
 A fake mpi helper. More...
class  Dune::MPIHelper
 A real mpi helper.This helper should be used for parallel programs. More...

Namespaces

namespace  Dune
 

Dune namespace.



Detailed Description

This file contains helpers for dealing with MPI.

Basically there are two helpers available:

FakeMPIHelper
A class adhering to the interface of MPIHelper that does not need MPI at all. This can be used to create a sequential program even if MPI is used to compile it.
MPIHelper
A real MPI helper. When the singleton gets instantiated MPI_Init will be called and before the program exits MPI_Finalize will be called.

Example of who to use these classes:

A program that is parallel if compiled with MPI and sequential otherwise:

   int main(int argc, char** argv){
      typedef Dune::MPIHelper MPIHelper;
      MPIHelper::instance(argc, argv);
      typename MPIHelper::MPICommunicator world = 
        MPIHelper::getCommunicator();
      ...

If one wants to have sequential program even if the code is compiled with mpi then one simply has to exchange the typedef with

 typedef Dune::MPIHelper FakeMPIHelper; 

.

For checking whether we really use MPI or just fake please use MPIHelper::isFake (this is also possible at compile time!)

Generated on Mon Apr 26 10:45:22 2010 for dune-common by  doxygen 1.6.3