Я пытаюсь связать 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 # SECTION00043100000000000000 , я получу следующий
$ 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. Если у кого-то есть понимание моей проблемы, это будет очень цениться.