gpt4 book ai didi

c++ - 链接 Ipopt 与英特尔 MKL

转载 作者:行者123 更新时间:2023-11-30 00:46:33 24 4
gpt4 key购买 nike

我正在尝试将 Ipopt 与英特尔 MKL ( instructions ) 链接起来。

Intel's Link Advisor建议:

链接行:

 -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a -Wl,--end-group -lpthread -lm -ldl

编译器选项:

 -DMKL_ILP64 -qopenmp -I${MKLROOT}/include

我尝试配置 Ipopt:

../configure CXX=icpc CC=icc F77=ifort --with-blas=" -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_intel_thread.a -Wl,--end-group -lpthread -lm -ldl" CXXFLAGS=" -DMKL_ILP64 -qopenmp -I${MKLROOT}/include"

这最终失败表明:

checking whether user supplied BLASLIB=[text above]  does not work

最佳答案

首先,您需要确保已正确安装和配置 MKL,如此处所示。

https://software.intel.com/en-us/get-started-with-parallel-studio-xe-for-linux

一种永久性的方法是将以下行放入您的 .bashrc.profile

source /opt/intel/parallel_studio_xe_2016.<##>.<###>/psxevars.sh intel64

您可以使用以下命令行来检查 MKL 是否准备就绪。它应该显示有效的 MKL 安装目录。

$ echo $MKLROOT

如果您使用 MKL 链接线顾问,为什么不严格按照说明进行操作?我注意到您在链接选项和整个编译选项中错过了 OpenMP lib -liomp5

我可以使用单个动态 MKL 构建 Ipopt

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

和通过动态 MKL

$ mkdir build
$ cd build
$ ../configure --with-blas='-Wl,--no-as-needed -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_intel_thread -liomp5 -lpthread -lm -ldl' CFLAGS=' -m64 -I${MKLROOT}/include' CXXFLAGS=' -m64 -I${MKLROOT}/include'

但它不适用于静态 MKL。

以上设置仅适用于 gcc 编译器。


带 icc 编译器的动态 MKL 也适用于以下设置。

$ mkdir build
$ cd build
$ ../configure --with-blas=' -L${MKLROOT}/lib/intel64 -lmkl_intel_ilp64 -lmkl_core -lmkl_intel_thread -lpthread -lm -ldl' CFLAGS=' -DMKL_ILP64 -qopenmp -I${MKLROOT}/include' CXXFLAGS=' -DMKL_ILP64 -qopenmp -I${MKLROOT}/include' CC=icc CXX=icpc

关于c++ - 链接 Ipopt 与英特尔 MKL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38038444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com