Hi,
Iam using MPI_BARRIER function in my code by calling function
call MPI_BARRIER(col_comm,ierr)
the col_comm group is formed by MPI_COMM_SPLIT
call MPI_COMM_SPLIT (MPI_COMM_WORLD,MYCOL,MYROW,col_comm,ierr)
I have a 2x2 grid of 4 processors. With MPI_COMM_SPLIT i formed two groups of processor nodes. Node vertices (0,0)[rank 0 in MPI_COMM_WORLD] and (1,0)[rank 1 in MPI_COMM_WORLD] formed 1 group while the other 2 nodes with vertices (0,1) and (1,1) formed another group.
My program is working fine on group (0,1) and (1,1) but not on
group containing nodes(0,0) and (1,0).The nodes (0,0) and (1,0) are struck after calling MPI_Barrier. This is happening for block sizes where the columns and rows are not distributed equally among the 4 processors. I dont know why the 2 nodes are struck even after both the processros are calling the Barrier function.
FYI: The code is working fine if the rows and columns are distributed equally
Thanks for your time and insights
Regards
Srinivasa Patri
|