mathnet-numerics icon indicating copy to clipboard operation
mathnet-numerics copied to clipboard

Intel® Math Kernel Library (Intel® MKL) 2017 Release

Open mdabros opened this issue 7 years ago • 6 comments

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?

mdabros avatar Sep 07 '16 05:09 mdabros

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.

cdrnet avatar Sep 07 '16 08:09 cdrnet

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

redknightlois avatar Sep 07 '16 12:09 redknightlois

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.

mdabros avatar Sep 07 '16 14:09 mdabros

  • [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)

cdrnet avatar Sep 08 '16 08:09 cdrnet

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.

atlemann avatar Oct 17 '16 07:10 atlemann

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?

mjmckp avatar Jan 19 '17 21:01 mjmckp