MKLML does not have a complete blas library and if you don’t link in another blas library like open blas, some functions will blow up (ie some of the linalg functions).
I was not aware of MKLML still being required with MKLDNN. I’ve never gotten a definitive answer about this from Da, although I’ve asked a couple of times. What does Da say about all of this? Unless there’s good reason to the contrary, removing MKLML and requiring the larger, strangely licensed standalone MKL for everyone seems a bit heavy-handed. On Thu, Sep 20, 2018 at 7:41 AM Lv, Tao A <tao.a...@intel.com> wrote: > Hah, seems it's a little confusing here. I think the "Intel MKL" in the > first statement includes both the full MKL and MKLML library. And the > "dynamic library" there obviously means the MKLML which is delivered in > MKL-DNN repo. > > MKLML is a subset of full MKL and includes all BLAS functions for both > single precision and double precision. From this point of view, I think it > can be used as a BLAS library, but cannot be used as full MKL. > > -tao > > -----Original Message----- > From: Chris Olivier [mailto:cjolivie...@gmail.com] > Sent: Thursday, September 20, 2018 9:36 PM > To: dev@mxnet.incubator.apache.org > Subject: Re: Remove MKLML as dependency > > thanks for the info. I am still a little confused — your statement said > “MKL” and not “MKLML”, so my question is still the same. Are GEMMS in > MKLML or just MKL? I know MKLML doesn’t have a blas library like the main > MKL. > > On Wed, Sep 19, 2018 at 11:49 PM Lv, Tao A <tao.a...@intel.com> wrote: > > > Hi Chris, please kindly check the statements here: > > https://github.com/intel/mkl-dnn#installation > > > > " Intel MKL-DNN can take advantage of optimized matrix-matrix > > multiplication (GEMM) function from Intel MKL. The dynamic library > > with this functionality is included in the repository. " > > > > " You can choose to build Intel MKL-DNN without binary dependency. The > > resulting version will be fully functional, however performance of > > certain convolution shapes and sizes and inner product relying on > > SGEMM function may be suboptimal." > > > > -tao > > > > -----Original Message----- > > From: Chris Olivier [mailto:cjolivie...@gmail.com] > > Sent: Thursday, September 20, 2018 11:20 AM > > To: dev@mxnet.incubator.apache.org > > Subject: Re: Remove MKLML as dependency > > > > maybe I missed it, but what does MKLML have that mkldnn doesn’t have > > that makes it necessary? > > > > what’s the motivation for removing it? > > > > On Tue, Sep 18, 2018 at 11:31 PM Lv, Tao A <tao.a...@intel.com> wrote: > > > > > If you just want to test the performance, I think you need link MKL > > > for BLAS and MKL-DNN for NN. Also MKL-DNN should link MKL for better > > > performance. > > > > > > Here are some ways for you to install full MKL library if you don't > > > have > > > one: > > > 1. Register and download from intel website: > > > https://software.intel.com/en-us/mkl > > > 2. Apt-get/yum: currently it need configure Intel’s repositories. > > > a. > > > > > https://software.intel.com/en-us/articles/installing-intel-free-libs-a > > nd-python-yum-repo > > > b. https://software.intel.com/en-us/articles/ > > > thatinstalling-intel-free-libs-and-python-apt-repo > > > <https://software.intel.com/en-us/articles/installing-intel-free-lib > > > s- > > > and-python-apt-repo> 3. pip install mkl / mkl-devel: ‘mkl’ package > > > and-python-apt-repo> has > > > the runtime and ‘mkl-devel’ includes everything with the headers > > > a. > > > https://software.intel.com/en-us/articles/installing-the-intel-distr > > > ib ution-for-python-and-intel-performance-libraries-with-pip-and > > > 4. conda install: also has mkl and mkl-devel > > > a. https://anaconda.org/intel/mkl > > > b. https://anaconda.org/intel/mkl-devel > > > > > > If you want to redistribute MKL with MXNet, you may need take care > > > of the license issue. Currently, MKL is using ISSL ( > > > https://software.intel.com/en-us/license/intel-simplified-software-l > > > ic > > > ense > > > ). > > > > > > -----Original Message----- > > > From: Zai, Alexander [mailto:alex...@amazon.com.INVALID] > > > Sent: Wednesday, September 19, 2018 12:49 PM > > > To: dev@mxnet.incubator.apache.org > > > Subject: Re: Remove MKLML as dependency > > > > > > Will test it out tomorrow. > > > > > > On the side, what is the best way to test MKL build for MXnet. MKL > > > is licensed? > > > > > > Best, > > > Alex > > > > > > On 9/18/18, 7:50 PM, "Lv, Tao A" <tao.a...@intel.com> wrote: > > > > > > Hi Alex, > > > > > > Thanks for bringing this up. > > > > > > The original intention of MKLML is to provide a light and > > > easy-to-access library for ML/DL community. It's released with > > > MKL-DNN under Apache-2.0 license. > > > > > > AFAIK, MKL-DNN still relies on it for better performance. So I'm > > > afraid there will be a performance regression in MKL pip packages if > > > MKLML is simply removed. > > > > > > Have you ever tried the build without MKLML and how does the > > > performance look like? > > > > > > -tao > > > > > > -----Original Message----- > > > From: Alex Zai [mailto:aza...@gmail.com] > > > Sent: Wednesday, September 19, 2018 4:49 AM > > > To: dev@mxnet.incubator.apache.org > > > Subject: Remove MKLML as dependency > > > > > > On our build from source page we have a list of blas libraries > > > that are recommended: > > > > > > https://mxnet.incubator.apache.org/install/build_from_source.html > > > > > > MKL-DNN > > > MKL > > > MKLML > > > Apple Accelerate > > > OpenBlas > > > > > > MKLML is a subset of MKL ( > > https://github.com/intel/mkl-dnn/issues/102) > > > and therefore MKLML users can just use MKL instead. Does anyone > > > see an issue with me removing this? It would simplify out doc page > > > and > > build file. > > > > > > Alex > > > > > > > > > > > >