[Ipopt] Multiple Cores

Mostafa.B bakhtvar at gmail.com
Sat May 18 10:57:07 EDT 2013


Oh I can see, how about GotoBlas2?
do you know what should I enter after ../configure to build IPopt with that?

On Sat, May 18, 2013 at 7:09 AM, Tony Kelman <kelman at berkeley.edu> wrote:

>   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 <bakhtvar at gmail.com>
> *Sent:* Friday, May 17, 2013 2:25 PM
> *To:* Tony Kelman <kelman at berkeley.edu>
> *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
>
> [image: Inline image 1]
>
> 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/71536dfd/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/71536dfd/attachment-0001.png>


More information about the Ipopt mailing list