我写的时候,问题很简单
//Compile with: mpicc temp.c
//Run with: mpirun -n 4 ./a.out
#include <mpi.h>
#include <stdio.h>
int main(int argc, char **argv){
MPI_Init(&argc,&argv);
int nbr, rank;
MPI_Comm_size(MPI_COMM_WORLD, &nbr);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
printf("%d before\n",rank);
MPI_Barrier(MPI_COMM_WORLD);
printf("%d after\n",rank);
MPI_Finalize();
}
通过4个过程,我得到:
3 before
3 after
2 before
2 after
1 before
1 after
0 before
0 after
为什么不是所有的“之前”然后是所有的“之后”?我真的需要那种行为。谢谢您的帮助!