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.
all_to_all with bools boost mpi
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.
Solution
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow