I am using v3.11.1 of math.net. MathNet.Numerics.MKL.Win v2.0 is already installed using NuGet. x86 and x64 folders are already exist in debug directory. Related DLLs such as 'MathNet.Numerics.MKL.dll' and 'libiomp5md.dll' and 5 more are already exist in x86 and x64 folders. 'Control.UseManaged' is available but many commands like 'Control.UseNativeMKL' are not available. How could I solve my problem?
Asked
Active
Viewed 178 times
0
-
What is your target framework/platform? Math.NET Numerics supports a lot of platforms, but native providers are currently only available on the full .Net framework. – Christoph Rüegg Jun 12 '16 at 05:18
-
I am using visual studio 2015 and .Net v4.6. I test it with other version of .Net but it just didn't resolve my problem. I could not still use 'Control.UseNativeMKL'. – Amin Jun 12 '16 at 11:57
-
Can you check what variant NuGet had installed into your project file? For .Net 4.6 it should have taken the one in "lib\net40", but I suspect it has chosen another one (NuGet regression?). Only the net40 one supports native providers. – Christoph Rüegg Jun 12 '16 at 13:07
-
I found my problem. Although it seams it is version 3.11.1 in NuGet package manager but I check DLL path and find out it is v3.4. I expect using nativeMKL could improve efficiency but it was 5 times slower. Using UseManaged gets the result in about 120 ms but UseNativeMKL gets result in about 600~700 ms and UseOpenBlas gets result in about 150 ms. Is it OK or somethings is still wrong? – Amin Jun 12 '16 at 15:54