Связывание Ipopt с MKL, проблема с MUMPS

Я пытаюсь связать MKL с IPOPT для повышения производительности. Я прочитал следующую тему, которая помогла мне решить многие мои проблемы.

Связывание Ipopt с Intel MKL

Однако, когда я перехожу к настройке Ipopt, используя следующую команду.

    $ ../configure --prefix=/usr/local/ --with-blas='-L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_rt -lpthread -lm -ldl' CFLAGS='-m64 -I${MKLROOT}/include' CXXFLAGS='-m64 -I${MKLROOT}/include'

Я получаю эту ошибку, которая, кажется, вызывает проблемы при попытке собрать библиотеки ipopt.

    $ checking for COIN-OR package Mumps... not given: Variable 'MKLROOT'     not defined in '/home/romela/Ipopt-3.12.10/build/ThirdParty/Mumps/coinmumps-uninstalled.pc

Однако, если я просто установлю неоптимизированные библиотеки через ThirdParty, используя ./get, как указано в https://www.coin-or.org/Ipopt/documentation/node13.html#SECTION000431000000000000000, то я получаю следующее

    $ checking for COIN-OR package Mumps... yes: 1.6.0 

Я использую mklvar.sh в своем файле .bashrc, и когда я запускаю следующее

    $ echo $MKLROOT

я получил

    $ /opt/intel/compilers_and_libraries_2018.2.199/linux/mkl

Похоже, я правильно нахожу каталог MKL. Если кто-то имеет какое-либо представление о моей проблеме, это было бы очень признательно.


person user2062758    schedule 03.09.2018    source источник


Ответы (2)


Кажется, это вопрос о MUltifrontal Massively Parallel sparse direct Solver (MUMPS), но вы пометили его тегом Multi-Programming System Massachusetts General Hospital Utility (MUMPS). Это легко сделать ошибку.

Возможно, вам больше повезет получить ответ на ваш вопрос, если вы измените способ его пометки.

В идеале, какой-нибудь дружелюбный пользователь Stack Overflow с достаточно высокой репутацией должен создать новый тег для Решателя проблем MUMPS и отличить его от базы данных nosql MUMPS.

person Neils Schoenfelder    schedule 05.09.2018

Использование двойных кавычек вместо одинарных для аргументов в вашем вызове configure. В одинарных кавычках такие переменные, как ${MKLROOT}, не раскрываются.

person stefan    schedule 18.05.2021