0

Math.Net Numerics returning

"Native Provider Probing failed to resolve creator" when trying to use MKL or OpenBLAS

I'm trying to enable acceleration using either MKL or OpenBLAS on a Windows machine.

I've added both Nuget packages, and it now seems to be finding the dlls.

However I get an error saying:

NotSupportedException: Native Provider Probing failed to resolve creator at MathNet.Numerics.Providers.ProviderProbe'1.Create() at MathNet.Numerics.Control.UseNativeOpenBLAS()

when calling:

MathNet.Numerics.Control.UseNativeOpenBLAS();

What am I doing wrong?

[EDIT 1]

using MathNet.Numerics.LinearAlgebra.Double; 
using MathNet.Numerics.LinearRegression; 
using MathNet.Numerics.Providers.OpenBLAS; 
using MathNet.Numerics.Providers.MKL;

Nuget packages:

MathNet.Numerics
MathNet.Numerics.MKL.Win-x64
MathNet.Numerics.Providers.OpenBLAS

[EDIT 2] If I change my code to this:

    const string OpenBlasTypeName = "MathNet.Numerics.Providers.OpenBLAS.LinearAlgebra.OpenBlasLinearAlgebraControl, MathNet.Numerics.Providers.OpenBLAS";
    var OpenBlasProbe = new ProviderProbe<ILinearAlgebraProvider>(OpenBlasTypeName, AppSwitches.DisableOpenBlasNativeProvider);
    var x1 = OpenBlasProbe.Create();

    MathNet.Numerics.Control.UseNativeOpenBLAS();

then it seems to get further, I don't know why. Now the error I get is:

NotSupportedException: OpenBLAS Native Provider not found. ---> DllNotFoundException: Unable to load DLL 'libMathNetNumericsOpenBLAS': The specified module could not be found. (Exception from HRESULT: 0x8007007E) at query_capability in at MathNet.Numerics.Providers.OpenBLAS.SafeNativeMethods.query_capability(Int32 capability) at MathNet.Numerics.Providers.OpenBLAS.OpenBlasProvider.Load(String hintPath)

I can't find libMathNetNumericsOpenBLAS.dll anywhere - what do I do?

Ben
  • 3
  • 3

0 Answers0