coin-or/Ipopt

Mumps and OpenMP

mottelet opened this issue · 6 comments

Hello,

How do you prevent coinbrew to build thirdparty MUMPS with OpenMP ? I would like to make some reproductible tests and it seems impossible when MUMPS uses OpenMP. I currently use

./coinbrew fetch Ipopt@3.14 --without-asl --without-hsl --with-mumps --with-metis
./coinbrew build Ipopt@3.14 --prefix $PREFIX  --without-asl --without-hsl --with-mumps --with-metis --enable-static=yes --enable-shared=no --parallel-jobs 4

Thanks.

S.

configure of ThirdParty-Mumps has an option --disable-openmp for that

would giving --disable-openmp to coinbrew be enough ?

Should be. coinbrew passes all flags it does not know about on to all calls of configure it is doing.

Are there other possible causes of non-reproductibiliy of ipopt iterations ?

Given the same input, it should produce the same output. Sometimes the linear algebra library need to be instructed to be more determinstic, e.g., https://www.intel.com/content/www/us/en/docs/onemkl/developer-guide-linux/2023-0/obtaining-numerically-reproducible-results.html

OK. I have a different experience on macOS with Accelerate Framework on Intel (reproductibility issues) w.r.t. arm/M1 (no issue).