将 gfortran 与英特尔 MKL 链接

Posted

技术标签:

【中文标题】将 gfortran 与英特尔 MKL 链接【英文标题】:link gfortran with Intel MKL 【发布时间】:2017-12-17 17:38:53 【问题描述】:

我有一个用 Fortran 编写的应用程序,并调用英特尔 PARDISO 进行并行化。直接与 PARDISO 链接似乎不太可能,因为我当前使用的 gfortran 是 5.4.0。

假设计算机上安装了英特尔 MKL,您使用哪些编译器选项/标志起来? MKL 库版本为 2018.0。

非常感谢!

注意:使用ifort -mkl 标志编译应用程序时没有任何错误,该标志自然地将应用程序与英特尔 MKL 链接起来。

【问题讨论】:

查找英特尔链接顾问小程序。对于 Linux 或 Mac 应该没问题。 在另一个问题中,您说您与 MKL 链接。现在解决了吗?如果是,请写下答案或删除。 【参考方案1】:

我同意 @tim18 你应该使用链接顾问。

但是,使用gfortran 编译来自 Intel 的测试奇异值分解程序的工作如下:

gfortran -I$MKLROOT/include -fopenmp -o dgesvd dgesvd.f \
         -L$MKLROOT/lib/ -lmkl_core -lmkl_gnu_thread -lmkl_gf_lp64

【讨论】:

以上是关于将 gfortran 与英特尔 MKL 链接的主要内容,如果未能解决你的问题,请参考以下文章

即使使用 `-dec-math`,gfortran 也会对 `dacosd_` 给出未定义的引用

将英特尔 MKL 双数组与 MKL_Complex16 数组(和 exp)相乘?

gfortran使用`-dec-math`给`dacosd_`提供未定义的引用

在 Python-C++-C-Fortran 2003 程序中链接英特尔的 MKL

如何将 MKL v9.x 静态链接到托管 C++ DLL 以计算 FFT?

英特尔至强融核上的 MKL 3D 双精度复数 FFT