如何定位和链接与 MATLAB 附带的完全相同的英特尔 MKL?

问题描述

标题中的问题总结了我的目标,具体如下。

目标是编译依赖于英特尔 MKL 函数调用(例如矩阵逆计算)的基于 C++ 的 mex 文件。

为此,我想确保使用与 MATLAB 附带的完全相同的英特尔 MKL 库,以避免任何兼容性问题。在这种特殊情况下,这是:

>> version('-blas')

ans =

    'Intel(R) Math Kernel Library Version 2018.0.3 Product Build 20180406 for Intel(R) 64 architecture applications,CNR branch AVX
     '

>> version('-lapack')

ans =

    'Intel(R) Math Kernel Library Version 2018.0.3 Product Build 20180406 for Intel(R) 64 architecture applications,CNR branch AVX
     Linear Algebra PACKage Version 3.7.0
     '

警告:上述 Intel MKL BLAS & LAPACK 与 Intel 官网下载的不同。出于上述潜在的兼容性原因,我不想使用后者。

上述参考静态/动态英特尔 MKL 库位于哪个 MATLAB 文件夹中?

我在许多 MATLAB 文件夹中广泛搜索了它们,但不幸的是我找不到它们。似乎它们被“埋葬”在 MATLAB 深处。

怎么可能做到这一点?

我的设置:Windows 10、MATLAB R2091b、英特尔 MKL。

我非常感谢您的帮助。提前致谢。

解决方法

在我的 Win64 机器上,我在这里找到它们

[matlabroot '/extern/lib/win64/microsoft']

这里

[matlabroot '/extern/lib/win64/mingw64']

BLAS 库名为 libmwblas.lib,LAPACK 库名为 libmwlapack.lib

作为参考,请注意在 R2007a 及更早版本中,The Mathworks 将 BLAS 和 LAPACK 库作为单个组合库发布。直到 R2007b 及更高版本,它们才作为两个独立的库发布。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...