2

我正在尝试将 MKL 与 IPOPT 联系起来以提高性能。我已经阅读了以下线程,它帮助解决了我的很多问题。

将 Ipopt 与英特尔 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

但是,如果我只是按照https://www.coin-or.org/Ipopt/documentation/node13.html#SECTION00043100000000000000中的说明使用 ./get 通过第三方安装未优化的库,那么我会得到以下信息

    $ 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 目录。如果有人对我的问题有任何见解,将不胜感激。

4

2 回答 2

0

在您的配置调用中使用双引号而不是单引号。使用单引号,变量 like${MKLROOT}不会被扩展。

于 2021-05-18T13:39:16.233 回答
0

这似乎是一个关于 MUltifrontal Massively Parallel sparse direct Solver (MUMPS) 的问题,但您已使用马萨诸塞州综合医院实用程序多程序系统 (MUMPS) 标记对其进行了标记。这是一个容易犯的错误。

如果您更改标签的方式,您可能会更幸运地回答您的问题。

理想情况下,一些具有足够高声誉的友好 Stack Overflow 用户会为 MUMPS 问题解决者创建一个新标签,并将其与 MUMPS nosql 数据库区分开来。

于 2018-09-05T15:49:42.503 回答