4

I do compile Ipopt with openblas using the linkage: ./configure --with-blas-incdir="-L/home/moritz/build/CoinIpopt_test/ThirdParty/openblas/include/" --with-blas-lib="-L/home/moritz/build/CoinIpopt_test/ThirdParty/openblas/lib/ -libopenblas_sandybridgep-r0.2.14.a"

If I do not define any specific LAPACK library, Ipopt automatically uses the LAPACK from netlib. Does openplas comes with its own optimized LAPACK implementation ?

If I use --with-lapack-incdir="-L/home/moritz/build/CoinIpopt_test/ThirdParty/openblas/include/" --with-lapack-lib="-L/home/moritz/build/CoinIpopt_test/ThirdParty/openblas/lib/"

make fails because some Lapack routines could not be resolved e.g undefined reference todpotrs_ At least there is the filelapacke.hin theincludefolder but there are not LAPACK libraries in thelib` folder.

I found this issue on GitHub stating:

OK, I think I figured it out... You can make OpenBLAS build without including LAPACK in it, by >specifying NO_LAPACK=1 on the make command line. By default, it >includes a full LAPACK lib (with some parts optimized).

But if this is the case where are the libs ?

Should I compile LAPACK against openblas ?

I would highly appreciate it, if someone could shed some light on this issue.

Moritz
  • 5,130
  • 10
  • 40
  • 81

1 Answers1

1

On the changelog.txt in the OpenBLAS folder, it said

    * Patched LAPACK to fix bug 114, 117, 118. 
  (http://www.netlib.org/lapack/bug_list.html)

Also check the source code layout at this page, and this page said: "OpenBLAS implements optimized versions of some LAPACK functions"

Based on these, I think OpenBLAS download Lapack from netlib and then optimized some of it. Are you able to find an alternative though?

BTW, LAPACK is only required if you intend to use the quasi-Newton options in Ipopt

W.Ma
  • 11
  • 2