私は 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
なぜこうなった?すべてのスレッドがマスターになるのはなぜですか?