coin-or/Ipopt

Crash when running multiple ipopt instances in parallel (with mumps as the linear solver)

hw1088 opened this issue · 4 comments

Hi, as stated in the title, my program crashes when I run multiple ipopt instances in parallel. Basically, I have a parallelized for-loop and inside the loop Ipopt solves an optimization problem. The crash is from Mumps with the error message " PB allocation in DMUMPS_LOAD_INIT. MUMPS returned INFO(1) =-13 - out of memory when trying to allocate 617 bytes."

I am wondering if ipopt (with mumps) works in this situation, or are there some special flags that needs to set in the configuring step? I used the coinbrew to install ipopt with flags "--disable-openmp --disable-mpiinit". Looking forward to your help! Thanks in advance!

Which version of Ipopt?

Since 3.14.0, Ipopt tries to avoid calling MUMPS simultaneously from parallel threads, since MUMPS isn't threadsafe. But maybe something is missing.

Try switching to a threadsafe linear solver, e.g. those from HSL.

Which version of Ipopt?

Since 3.14.0, Ipopt tries to avoid calling MUMPS simultaneously from parallel threads, since MUMPS isn't threadsafe. But maybe something is missing.

Try switching to a threadsafe linear solver, e.g. those from HSL.

Yeah, it is Ipopt 3.14.0. Indeed it works well with HSL. I understand that this is actually not an issue of Ipopt. Just hope to know if MUMPS has been improved to work in this case or not.

Not that I know. I couldn't find related info at https://mumps-solver.org/index.php

ok, thanks Stefan