我正在尝试将MKL与IPOPT联系起来以提高性能。我通读了以下有助于解决许多问题的线程。
但是,当我使用以下命令配置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
但是,如果我只是按照https://www.coin-or.org/Ipopt/documentation/node13.html#SECTION00043100000000000000中的说明使用./get通过ThirdParty安装未优化的库,则会得到以下内容
$ checking for COIN-OR package Mumps... yes: 1.6.0
我在.bashrc文件中以及在运行以下命令时将mklvar.sh作为源代码
$ echo $MKLROOT
我知道
$ /opt/intel/compilers_and_libraries_2018.2.199/linux/mkl
这似乎表明我正确地采购了MKL目录。如果有人对我的问题有任何见解,将不胜感激。
答案 0 :(得分:0)
这似乎是关于MUltifrontal大规模并行稀疏直接求解器(MUMPS)的问题,但是您已经用Massachusetts General Hospital Utility Multi-Programming System(MUMPS)标记了它。这是一个容易犯的错误。
如果您更改问题的标记方式,那么可能会更好地回答您的问题。
理想情况下,一些信誉良好的友好Stack Overflow用户会为MUMPS问题解决程序创建一个新标签,并将其与MUMPS nosql数据库区分开。
答案 1 :(得分:0)
对配置调用中的参数使用双引号而不是单引号。
使用单引号,${MKLROOT}
之类的变量不会扩展。