我开始使用 MPI 并编写了一个快速演示程序:
int main(int argc, char** argv)
{
MPI_Init(&argc, &argv);
int myRank = MPI_Comm_rank(MPI_COMM_WORLD, &myRank);
if (myRank) {
cout << "slave" << endl;
}
else {
cout << "master" << endl;
}
MPI_Finalize();
return 0;
}
我使用以下命令运行它:
aprun -n 4 test
我的输出是
master
master
master
master
我期待类似的东西
slave
master
slave
slave
为什么会这样?为什么我所有的线程都是主人?