LAMA
/home/brandes/workspace/LAMA/src/lama/mpi/MPICommunicatorManager.hpp
Go to the documentation of this file.
00001 
00034 #ifndef LAMA_MPI_COMMUNICATOR_MANAGER_HPP_
00035 #define LAMA_MPI_COMMUNICATOR_MANAGER_HPP_
00036 
00037 #include <mpi.h> //Intel MPI need mpi.h to be included before stdio.h so this header comes first
00038 
00039 // for dll_import
00040 #include <lama/config.hpp>
00041 
00042 // base classes
00043 #include <lama/CommunicatorManager.hpp>
00044 
00045 // others
00046 #include <lama/mpi/MPICommunicator.hpp>
00047 
00048 // logging
00049 #include <logging/logging.hpp>
00050 
00051 namespace lama
00052 {
00053 
00060 class MPICommunicatorManager: public CommunicatorManager
00061 {
00062 
00063 public:
00064 
00065     virtual CommunicatorPtr getCommunicator( int& argc, char** & argv );
00066 
00067     virtual ~MPICommunicatorManager();
00068 
00069 private:
00070 
00071     LAMA_LOG_DECL_STATIC_LOGGER(logger);
00072 
00073     static bool __init;    
00074 
00075     static bool init();    
00076 
00077     MPICommunicatorManager();
00078 
00083     boost::shared_ptr<const MPICommunicator> mCommInstance;
00084 };
00085 
00086 }
00087 
00088 #endif // LAMA_MPI_COMMUNICATOR_MANAGER_HPP_