[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