RE: [Coin-ipopt] Is Ipopt + MUMPS thread safe?

Damien Hocking damien at khubla.com
Thu Oct 11 14:17:50 EDT 2007


Being a distributed MPI solver, MUMPS is written to live in its own memory space or process, which is likely why it isn't totally thread-safe.  I've talked to the devs about a fully threaded version and they'd like to do it given infinite time & resources, but it's not on their list of priorities.  The devs recommended to me to use a threaded BLAS because of the heavy use of the L3 BLAS in MUMPS.

I tried the ATLAS threaded blas in MUMPS in IPOPT and it definitely speeds the linear solve up.  I've also run MUMPS in its MPI form with multiple processes on one machine and it's a tad faster than with ATLAS (the S.I. "tad "being a well-known scientific measurement...).  The code is more messy though and it wasn't an exhaustive set of tests.  I haven't gone the whole hog and run a threaded blas/lapack through the rest of IPOPT.  I know Andreas has used WSMP inside IPOPT with good scaleup on multiprocessor systems as well. 

Damien
   _____  

From: Dmitry Golovashkin [mailto:Dmitry.Golovashkin at sas.com]
To: Javier Pedrido [mailto:javierpedrido at hotmail.com], coin-ipopt at list.coin-or.org
Sent: Thu, 11 Oct 2007 11:17:08 -0600
Subject: RE: [Coin-ipopt] Is Ipopt + MUMPS thread safe?

> MUMPS definitely isn't.
  
  try to request it from developers :-)
  MUMPS is a parallel distributed solver (according to its website)
  it should be cake for them to eliminate global references (I think.)
  
  > I will have to synchronize the solving code.
  
  waiting on mumps is probably a bad idea since
  most/all of your threads will be blocked waiting for factorization to complete.
  A more interesting option would be to run models on a cluster
  (each node would get a separate mumps instance - it would nicely scale;
  but it might be a little less trivial to implement even in java);
  or just run parallel mumps itself.
  
  If you try its parallel + distrib flavor, please share your experiences.
  
  Thank you!
  Best regards, dm.
  
  
  -----Original Message-----
  From: coin-ipopt-bounces at list.coin-or.org [mailto:coin-ipopt-bounces at list.coin-or.org] On Behalf Of Javier Pedrido
  Sent: Thursday, October 11, 2007 12:33 PM
  To: coin-ipopt at list.coin-or.org
  Subject: Re: [Coin-ipopt] Is Ipopt + MUMPS thread safe?
  
  The offender seems to be MUMPS, I will have to synchronize the solving code.
  Thanks for your quick reply,
  Javier
  
  >From: "Damien Hocking" <damien at khubla.com>
  >To: coin-ipopt at list.coin-or.org
  >Subject: Re: [Coin-ipopt] Is Ipopt + MUMPS thread safe?
  >Date: Thu, 11 Oct 2007 10:18:34 -0600
  >
  >I'm pretty sure IPOPT isn't thread-safe.  MUMPS definitely isn't.  If you 
  >want to run two separate solves in two threads, you need a separate 
  >instance of IPOPT in each thread.  Watch your BLAS and LAPACK libraries 
  >too, if they're old F77 codes, they might have things like SAVE statements, 
  >which means you should only run one instance in any process space.
  >
  >Damien
  >   _____
  >
  >From: Javier Pedrido [mailto:javierpedrido at hotmail.com]
  >To: coin-ipopt at list.coin-or.org
  >Sent: Thu, 11 Oct 2007 09:39:45 -0600
  >Subject: [Coin-ipopt] Is Ipopt + MUMPS thread safe?
  >
  >Hi,
  >
  >   I was trying the new Java interface and whenever I run it from 2 
  >different
  >   threads, Ipopt crashes. Ipopt uses MUMPS as linear solver and was 
  >compiled
  >   with g95/g++ and with ifort/cl. Both builds crash in multi-threaded
  >   environments. Am I doing something wrong or Ipopt/MUMPS are not thread 
  >safe?
  >
  >   Thanks in advance,
  >   Javier
  >
  >   _________________________________________________________________
  >   MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/
  >
  >   _______________________________________________
  >   Coin-ipopt mailing list
  >   Coin-ipopt at list.coin-or.org
  >   http://list.coin-or.org/mailman/listinfo/coin-ipopt
  >
  
  
  >_______________________________________________
  >Coin-ipopt mailing list
  >Coin-ipopt at list.coin-or.org
  >http://list.coin-or.org/mailman/listinfo/coin-ipopt
  
  _________________________________________________________________
  MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/
  
  _______________________________________________
  Coin-ipopt mailing list
  Coin-ipopt at list.coin-or.org
  http://list.coin-or.org/mailman/listinfo/coin-ipopt
  
  _______________________________________________
  Coin-ipopt mailing list
  Coin-ipopt at list.coin-or.org
  http://list.coin-or.org/mailman/listinfo/coin-ipopt
    
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.coin-or.org/pipermail/ipopt/attachments/20071011/46b89b73/attachment.html 


More information about the Coin-ipopt mailing list