Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Unexpected warning/return from mpirun with minimal MPI program
From: Ralph Castain (rhc_at_[hidden])
Date: 2012-02-20 09:27:17


The return code is expected and the man page is incomplete. This was an intended change in behavior to more accurately report the outcome of a job.

On Feb 19, 2012, at 11:08 PM, Truls Edvard Stokke wrote:

> Hi Ralph, thank you for answering.
>
> So for clarity,
> - the return code is expected and there is a bug in the man page,
> - the warning is supposed to be printed in the event that a program exits with a non-zero exit status even if it calls MPI_Finalize before it does so.
>
> Please correct me if either of those aren't really the case.
>
> When running the code with an older version of OpenMPI (1.4.3) there is no warning.
> If it is relevant there is no warning when running it with MPICH2.
>
> Is the warning an intended change from 1.4.x to 1.5.x or is it likely that my installation of OpenMPI is configured incorrectly?
>
> On Mon, Feb 20, 2012 at 4:53 AM, Ralph Castain <rhc_at_[hidden]> wrote:
> If your program returns an error status (i.e., a non-zero exit status), then mpirun passes that along to you so any script you are using can know that something failed.
>
>
> On Feb 19, 2012, at 7:41 PM, Truls Edvard Stokke wrote:
>
> > Hi,
> >
> > In running this minimal program (test.c)
> >
> > #include <stdlib.h>
> > #include <mpi.h>
> >
> > int main (int argc, char ** argv) {
> > MPI_Init(&argc, &argv);
> > MPI_Finalize();
> >
> > exit(EXIT_FAILURE);
> > }
> >
> > compiled and ran with the commands
> >
> > mpicc test.c
> > mpirun -n 1 a.out
> >
> > I get the output
> >
> > --------------------------------------------------------------------------
> > mpirun noticed that the job aborted, but has no info as to the process
> > that caused that situation.
> > --------------------------------------------------------------------------
> >
> > The return value of mpirun is 1 (presumably the value of EXIT_FAILURE) instead of the expected 0.
> > Citing the manual page of mpirun, "mpirun returns 0 if all ranks started by mpirun exit after calling MPI_FINALIZE." which should be the case in the program.
> >
> > If EXIT_FAILURE is changed to EXIT_SUCCESS there is no output and mpirun returns 0 as expected.
> >
> > My OpenMPI version is 1.5.4, the code and output from ompi_info --all is attached.
> >
> > If it is relevant my OS is Fedora 16 and the packages installed are openmpi.i686 and openmpi-devel.i686, the code is ran at a single node with a single Intel atom processor. I have also ensured that no calls to MPI_Init or MPI_Finalize have been optimized out by the compiler.
> > <ompi_info_output.txt><test.c>_______________________________________________
> > users mailing list
> > users_at_[hidden]
> > http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users