嗨,我試圖從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