Hi Chris,

>From the licensing standpoint, llvm omp is indeed a choice. But previously
we noticed that building mxnet with cmake and the llvm omp under 3rdparty
folder will cause two runtimes linked to libmxnet.so [1]. Do you think
that's still a problem?

Also with the current two build systems, linking llvm omp means we need
move the binary release process from make to cmake, which i think need more
discussion in the community. It's not likely we can finish that within the
schedule of 1.6.0 release.

[1]
https://github.com/apache/incubator-mxnet/issues/11417#issuecomment-555413002

On Thu, Dec 12, 2019 at 10:28 PM Chris Olivier <[email protected]>
wrote:

> Hi Patric,
>
> The llvm openmp we compile (originally from same Intel source as we all
> know) seems to be Apache 2.0 licensed. Could we use that instead from a
> licensing standpoint?
>
> On Wed, Dec 11, 2019 at 10:36 PM Zhao, Patric <[email protected]>
> wrote:
>
> > Thanks, Sam.
> >
> > The root cause is from different OpenMP library. Intel OpenMP will
> provide
> > better performance as your data shown.
> >
> > Regarding release, since the license issue[1], we can't ship Intel OpenMP
> > in the binary, but the most of performance boost from MKLDNN is still
> > available.
> > I think it should be acceptable to release 1.6 with MKLDNN  + GNU OpenMP
> > for suboptimal performance.
> >
> > To achieve the best performance, user should build from source to enable
> > more advanced features like Intel MKL, Intel OpenMP, AVX512.
> >
> > Thanks,
> >
> > --Patric
> >
> > [1] https://www.apache.org/legal/resolved.html#category-x
> >
> >
> >
> > > -----Original Message-----
> > > From: Skalicky, Sam <[email protected]>
> > > Sent: Wednesday, December 11, 2019 1:36 PM
> > > To: [email protected]
> > > Cc: Keshavan, Arjuna <[email protected]>; Harish, Nihal
> > > <[email protected]>
> > > Subject: Performance regression from removing libiomp5.so
> > >
> > > Hi MXNet community,
> > >
> > > I would like to bring your attention to the performance regression that
> > was
> > > found [1] between 1.5.1 and 1.6.0 due to removing the libiomp5.so
> library
> > > due to licensing issues. This change was made since this library has a
> > category
> > > x license [2] that is not compatible with the MXNet Apache
> > > license/distribution.
> > >
> > > We found that using OpenBLAS instead of MKL BLAS caused a regression
> > > from 1500 samples/sec to 1300 samples/sec a 13.3% regression in
> training
> > > speed for a resnet18 training benchmark on a C5.18xlarge EC2 instance
> > (with
> > > 72 cores). Rebuilding with MKL BLAS showed an increase in performance
> to
> > > 1600 samples/sec in the 1.6.0 branch.
> > >
> > > Please provide your feedback on the licensing issue (are there any
> work-
> > > arounds) and the tradeoff in performance (is the benefit worth trying
> to
> > > include back into MXNet builds).
> > >
> > > Thanks to the efforts of the following folks for working on this issue
> > (in no
> > > particular order):
> > > Patric Zhao
> > > Amol Lele
> > > Tao Lv A
> > > Pedro Larroy
> > > Nihal Harish
> > > Chai Bapat
> > > Arjuna Keshavan
> > > Rong Zhang
> > >
> > > Thanks!
> > > Sam
> > >
> > > [1] https://github.com/apache/incubator-mxnet/issues/16891
> > > [2] https://www.apache.org/legal/resolved.html#category-x
> >
>

Reply via email to