Hi,
It's my first time using Boost and is amazing. I'm trying to understand why
this simple example bellow don't works as expected:
#include <iostream>
#include
using namespace std;
namespace mpi = boost::mpi;
int main ( int argc, char *argv[] )
{
mpi::environment env( argc, argv );
mpi::communicator world;
mpi::group subgroup( MPI_Group( world.group() ), true );
cout << "I'm process " << world.rank() <<
endl;
cout << "But in subgroup i'm process " << subgroup.rank() << endl;
cout << "And the subgroup size is... " << subgroup.size() << endl;
return 0;
} // ---------- end of function main ----------
*1. Why every process has rank 1 in subgroup? I trying to figure out what
happens, but without success.*
The mpi::boost::group class has no copy constructor explicitly defined. That
is true for many other classes in Boost.MPI...
*2. It's safe to use the copy constructor generated by the compiler as
follows?*
*
*
mpi::group subgroup = world.group().exclude( discardedRanks.begin(),
discardedRanks.end() );
Thanks in advance for any help.
Regards,
Júlio.