8 #include "collectivecommunication.hh"
11 #include "mpicollectivecommunication.hh"
132 (void)argc; (void)argv;
141 int rank ()
const {
return 0; }
145 int size ()
const {
return 1; }
149 FakeMPIHelper(
const FakeMPIHelper&);
150 FakeMPIHelper& operator=(
const FakeMPIHelper);
184 return MPI_COMM_WORLD;
195 return MPI_COMM_SELF;
228 int rank ()
const {
return rank_; }
232 int size ()
const {
return size_; }
237 void prevent_warning(
int){}
240 MPIHelper(
int& argc,
char**& argv)
243 int wasInitialized = -1;
244 MPI_Initialized( &wasInitialized );
250 static int is_initialized = MPI_Init(&argc, &argv);
251 prevent_warning(is_initialized);
254 MPI_Comm_rank(MPI_COMM_WORLD,&rank_);
255 MPI_Comm_size(MPI_COMM_WORLD,&size_);
257 assert( rank_ >= 0 );
258 assert( size_ >= 1 );
260 dverb <<
"Called MPI_Init on p=" << rank_ <<
"!" << std::endl;
266 int wasFinalized = -1;
267 MPI_Finalized( &wasFinalized );
271 dverb <<
"Called MPI_Finalize on p=" << rank_ <<
"!" <<std::endl;
277 MPIHelper(
const MPIHelper&);
278 MPIHelper& operator=(
const MPIHelper);
287 typedef FakeMPIHelper MPIHelper;