Thanks Paul,

It looks like we (indirectly) call MPI_Abort() when the argument is invalid.
That would explain the counter intuitive error message

Cheers,

Gilles 

Paul Kapinos <kapi...@itc.rwth-aachen.de> wrote:
>Dear Open MPI developer,
>please take a look at the attached 'hello MPI world' file.
>We know that it contain an error (you should never put '1476395012' into 
>MPI_Init_thread() call! It was a typo, initially...) BUT, see what happens if 
>you compile&call it:
>
>$ mpif90 -g mpihelloworld.f90
>$ ./a.out
>   1476395012           3
>*** The MPI_Init_thread() function was called before MPI_INIT was invoked.
>*** This is disallowed by the MPI standard.
>*** Your MPI job will now abort.
>[cluster-hpc.rz.RWTH-Aachen.DE:25739] Local abort before MPI_INIT completed 
>successfully; not able to aggregate error messages, and not able to guarantee 
>that all other processes were killed
>
>For me, reading this:
> > MPI_Init_thread() function was called before MPI_INIT was invoked.
> > This is disallowed by the MPI standard
>...produced some cognitive dissonance, as the MPI's calls to MPI_Init_thread 
>and 
>MPI_Init are well-known to be *mutually exclusive*. Well maybe with 
>'MPI_Init_thread() function' something Open MPI- internal is meant instead of 
>MPI's MPI_Init_thread, but the error message stays strongly unbelievable ( 2 + 
>2 
>= 6 !)
>
>Maybe you can text a better error message? :o)
>
>Have a nice day,
>
>Paul Kapinos
>
>P.S. Tested versions: 1.10.6 and 2.0.1, with support for MPI_THREAD_MULTIPLE
>
>
> > MPI_Init_thread(3)                 Open MPI                 
> > MPI_Init_thread(3)
> > NAME
> >        MPI_Init_thread - Initializes the MPI execution environment
> > ......
> > DESCRIPTION
> >        This  routine, or MPI_Init, must be called before any other MPI 
> > routine
> >        (apart from MPI_Initialized) is called. MPI can be initialized at  
> > most
> >        once; subsequent calls to MPI_Init or MPI_Init_thread are erroneous.
> >
> >        MPI_Init_thread,  as compared to MPI_Init, has a provision to 
> > request a
> >        certain level of thread support in required:
>
>
> > MPI_Init(3)                        Open MPI                        
> > MPI_Init(3)
> > NAME
> >        MPI_Init - Initializes the MPI execution environment
> > .....
> > DESCRIPTION
> >        This  routine,  or MPI_Init_thread, must be called before any other 
> > MPI
> >        routine (apart from MPI_Initialized) is called. MPI can be  
> > initialized
> >        at most once; subsequent calls to MPI_Init or MPI_Init_thread are 
> > erro-
> >        neous.
>
>
>
>
>
>-- 
>Dipl.-Inform. Paul Kapinos   -   High Performance Computing,
>RWTH Aachen University, IT Center
>Seffenter Weg 23,  D 52074  Aachen (Germany)
>Tel: +49 241/80-24915
_______________________________________________
devel mailing list
devel@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/devel

Reply via email to