C# 在单声道中使用 MKL 库

C# Use MKL library in mono

我有一个 C# 控制台项目,它是在 Windows 上使用 .net Framework 4.6 在 visual studio 中开发的。在我的项目中使用 MKL 和 IPP 库。在 Windows 我的项目 运行 正确。我迁移到 CentOS 7 并希望 运行 我的项目在此 OS。我有几个问题已解决。现在我的项目构建成功并且 运行 正确,直到现在使用 MKL 库。第一次使用 MKL 时出现 System.DllNotFoundException" mkl_rt.dll 错误。但所有 MKL dll(包括 mkl_rt.dll)都存在于 .exe 文件旁边。

您可以从 https://software.intel.com/en-us/mkl/choose-download

下载 linux 的 MKL

安装此 .so 文件后存在。您可以找到 libmkl_rt.so 并将其复制到您的 .exe 文件旁边或将其添加到 ldconfig.

一个注释 - Libmkl_rt.so 使您能够在 运行 时间 select 英特尔 MKL 的接口和线程库。默认情况下,libmkl_tr.so 链接到英特尔线程 运行 时间 – libiomp5。因此,在您的情况下,您还需要将此共享对象添加到您的系统路径中。查看更多详细信息,请遵循 mkl 开发人员用户指南“Using the Single Dynamic Libraries