[Coin-ipopt] MUMPS 'independent' package for use with IPOPT

John Pye john.pye at anu.edu.au
Sun Nov 25 19:43:53 EST 2007


Hi Andreas

Thanks for the info on the MUMPS build. I will look at it again and try
to separate the two packages out.

I have current IPOPT RPMs for several generations of Fedora (not yet
SUSE) located here: http://download.opensuse.org/repositories/home:/jdpipe/

Currently MUMPS is included in the these RPMs, which means that these
packages would not meet the requirements of official Fedora packages,
which is what we would need to fix.

The issue with runtime selection of linear solvers is the other thing
that would be good to have before these packages went official.

Cheers
JP

Andreas Waechter wrote:
> Hi John,
>
> There is a configure script in the ThirdParty/MUMPS directory, but it
> doesn't do anything special, except for preparing our own Makefile to
> compile the (unmodified) MUMPS source code with the compiler flags
> that the MUMPS people recommend for the different operating systems
> and compilers. So, if you compile MUMPS somewhere else, just using the
> compilation process as the MUMPS project describes, and then you use
> the --with-mumps-dir flag to tell Ipopt where your MUMPS files are
> (after compilation), it should work fine, and you don't need any
> patches to have Ipopt work with your own version of MUMPS.
>
> Yes, the MUMPS Makefiles provided by the MUMPS developers do not help
> you to compile MUMPS as a shared library. As Stefan pointed out, in
> principle, we could treat the ThirdParty/MUMPS directory as a new
> indepedent library, so that our makefiles would generate shared
> objects containing MUMPS, but at this point it is not set up that way,
> and it is not so trivial to do that, due to cross-dependencies in
> several COIN projects. However, if you compile the MUMPS library
> independent from the IPOPT project as shared object, the
> --with-mumps-dir flag should still work.
>
> And yes, it would be very nice to have a binary distribution of Ipopt.
> It's a matter of finding the time to do that. Actually, Leo Lopez, a
> member of the COIN TLC, has also been working on creating RPMs, and
> you guys might want to coordinate. I'm sending you his contact
> information separately.
>
> Cheers
>
> Andreas
>
>
>
> On Thu, 22 Nov 2007, Stefan Vigerske wrote:
>
>> Hi,
>>
>>> I have been working on improving my RPM package for IPOPT so that it
>>> could be submitted for inclusion in Linux distros such as Fedora and
>>> SUSE. One major obstacle is that IPOPT provides 'configure' and 'make'
>>> actions for MUMPS that AFAICT are not built into the original MUMPS
>>> tarball.
>>>
>>> Is there any way that a patch for the original MUMPS tarball could be
>>> provided, so that one could first build MUMPS and install it, then,
>>> entirely separately, unpack the IPOPT tarball, detect the installed
>>> version of MUMPS, and use that to build IPOPT? This approach that I
>>> describe is that which is required when submitting packages for
>>> inclusion in the linux distros; it is not allowed for a package to
>>> compile its own 'private' copy of a dependency as is currently done in
>>> the IPOPT build process.
>>
>> There is the Ipopt configure option --with-mumps-dir to specify the
>> location of a separately compiled MUMPS. So, if you do not have a MUMPS
>> in ThirdParty but specify this flag, then Ipopts configure should use
>> the MUMPS from there.
>>
>>> I'm sure this is possible, I just wondered if the person responsible
>>> for
>>> integrating MUMPS into IPOPT might be able to help out with a patch for
>>> MUMPS that would simplify this task for me.
>>>
>>> Down the track, it would be nice if the matrix solver(s) used by IPOPT
>>> could be runtime-switchable, so that a single copy of IPOPT could be
>>> used to run off MUMPS, PARDISO, HSL, etc. I believe that this is
>>> still a
>>> way off, however? It would make a pre-compiled version of IPOPT much
>>> more useful to end users.
>>
>> Yes, you are right. :-)
>>
>> Stefan
>> _______________________________________________
>> Coin-ipopt mailing list
>> Coin-ipopt at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/coin-ipopt
>>




More information about the Coin-ipopt mailing list