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

Dmitry Golovashkin Dmitry.Golovashkin at sas.com
Thu Oct 11 13:17:08 EDT 2007


> 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




More information about the Coin-ipopt mailing list