[Ipopt] error message involving libiomp5mt.lib

Jonathan Currie jonathan.currie at aut.ac.nz
Sun May 12 19:11:26 EDT 2013


I'm not sure of the details of the pre-built binary, but unless you have
manually changed any settings in VS, then installing the Intel compilers
should not have changed anything in your build. The integration with VS10
allows you to use the compiler and libraries if selected, but are not
enabled by default. Perhaps someone who built the VS10 binaries can comment
further.

-----Original Message-----
From: Frank Kampas [mailto:fkampas at msn.com] 
Sent: Sunday, 12 May 2013 1:37 a.m.
To: Jonathan Currie; ipopt at list.coin-or.org
Subject: Re: [Ipopt] error message involving libiomp5mt.lib

I'm using a pre-built binary for windows(vc10.  The only file I'm compiling
is a dll which acts as an interface between ipopt and Mathematica, passing
the problem info to ipopt and doing callbacks for the various functions.  I
used Visual Studio 2010 to compile that file.  However, when I installed the
Intel compilers on my computer, they integrated with VS10, which may have
something to do with the problem.

-----Original Message-----
From: Jonathan Currie
Sent: Saturday, May 11, 2013 12:43 AM
To: 'Frank Kampas' ; ipopt at list.coin-or.org
Subject: RE: [Ipopt] error message involving libiomp5mt.lib

Hi Frank,

The Intel libiomp5mt.lib library is used when statically linking the
multi-threaded Intel libraries (e.g. MKL for BLAS?), as opposed to the
multi-threaded dll libraries (libiomp5md.lib). Try ensuring your IPOPT build
has been built with the Runtime Library set as Multi-threaded DLL (/MD)
under C/C++ -> Code Generation in VS. You may also need to manually link the
correct Intel libraries manually under the linker settings (rather than
specifying to use the Intel Performance Libraries). All this assumes you are
using MKL as your BLAS libraries!

Regarding this only occurring only on problems over a certain size, I assume
this is because the Intel MKL does not multi-thread BLAS / LAPACK calls for
'small' (relative term here) data function calls, and when the problem does
get large enough to overcome the parallelization getting started cost,
libiomp5md is the Intel multi-threading library.

Regards,

Jonathan

-----Original Message-----
From: ipopt-bounces at list.coin-or.org [mailto:ipopt-bounces at list.coin-or.org]
On Behalf Of Frank Kampas
Sent: Saturday, 11 May 2013 6:18 a.m.
To: ipopt at list.coin-or.org
Subject: [Ipopt] error message involving libiomp5mt.lib

While running ipopt of one of my computers, I got an error message
"initializing libiomp5mt.lib  but found libiomp5md.dll already..."
The problem went away when I set the environment variable
KMP_DUPLICATE_LIB_OK = TRUE, as suggested by the error message.
The message ended with an Intel support web site as a source of more
information.
This is puzzling since I compiled my code using Visual Studio 10, although I
do have Intel compilers on the computer.  The problem did not occur for
small problems, only for problems over a certain size.

Can anyone shed some light on this?

Thanks

_______________________________________________
Ipopt mailing list
Ipopt at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/ipopt




More information about the Ipopt mailing list