嗨,我试图从mathdotnet与单声道在Linux中使用Mkl本机提供商。Mono Mathnet MKL Nativer provider not found
我使用monodevelop并通过buildin NuGet包管理器安装了MathNet.Numerics和MathNet.Numerics.MKL.Linux-x64和-x86包。
当我尝试此代码时,我得到System.NotSupportedException:未找到MKL本机提供程序。
using System;
using MathNet.Numerics.LinearAlgebra;
using MathNet.Numerics.LinearAlgebra.Double;
using MathNet.Numerics;
namespace mdeveloptest
{
class MainClass
{
public static void Main (string[] args)
{
Control.UseNativeMKL();
Matrix<double> a = DenseMatrix.OfArray(new double[,] { {1,2,3}, {4,5,6}, {7,8,9}});
Matrix<double> b = DenseMatrix.OfArray(new double[,] { {1,2,3}, {4,5,6}, {7,8,9}});
Console.WriteLine (a*b);
}
}
}
MKL包提供了libiomp5.so和MathNet.Numerics.MKL.dll文件。在Windows中,将这些文件复制到输出目录就足够了,但在linux中似乎不够用。
我也不确定我是否需要x64或x86软件包,或者单声道莫名其妙地可以自己选择合适的软件包。
喜,THX的帮助。我正在使用mathnet v3.7。我试着把Control.NativeProvierPath,ldconfig放到/ lib,然后把ibiomp5.so和MathNet.Numerics.MKL.dll复制到包含.exe文件的文件夹中。除了设置LD_LIBRARY_PATH变量之外,没有任何工作。 – Robert