In mpi.h probeer ik MPI_Barrier te gebruiken, maar het werkt niet goed.
Hier is een voorbeeld:
int main(int argc, char **argv)
{
MPI_Init(&argc,&argv);
int i,j,rank,np;
MPI_Comm_size(MPI_COMM_WORLD,&np);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
for(i=0;i
De uitvoer is:
(0)
0
(1)
0
(2)
0
(3)
0
1 2 3 4 1 2 3 4 1 2 3 4
1 2 3 4
(uitgevoerd met 4 processors)
Dus alle processors beginnen met het afdrukken van waarden tegelijkertijd, zelfs als er een barrière is.
Waarom?