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()
atMathNet.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?