Ссылка против openblas; нужен ли мне еще Лапак?

Я компилирую Ipopt с openblas, используя связь: ./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 автоматически использует LAPACK из netlib. Есть ли в 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.hin theincludefolder but there are not LAPACK libraries in thelib`.

Я нашел эту проблему на GitHub, в которой говорится:

ОК, кажется, я разобрался... Вы можете сделать сборку OpenBLAS без включения в нее LAPACK, указав >NO_LAPACK=1 в командной строке make. По умолчанию он > включает в себя полную библиотеку LAPACK (с некоторыми оптимизированными частями).

Но если это так, то где библиотеки?

Должен ли я компилировать LAPACK против openblas?

Я был бы очень признателен, если бы кто-то мог пролить свет на этот вопрос.


person Moritz    schedule 03.10.2015    source источник


Ответы (1)


В файле changelog.txt в папке OpenBLAS сказано:

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

Также проверьте макет исходного кода на этой странице и на этой странице сказано: "OpenBLAS реализует оптимизированные версии некоторых функций LAPACK"

Основываясь на этом, я думаю, что OpenBLAS загрузил Lapack из netlib, а затем оптимизировал некоторые из них. Вы в состоянии найти альтернативу, хотя?

Кстати, LAPACK требуется только в том случае, если вы собираетесь использовать квазиньютоновские параметры в Ipopt.

person W.Ma    schedule 22.07.2017