Question

I am trying to do an all to all with a vector of bools, but I am getting a compiler error:

vector<bool> particles_crossed_send(world.size(),false);
vector<bool> particles_crossed_recv;
mpi::all_to_all(world,particles_crossed_send,particles_crossed_recv);

The compiler complains that the last 2 arguments (the vectors) "must be an lvalue or a function designator."

No idea why I am getting this issue.

Was it helpful?

Solution

I believe it has something to do with the underlying call inside boost::mpi. Since boost mpi uses an older version of the MPI standard, bools are not considered an MPI datatype. I just switched it to a char for my purposes and it worked fine.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top