[Ipopt] Using ipopt with PARDISO
Stefan Vigerske
stefan at math.hu-berlin.de
Mon May 24 15:37:38 EDT 2010
Hi,
> --------------------------------
> %../configure --with-pardiso="-qsmp=omp
> $HOME/PARDISO/PARDISO-4.0.0/libpardiso400_GNU430_AMD_IA64.so"
>
> ...
>
> checking whether -lblas has BLAS... yes
> checking whether LAPACK is already available with BLAS library... no
> checking whether -llapack has LAPACK... no
> configure: WARNING: Compiling code without LAPACK. Certain options
> (e.g., quasi-Newton) will not work.
> checking whether METIS is available... no
> configure: Checking for Harwell subroutine library
> checking whether user-supplied Pardiso library
> "-L/users/extras/renata/ipfilter/ipfilter_6apr09_USI_RC/worhp-svn/ipfilter-worhp-pardiso/lib
> -lpardiso -fopenmp" works... configure: error: Pardiso library
> -L/users/extras/renata/ipfilter/ipfilter_6apr09_USI_RC/worhp-svn/ipfilter-worhp-pardiso/lib
> -lpardiso -fopenmp does not seem to work
> configure: error: /bin/sh '../../Ipopt/configure' failed for Ipopt
> --------------------------------
You may wanna have a look into Ipopt/config.log to see what make the
check fail. Maybe it is a missing -lgomp in --with-pardiso?
> In the late mailing messages, someone told me that I should use an
> optimized BLAS to run PARDISO, so, after downloading GoToBLAS, I did
> the following:
>
> --------------------------------
> %../configure --with-blas="-L$HOME/PARDISO/PARDISO-4.0.0 -lgoto2"
> --with-pardiso="-qsmp=omp
> $HOME/PARDISO/PARDISO-4.0.0/libpardiso400_GNU430_AMD_IA64.so"
>
> ....
>
> checking whether user supplied
> BLASLIB="-L/users/extras/renata/PARDISO/PARDISO-4.0.0 -lgoto2"
> works... no
> configure: error: user supplied BLAS library
> "-L/users/extras/renata/PARDISO/PARDISO-4.0.0 -lgoto2" does not work
> configure: error: /bin/sh '../../Ipopt/configure' failed for Ipopt
> --------------------------------
Mostly the same: You may wanna have a look into Ipopt/config.log to see
why linking against your Blas library failed. It may show you some
unresolved symbols.
> I also tried to run sdipo and got this:
>
> --------------------------------
> %sdipo ALSOTAME
>
> Using source file /users/extras/renata/CUTEr_upd/mastsif/ALSOTAME.SIF
>
> Problem name: ALSOTAME
>
> Double precision version will be formed.
>
> The objective function uses 1 nonlinear group
>
> There is 1 nonlinear equality constraint
>
> There are 2 variables bounded from below and above
>
>
> Exception of type: OPTION_INVALID in file
> "../../../../Ipopt/src/Algorithm/IpAlgBuilder.cpp" at line 327:
> Exception message: Selected linear solver Pardiso not available.
> Tried to obtain Pardiso from shared library "libpardiso.so", but the
> following error occured:
> /users/extras/renata/PARDISO/PARDISO-4.0.0/libpardiso400_GNU430_AMD_IA64.so:
> undefined symbol: GOMP_loop_dynamic_next
>
> EXIT: Invalid option encountered.
>
> ...
> --------------------------------
>
> Again, looking at the old mailing list messages, I see that I need to
> link the -lgomp library, so I tried:
>
> --------------------------------
>
> % ../configure CFLAGS="-lgomp -fopenmp -O3 -lpthread" FFLAGS="-lgomp
> -fopenmp -O3 -lpthread -fno-second-underscore"
> --with-blas="-L$HOME/PARDISO/PARDISO-4.0.0 -lgoto2"
> --with-pardiso="-qsmp=omp
> $HOME/PARDISO/PARDISO-4.0.0/libpardiso400_GNU430_AMD_IA64.so"
-lgomp should be in LDFLAGS (linker flags), not in CFLAGS or FFLAGS
(compiler flags).
Stefan
More information about the Ipopt
mailing list