Mor*_*itz 5 blas lapack ipopt openblas
我使用以下链接使用 openblas 编译 Ipopt:./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"
如果我没有定义任何特定的 LAPACK 库,Ipopt 会自动使用 netlib 中的 LAPACK。openplas 是否有自己优化的 LAPACK 实现?
如果我使用--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 失败,因为无法解析某些 Lapack 例程,例如undefined reference todpotrs_
At least there is the filelapacke.h in theinclude folder but there are not LAPACK libraries in thelib` 文件夹。
我在 GitHub 上发现了这个问题:
好的,我想我想通了...您可以通过在 make 命令行上指定 NO_LAPACK=1 来构建 OpenBLAS,而不包含 LAPACK。默认情况下,它包含完整的 LAPACK 库(某些部分已优化)。
但如果是这种情况,库在哪里?
我应该针对 openblas 编译 LAPACK 吗?
如果有人能够阐明这个问题,我将不胜感激。
小智 1
在OpenBLAS文件夹中的changelog.txt上,它说
* Patched LAPACK to fix bug 114, 117, 118.
(http://www.netlib.org/lapack/bug_list.html)
Run Code Online (Sandbox Code Playgroud)
另请检查此页面的源代码布局,此页面说:“OpenBLAS实现了一些LAPACK函数的优化版本”
基于这些,我认为OpenBLAS从netlib下载Lapack,然后优化其中一些。你能找到替代方案吗?
顺便说一句,只有当您打算在 Ipopt 中使用拟牛顿选项时才需要 LAPACK