all_to_all with bools提高mpi

时间:2012-12-12 21:38:49

标签: vector boolean boost-mpi

我正在尝试使用bool向量来执行所有操作,但是我收到编译器错误:

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

编译器抱怨最后两个参数(向量)“必须是左值或函数指示符。”

不知道为什么我会遇到这个问题。

1 个答案:

答案 0 :(得分:0)

我认为它与boost :: mpi中的底层调用有关。由于boost mpi使用较旧版本的MPI标准,因此bool不被视为MPI数据类型。我只是为了我的目的把它换成了一个字符,它工作得很好。