Open econwang opened 5 years ago
I will check on an install of an intel compiler and will answer your question ASAP.
Sorry for the delay. I installed mkl on my fedora machine and fixed some things related to mkl / pardiso compilation. Now, I am able to build an ipopt executable which really depends on mkl.
$ ldd bin/ipopt
linux-vdso.so.1 (0x00007fff0f5d9000)
libmkl_intel_lp64.so => /opt/intel/mkl/lib/intel64/libmkl_intel_lp64.so (0x00007f4e3cef4000)
libmkl_gnu_thread.so => /opt/intel/mkl/lib/intel64/libmkl_gnu_thread.so (0x00007f4e3b6a0000)
libmkl_core.so => /opt/intel/mkl/lib/intel64/libmkl_core.so (0x00007f4e37514000)
libgomp.so.1 => /usr/lib64/libgomp.so.1 (0x00007f4e374e2000)
libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007f4e374dc000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f4e37342000)
libm.so.6 => /usr/lib64/libm.so.6 (0x00007f4e371be000)
libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f4e371a3000)
libc.so.6 => /usr/lib64/libc.so.6 (0x00007f4e36fdd000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4e3da44000)
libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007f4e36fbb000
Many thanks, I finally get a working version with mkl pardiso linked on Windows. Several issues:
rand
on windows (previous version can, but I do not remember the version number), I just activate it with set(HAVE_RAND 1)add_definitions
were mistyped as add_definition
IPOPT_HAS_PARDISO_MKL
, should turn off IPOPT_ENABLE_INEXACT
, source https://list.coin-or.org/pipermail/ipopt/2014-November/003878.htmlPoint 2 is fixed. For point 3, I do not totally agree:
However, **IpIterativePardisoSolverInterface.cpp should only be compiled if configuring with --enable-inexact-solver**, in which case configure should also have figured that your Pardiso lib does not fit. Thus,
either there is a bug in configure (workaround by not using --enable-inexact-solver), or you use some selfmade buildsystem, which isn't supported.
I will try to investigate a little more on this point.
Point 1 is fixed (a residual libm for linux while testing for symbols). std::isnan still not detected but this is because of the microsoft implementation of std::isnan .. to be investigated).
I will check which variable to activate for Pardiso and for the other solvers for Point 4
Does the ipopt script support Pardiso from MKL? if so, then how to set the options?
many thanks