<HTML><HEAD></HEAD>
<BODY dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: 'Calibri'; COLOR: #000000">
<DIV>This is an issue that has come up a few times before on the list,
usually</DIV>
<DIV>with respect to distribution/Homebrew packages wanting to link Ipopt
to</DIV>
<DIV>the MPI version of Mumps. I would like to get feedback from anyone on
the</DIV>
<DIV>list who can provide a counterexample to my understanding of current</DIV>
<DIV>functionality. The question is:</DIV>
<DIV> </DIV>
<DIV>Has anyone successfully used the MPI parallel version of MUMPS in</DIV>
<DIV>combination with Ipopt? Specifically I’m asking about the mainline</DIV>
<DIV>supported release versions of Ipopt, not the work that happened
several</DIV>
<DIV>years ago in the experimental distributed-memory parallel branch</DIV>
<DIV><A
href="https://projects.coin-or.org/Ipopt/browser/branches/parallel">https://projects.coin-or.org/Ipopt/browser/branches/parallel</A>
. I know</DIV>
<DIV>it’s possible to use the MPI version of MUMPS with a single process
just</DIV>
<DIV>fine, or use MPI to parallelize user function evaluations, or run
separate</DIV>
<DIV>completely independent instances of Ipopt solving different
optimization</DIV>
<DIV>problems simultaneously. What I’m asking about is running the MUMPS
linear</DIV>
<DIV>solver across multiple processes with MPI and achieving measured
parallel</DIV>
<DIV>speedup on a single optimization problem.</DIV>
<DIV> </DIV>
<DIV>I have done this for the multithreaded solvers
WSMP/MA86/MA97/Pardiso,</DIV>
<DIV>or to a limited extent via multithreaded BLAS, but never personally
with</DIV>
<DIV>MPI MUMPS. I’d like to find out whether it has been done before, in
case</DIV>
<DIV>it is possible but just complicated to do. If you’ve tried to do this
but</DIV>
<DIV>failed, I'd be interested to hear how far you got.</DIV>
<DIV> </DIV>
<DIV>Parts of Ipopt outside of MUMPS are not MPI-aware, so running
multiple</DIV>
<DIV>copies of an ipopt executable with mpirun will probably duplicate all</DIV>
<DIV>computations outside of the linear solver. I’m not actually sure what
would</DIV>
<DIV>happen if each copy of ipopt thinks it’s solving an entire
optimization</DIV>
<DIV>problem but MUMPS is trying to decompose the linear system over MPI.</DIV>
<DIV>I’d be surprised if it worked, but also happy to be proven wrong
here.</DIV>
<DIV> </DIV>
<DIV>Thanks in advance,</DIV>
<DIV>Tony</DIV>
<DIV> </DIV></DIV></DIV></BODY></HTML>