how do you know all process call mpi_finalize?  did you have all of them
print out something before they call mpi_finalize? I think what Gustavo is
getting at is maybe you had some MPI calls within your snippets that hangs
your program, thus some of your processes never called mpi_finalize.

On Sun, Oct 24, 2010 at 6:59 PM, Jack Bryan <dtustud...@hotmail.com> wrote:

>  Thanks,
>
> But, my code is too long to be posted.
>
> What are the common reasons of this kind of problems ?
>
> Any help is appreciated.
>
> Jack
>
> Oct. 24 2010
>
> > From: g...@ldeo.columbia.edu
> > Date: Sun, 24 Oct 2010 18:09:52 -0400
>
> > To: us...@open-mpi.org
> > Subject: Re: [OMPI users] Open MPI program cannot complete
> >
> > Hi Jack
> >
> > Your code snippet is too terse, doesn't show the MPI calls.
> > It is hard to guess what is the problem this way.
> >
> > Gus Correa
> > On Oct 24, 2010, at 5:43 PM, Jack Bryan wrote:
> >
> > > Thanks for the reply.
> > > But, I use mpi_waitall() to make sure that all MPI communications have
> been done before a process call MPI_Finalize() and returns.
> > >
> > > Any help is appreciated.
> > >
> > > thanks
> > >
> > > Jack
> > >
> > > Oct. 24 2010
> > >
> > > > From: g...@ldeo.columbia.edu
> > > > Date: Sun, 24 Oct 2010 17:31:11 -0400
> > > > To: us...@open-mpi.org
> > > > Subject: Re: [OMPI users] Open MPI program cannot complete
> > > >
> > > > Hi Jack
> > > >
> > > > It may depend on "do some things".
> > > > Does it involve MPI communication?
> > > >
> > > > Also, why not put MPI_Finalize();return 0 outside the ifs?
> > > >
> > > > Gus Correa
> > > >
> > > > On Oct 24, 2010, at 2:23 PM, Jack Bryan wrote:
> > > >
> > > > > Hi
> > > > >
> > > > > I got a problem of open MPI.
> > > > >
> > > > > My program has 5 processes.
> > > > >
> > > > > All of them can run MPI_Finalize() and return 0.
> > > > >
> > > > > But, the whole program cannot be completed.
> > > > >
> > > > > In the MPI cluster job queue, it is strill in running status.
> > > > >
> > > > > If I use 1 process to run it, no problem.
> > > > >
> > > > > Why ?
> > > > >
> > > > > My program:
> > > > >
> > > > > int main (int argc, char **argv)
> > > > > {
> > > > >
> > > > > MPI_Init(&argc, &argv);
> > > > > MPI_Comm_rank(MPI_COMM_WORLD, &myRank);
> > > > > MPI_Comm_size(MPI_COMM_WORLD, &mySize);
> > > > > MPI_Comm world;
> > > > > world = MPI_COMM_WORLD;
> > > > >
> > > > > if (myRank == 0)
> > > > > {
> > > > > do some things.
> > > > > }
> > > > >
> > > > > if (myRank != 0)
> > > > > {
> > > > > do some things.
> > > > > MPI_Finalize();
> > > > > return 0 ;
> > > > > }
> > > > > if (myRank == 0)
> > > > > {
> > > > > MPI_Finalize();
> > > > > return 0;
> > > > > }
> > > > >
> > > > > }
> > > > >
> > > > > And, some output files get wrong codes, which can not be readible.
> > > > > In 1-process case, the program can print correct results to these
> output files .
> > > > >
> > > > > Any help is appreciated.
> > > > >
> > > > > thanks
> > > > >
> > > > > Jack
> > > > >
> > > > > Oct. 24 2010
> > > > >
> > > > > _______________________________________________
> > > > > users mailing list
> > > > > us...@open-mpi.org
> > > > > http://www.open-mpi.org/mailman/listinfo.cgi/users
> > > >
> > > >
> > > > _______________________________________________
> > > > users mailing list
> > > > us...@open-mpi.org
> > > > http://www.open-mpi.org/mailman/listinfo.cgi/users
> > > _______________________________________________
> > > users mailing list
> > > us...@open-mpi.org
> > > http://www.open-mpi.org/mailman/listinfo.cgi/users
> >
> >
> > _______________________________________________
> > users mailing list
> > us...@open-mpi.org
> > http://www.open-mpi.org/mailman/listinfo.cgi/users
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>



-- 
David Zhang
University of California, San Diego

Reply via email to