[Ipopt] Multiple Cores

Tony Kelman kelman at berkeley.edu
Sat May 18 10:09:50 EDT 2013


There are several errors here. The “multiple definition of ‘_Unwind_SjLj_Unregister’” and similar are because you need to add -static-libgcc to ADD_FFLAGS, so you should have ADD_FFLAGS=”-fopenmp -static-libgcc”.

I don’t think MKL supports using MinGW gcc/gfortran on Windows. The _intel_ in those library names indicates they are the versions intended for use with the Intel compilers. Does Windows MKL include library versions named _gnu_ or _mingw_ or anything to that effect? A quick Google search indicates that __security_check_cookie and __GSHandlerCheck come from Visual Studio. You may need to find and link against bufferoverflowu.lib and/or gshandler.obj, if you can find those files anywhere on your system.

-Tony


From: Mostafa.B 
Sent: Friday, May 17, 2013 2:25 PM
To: Tony Kelman 
Cc: ipopt at list.coin-or.org 
Subject: Re: [Ipopt] Multiple Cores

I just figured out that the_dll libraries should be found so using the below I configured IPopt successfully 

../configure ADD_FFLAGS=-fopenmp \
  --with-blas=”-L/C/Intel/COMPOS~1/mkl/lib/intel64 \
  -lmkl_intel_lp64_dll -lmkl_intel_thread_dll -lmkl_core_dll \
  -Wl,--rpath,/C/Intel/COMPOS~1/mkl/lib/intel64” \
  --with-lapack=”-L/C/Intel/COMPOS~1/mkl/lib/intel64 \
  -lmkl_intel_lp64_dll -lmkl_intel_thread_dll -lmkl_core_dll \
  -Wl,--rpath,/C/Intel/COMPOS~1/mkl/lib/intel64”

but when I ran "make" I got an error, bad reloc address 0x1 in section '.text[dgetrf].

I have also attached the screenshot showing the error.

any suggestions?

Regards

-Mosy




On Fri, May 17, 2013 at 12:28 PM, Mostafa.B <bakhtvar at gmail.com> wrote:

  Hi, 

  I just tried what you said in Windows 8 64 bit, MingW64 as below:

  ../configure ADD_FFLAGS=-fopenmp \
    --with-blas=”-L/C/Intel/COMPOS~1/mkl/lib/intel64 \
    -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core \
    -Wl,--rpath,/C/Intel/COMPOS~1/mkl/lib/intel64” \
    --with-lapack=”-L/C/Intel/COMPOS~1/mkl/lib/intel64 \
    -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core \
    -Wl,--rpath,/C/Intel/COMPOS~1/mkl/lib/intel64”

  but I get configuration error: BLAS doesn't work

  -Mosy



  On Mon, May 13, 2013 at 10:28 AM, Tony Kelman <kelman at berkeley.edu> wrote:

    Quick correction. In my last email when I said “Here’s how I most recently configured Ipopt to use sequential MKL,” that was actually what I used for mulithreaded MKL, sorry.

    And regarding use with MA86 or MA97, be sure you compile them with OpenMP support (hence the FFLAGS=-fopenmp, assuming gfortran compiler). You control the number of threads used by an OpenMP solver (MA86, MA97, and Pardiso) by setting the environment variable OMP_NUM_THREADS.

    If you’re using the bash shell, you set an environment variable as follows (example for 4 threads):
    export OMP_NUM_THREADS=4
    With C shell, the corresponding command is:
    setenv OMP_NUM_THREADS 4
    When you use both multithreaded MKL and a multithreaded linear solver, you should control the number of threads used by MKL specifically with the MKL_NUM_THREADS environment variable, otherwise it will use the OMP_NUM_THREADS setting (which may not be what you want, if you’ve got a parallel linear solver calling parallel BLAS).
    WSMP uses pthreads rather than OpenMP, so you control the number of threads used with that solver by an Ipopt option wsmp_num_threads instead of an environment variable.
    One thing I’ve noticed when running Ipopt with a parallel linear solver is the “Total CPU secs in IPOPT” will be higher than the wall time (multiple CPU’s are being used, so I guess it means what it says). With print_timing_statistics set to yes you will get the CPU time, system time, and wall time all broken down.
    -Tony
     

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20130518/2f20e719/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 33208 bytes
Desc: not available
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20130518/2f20e719/attachment-0001.png>


More information about the Ipopt mailing list