EvolvingObjects
eoMpiNode.h
00001 /*
00002 (c) Thales group, 2012
00003 
00004     This library is free software; you can redistribute it and/or
00005     modify it under the terms of the GNU Lesser General Public
00006     License as published by the Free Software Foundation;
00007     version 2 of the License.
00008 
00009     This library is distributed in the hope that it will be useful,
00010     but WITHOUT ANY WARRANTY; without even the implied warranty of
00011     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012     Lesser General Public License for more details.
00013 
00014     You should have received a copy of the GNU Lesser General Public
00015     License along with this library; if not, write to the Free Software
00016     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017 Contact: http://eodev.sourceforge.net
00018 
00019 Authors:
00020     Benjamin Bouvier <benjamin.bouvier@gmail.com>
00021 */
00022 # ifndef __MPI_NODE_H__
00023 # define __MPI_NODE_H__
00024 
00025 # include <boost/mpi.hpp>
00026 namespace bmpi = boost::mpi;
00027 
00028 namespace eo
00029 {
00030     namespace mpi
00031     {
00040         class Node
00041         {
00042             public:
00043 
00052                 static void init( int argc, char** argv )
00053                 {
00054                     static bmpi::environment env( argc, argv );
00055                 }
00056 
00060                 static bmpi::communicator& comm()
00061                 {
00062                     return _comm;
00063                 }
00064 
00065             protected:
00066                 static bmpi::communicator _comm;
00067         };
00068     }
00069 }
00070 # endif // __MPI_NODE_H__
00071 
 All Classes Namespaces Files Functions Variables Typedefs Friends