mxnet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lv, Tao A" <tao.a...@intel.com>
Subject RE: Remove MKLML as dependency
Date Thu, 20 Sep 2018 17:01:25 GMT
" 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)."
- Is there any GitHub issue for this problem? Maybe we can take a look.

"I was not aware of MKLML still being required with MKLDNN."
- Just to clarify, MKL-DNN doesn't require MKLML. For performance, MKL-DNN requires the GEMM
functions which can be provided by both MKL and MKLML.

-----Original Message-----
From: Chris Olivier [mailto:cjolivier01@gmail.com] 
Sent: Friday, September 21, 2018 12:07 AM
To: dev@mxnet.incubator.apache.org
Subject: Re: Remove MKLML as dependency

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.lv@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:cjolivier01@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.lv@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:cjolivier01@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.lv@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-l
> > > ib
> > > 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-dis
> > > tr 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:alexzai@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.lv@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:azai91@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
> > >
> > >
> > >
> >
>
Mime
View raw message