Sorry for the delay in responding :(
On Sep 6, 2005, at 12:38 PM, Srinivasa Prade Patri wrote:
> 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.
Is it stuck in the MPI_Barrier, or in a procedure after all the
processes pass the MPI_Barrier? What procedures are executed after the
MPI_Barrier, as these may be where you are getting stuck?
> 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
I'm not exactly sure what you mean by 'block sizes' being 'distributed
equally'. Is this a process to processor mapping?
You may want to double check your code to ensure that you are passing
the proper communicator to the MPI_Barrier function, and that the MYCOL
variable is set properly.
>
> Thanks for your time and insights
>
> Regards
> Srinivasa Patri
>
>
> _______________________________________________
> This list is archived at http://www.lam-mpi.org/MailArchives/lam/
>
----
Josh Hursey
jjhursey_at_[hidden]
http://www.lam-mpi.org/
|