Open MPI logo

Open MPI User's Mailing List Archives

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

Subject: [OMPI users] About the correct use of DIET_Finalize()
From: Yves Caniou (yves.caniou_at_[hidden])
Date: 2010-05-07 00:54:20

Dear All,

My parallel application ends when each process receives a msg, done in an
async way (but my question still arise if sync comm were used, see the ref to
the manpage). Senders call MPI_Finalize() after a call to MPI_Wait() and
receivers call MPI_Finalize() after having received the message.

An execution gives me that all proc finish as planned but I obtain the
following errors (times the number of processor used)
        With openMPI 1.4.2 compiled with gcc-4.5 on a Quad-Core AMD Opteron(tm)
Processor 8356
*** The MPI_Finalize() function was called after MPI_FINALIZE was invoked.
*** This is disallowed by the MPI standard.
*** Your MPI job will now abort.
Abort after MPI_FINALIZE completed successfully; not able to guarantee that
all other processes were killed!

        With openMPI 1.4.1 (debian package), Intel(R) Core(TM)2 Duo CPU P9600
*** An error occurred in MPI_Finalize
*** after MPI was finalized
*** MPI_ERRORS_ARE_FATAL (your MPI job will now abort)
Abort after MPI_FINALIZE completed successfully; not able to guarantee that
all other processes were killed!

I think it comes from the fact that, as mentionned in the man of
        For example, a successful return from a blocking communication opera-
       tion or from MPI_Wait or MPI_Test means that the communication is com-
       pleted by the user and the buffer can be reused, but does not guarantee
       that the local process has no more work to do.

Nonetheless, if MPI_Finaliaze() is called before that the exchange of messages
really takes place, receivers wouldn't call their MPI_Finalize(), but would
just be issuing an abort thing, no?

Well, I'm perplex. When do I know when my proc can make the call to
MPI_Finalize() and obtain an execution without error messages?

Thank you for any help.


Yves Caniou
Associate Professor at Université Lyon 1,
Member of the team project INRIA GRAAL in the LIP ENS-Lyon,
Délégation CNRS in Japan French Laboratory of Informatics (JFLI),
  * in Information Technology Center, The University of Tokyo,
    2-11-16 Yayoi, Bunkyo-ku, Tokyo 113-8658, Japan
    tel: +81-3-5841-0540
  * in National Institute of Informatics
    2-1-2 Hitotsubashi, Chiyoda-ku, Tokyo 101-8430, Japan
    tel: +81-3-4212-2412