<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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</DIV>
<DIV>Thanks in advance,</DIV>
<DIV>Tony</DIV>
<DIV>&nbsp;</DIV></DIV></DIV></BODY></HTML>