Difference between MKL, MKL ML and MKL DNN

Reading time: 5 minutes

MKL

MKL is a BLAS library, containing all the BLAS level 1, 2 and 3 functionality. It is free for use under community support licensing but it is a closed sourced software.

MKL ML

MKLML is a open source BLAS library and is a subset of MKL and it is built by the MKL release team using standard MKL custom dynamic library builder. It contains smaller number of functions to reduce the size of the download and reduce the number of dynamic libraries user needs.

MKL DNN

MKLDNN is an open-source library developed to optimize operations in Deep Neural Networks. It has been developed by one of the MKL teams and that can be built completely standalone.

MKL DNN uses a BLAS library internally and hence, it does support linking with MKLML or MKL for additional performance. Other BLAS libraries such as OpenBLAS can be used as well.