[Ipopt] [mumps-users] Ipopt MUMPS interface and MPI problems

Stefan Vigerske stefan at math.hu-berlin.de
Wed Jul 9 19:09:16 EDT 2014


Hi,

There is a check for MPI_Initialized in configure, which should make 
sure that HAVE_MPI_INITIALIZED is defined in case the function is available.
Did you have to set it by hand because you use a selfmade build system, 
or does the check in configure not work in your case? If the latter, it 
might be interesting if it could be fixed.

Stefan


On 07/10/2014 12:36 AM, Dominique Orban wrote:
> I'm using 3.11.8 but the problem persists unless you build with
> -DHAVE_MPI_INITIALIZED.
>
> Dominique
>
>
> On Wed, Jul 9, 2014 at 6:29 PM, Paulo César Pereira de Andrade <
> paulo.cesar.pereira.de.andrade at gmail.com> wrote:
>
>> 2014-07-09 17:37 GMT-03:00 Dominique Orban <dominique.orban at gmail.com>:
>>
>>    Hi,
>>
>>> In Homebrew, we compile IPOPT with -DHAVE_MPI_INITIALIZED to get around
>>> this. See
>>> https://github.com/Homebrew/homebrew-science/blob/master/ipopt.rb#L36
>> and
>>> recent discussions on the IPOPT mailing list.
>>
>>    Many thanks! I was indeed trying to fix the package and did not
>> notice that the latest release already have the solution for the problem.
>>
>>> Dominique
>>>
>>>
>>> On Wed, Jul 9, 2014 at 3:45 PM, Paulo César Pereira de Andrade
>>> <paulo.cesar.pereira.de.andrade at gmail.com> wrote:
>>>>
>>>>    Hi,
>>>>
>>>>    The Ipopt MUMPS interface calls MPI_Init in the class constructor
>>>> and MPI_Finalize in the destructor. But openmpi causes a fatal
>>>> error due to it:
>>>>
>> --------------------------------------------------------------------------
>>>> Calling MPI_Init or MPI_Init_thread twice is erroneous.
>>>>
>> --------------------------------------------------------------------------
>>>>
>>>> Debian uses this patch for Ipopt:
>>>>
>>>>
>>>>
>> http://sources.debian.net/src/coinor-ipopt/3.11.7-2/debian/patches/mpi-init.patch
>>>>
>>>> But "only" that patch causes the Ipopt testsuite to fail due to calling
>>>> MPI functions before MPI_Init.
>>>>
>>>> What is the proper way to handle it? I believe it should be
>>>> somewhat like only call MPI_Init and MPI_Finalize from the
>>>> test suite main function, but I have few knowledge of all
>>>> details (e.g. maybe only required if linking Ipopt to a parallel
>>>> MUMPS) ...
>>
>>
>> Paulo
>>
>
>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt
>



More information about the Ipopt mailing list