mathnet-numerics
mathnet-numerics copied to clipboard
Intel® Math Kernel Library (Intel® MKL) 2017 Release
There is a new release of intels MKL library. This includes many performance improvements for processors supporting Advanced Vector Extensions (AVX and later incarnations). They have also included their Deep Learning Primitives in this release: https://software.intel.com/en-us/articles/intel-math-kernel-library-intel-mkl-2017-release-notes
Are there plans to update Math.net to include these latest additions?
Yes, I do plan to upgrade the MKL provider with the new MKL release.
However, covering and exposing more areas (like the new DNN primitives) is another matter. For me the priority right now is more on basics like fourier transforms and sparse linear algebra rather than DNN. But maybe someone would be interested to contribute coverage of deep learning primitives to speed things up.
The question still is why would someone would want to do Deep Learning on the CPU instead of on a GPU when there is specialized support on several dedicated libraries like CNTK, Torch, Caffe, etc
Without opening the whole GPU vs. CPU discussion, Intel is definitely targeting the Deep Learning market so I would expect CPU to become more and more viable. GPU support would of course also be very interesting.
As for CNTK, Torch, Caffe and others, none of them have a proper interface to C#. The main benefit of adding support for the DNN primitives in Math.net would be to provide a package of DNN building blocks for C# developers to build proper DNN libraries on. Here the important part is the highly optimized parts included in the MKL library. Just like it is very beneficial to use the MKL provider for matrix multiplication and Fourier transforms.
However, I definitely understand the prioritization with adding support for the basics before moving on to other areas.
- [x] Release MKL Providers v2.1.0 built against Intel MKL 2017: Windows
- [ ] Release MKL Providers v2.1.0 built against Intel MKL 2017: Linux
(without any code changes, just built against new libs)
That Linux provider would be nice to have. I can't seem to get the current one working. Just getting DLL not found exception whatever I do, but that's for another thread.
MKL 2017 Update 1 was released on 1 Nov 2016, would it be possible to update the MathNet.Numerics.MKL.*
packages to use the new version?