coin-or / Ipopt

COIN-OR Interior Point Optimizer IPOPT
https://coin-or.github.io/Ipopt
Other
1.43k stars 284 forks source link

Update the binaries (dll) to a thread-safe version #298

Closed svigerske closed 4 years ago

svigerske commented 5 years ago

Issue created by migration from Trac.

Original creator: andreas

Original creation time: 2018-02-24 18:13:12

Assignee: ipopt-team

Version: 3.12

Hello,

I am using IPOPT 3.11.0 downloaded from https://www.coin-or.org/download/binary/Ipopt/ (Ipopt-3.11.0-Win32-Win64-dll.7z) and it works great.

But, I am currently in need of a thread-safe version of IPOPT and from what I understand the newer versions of IPOPT are thread-safe (https://projects.coin-or.org/Ipopt/ticket/167).

Are there any plans to update the pre-compiled libaries? Or is there any way to find updated dlls?

Thanks in advance!

svigerske commented 5 years ago

Comment by @svigerske created at 2018-02-25 10:29:50

Even though Ipopt itself should be thread-safe now, also the linear solver used by Ipopt needs to be thread-safe. However, the only open-source linear solver that is interfaced by Ipopt is MUMPS 4, which isn't thread-safe.

svigerske commented 4 years ago

The binary at https://projects.coin-or.org/CoinBinary/export/1072/binary/Ipopt/Ipopt-3.13.2-win64-msvs2019-md.zip is build with Intel MKL and Mumps. Ipopt then uses Pardiso from Intel MKL as linear solver by default. I'm not sure how its performance compares to the also included Mumps 4.10.0, but I hope that leaving it at Pardiso would give a thread-safe Ipopt run.

tkralphs commented 4 years ago

@svigerske Would you be interested in moving those binaries over to bintray? It would be nice to have one-stop shopping. You could upload them using the bintray API if I give you the API key.

svigerske commented 4 years ago

https://www.coin-or.org/download/binary/ seemed to be the one-stop for COIN-OR binaries. I had thought that committing to the CoinBinary svn would make my binary appear on the COIN-OR webserver, but that doesn't seem to work anymore. Instead there was an message telling me that I probably didn't want to commit to this repo. On the good side, the commit went through, so the binary is available via http through the trac svn browser. I understand that uploading into a svn repo isn't the best way to manage binaries, though. And making something happen on COIN-OR webserver is cumbersome, too.

https://bintray.com/coin-or tells me "COIN-OR Foundation", but that seems to run under your personal e-mail address. The only binaries available so far seem to be from projects that you work on. So is this bintray group something you imagine where all COIN-OR projects can upload their binaries? Should they all use your API key, or should the project managers create accounts on bintray, become members of https://bintray.com/coin-or, and generate their own API key? Will we loose access to all of this in the (very undesirable) situation that you are not around?

Anyway, if you want to give me an API key, then I can upload this package there.

tkralphs commented 4 years ago

OK, let's take this off-line. I'll send you an e-mail.