Native Linear Algebra Providers

Apr 13, 2013 at 12:47 PM
Hi

Just started playing around with math.net and Native Linear Algebra Providers (MKL). I just want to clarify whether I have to purchase MKL from intel and recompile them as described on this site? I notice the two required files have been installed through nuget but in a sample VB app I made testing matrix addition there was no real speed improvement when I switch from the default provider and use the MKL provider.

Thanks
Coordinator
Apr 14, 2013 at 8:13 PM
Hi

We do have an MKL license so we are allowed to redistribute our native MKL package and permit our users to use it, but that does not imply that you have a right to redistribute it yourself as part of your product. Best ask a lawyer, talk to Intel directly or buy a license yourself to be on the safe side.

From the technical side, the code is not aware whether you do have a license or not, i.e. there's no licensing module. If it doesn't work then it is a technical problem unrelated to licensing. Did you enable the MKL provider explicitly by setting Control.LinearAlgebraProvider = new MklLinearAlgebraProvider()? Note that not all algorithms are mapped to native providers yet, for example our current sparse data structures do not yet leverage MKL at all.

Thanks,
Christoph
Marked as answer by cdrnet on 10/3/2013 at 5:42 PM
Apr 16, 2013 at 5:31 PM
Hi, Christoph,

Is the MKL dll checked into the repository? If not, where can I obtain it to use in Math .net?

Thanks,
Candy
Coordinator
Apr 17, 2013 at 9:18 AM
Hi Candy,

The recommended way is to use the NuGet packages, see http://christoph.ruegg.name/blog/2013/2/3/mathnet-numerics-with-native-linear-algebra.html.

Thanks,
Christoph