yes that flag can be removed. profiler should always be. built in

On Thu, Nov 22, 2018 at 7:44 AM Anton Chernov <mecher...@gmail.com> wrote:

> You can find relevant information regarding the profiling flag here:
>
> https://github.com/apache/incubator-mxnet/issues/11563
>
>
> чт, 22 нояб. 2018 г. в 16:06, Chris Olivier <cjolivie...@gmail.com>:
>
> > what is meant by:
> >
> >
> > *Profiling*
> > The profiler is always on even for production release builds, because
> MXNet
> > can not be build without it [2].  ?
> >
> > you mean it is always built or it is turned on (ie recording and saving
> > profiling information)?  I am not aware of it being turned on by default.
> >
> >
> > profiler has no overhead when built in but not turned on.
> >
> >
> > On Thu, Nov 22, 2018 at 2:35 AM Anton Chernov <mecher...@gmail.com>
> wrote:
> >
> > > Dear MXNet community,
> > >
> > > I propose to raise the minimal required cmake version that is needed to
> > > build MXNet to 3.10 which was tagged on March 16 2018 [1].
> > >
> > > The effort of repairing cmake scripts in general is targeting to
> > deprecate
> > > make and maintain only 1 build system.
> > >
> > > *Need*
> > >
> > > The build system is the foundation of every software project. It's
> > quality
> > > is directly impacting the quality of the project. The MXNet build
> system
> > is
> > > fragile, partially broken and not maintained.
> > >
> > > Users of MXNet and developers are confused by the fact that 2 build
> > systems
> > > exist at the same time: make and CMake.
> > >
> > > The main functional areas which are impacted by the current state of
> the
> > > cmake files are:
> > >
> > > *OpenMP*
> > > The current CMake files mix OpenMP libraries from different compliers
> > which
> > > is undefined behaviour. It leads to indeterministic crashes on some
> > > platforms. Build and deployment are very hard. No evidence exists that
> > > proves that there is any benefit of having llvm OpenMP library as a
> > > submodule in MXNet.
> > >
> > > *BLAS and LAPACK*
> > > Basic math library usage is mixed up. It is hard and confusing to
> > configure
> > > and the choosing logic of the most optimal library is not present. MKL
> > and
> > > OpenBLAS are intermixed in an unpredictable manner.
> > >
> > > *Profiling*
> > > The profiler is always on even for production release builds, because
> > MXNet
> > > can not be build without it [2].
> > >
> > > *CUDA*
> > > CUDA is detected by 3 different files in the current cmake scripts and
> > the
> > > choice of those is based on a obscure logic with involves different
> > > versions of cmake and platforms which it's building on
> > >
> > > * CMakeLists.txt
> > > * cmake/FirstClassLangCuda.cmake
> > > * 3rdparty/mshadow/cmake/Cuda.cmake
> > >
> > >
> > > *Confusing and misleading cmake user options*
> > > For example, USE_CUDA / USE_OLDCMAKECUDA. Some of them will do or not
> do
> > > what they supposed to based on cmake generator version and version of
> > cmake
> > > [3].
> > > There are currently more than 30 build parameters for MXNet none of
> them
> > > documented. Some of them not even located in the main CMakeLists.txt
> > file,
> > > for example 'BLAS'.
> > >
> > >
> > > *Issues*
> > > There is a significant amount of github issues related to cmake or
> build
> > in
> > > general. New tickets are issued frequently.
> > >
> > > * #8702 (https://github.com/apache/incubator-mxnet/issues/8702)
> > >  [DISCUSSION] Should we deprecate Makefile and only use CMake?
> > > * #5079 (https://github.com/apache/incubator-mxnet/issues/5079)
> >  troubles
> > > building python interface on raspberry pi 3
> > > * #1722 (https://github.com/apache/incubator-mxnet/issues/1722)
> >  problem:
> > > compile mxnet with hdfs
> > > * #11549 (https://github.com/apache/incubator-mxnet/issues/11549) Pip
> > > package can be much faster (OpenCV version?)
> > > * #11417 (https://github.com/apache/incubator-mxnet/issues/11417)
> > > libomp.so
> > > dependency (need REAL fix)
> > > * #8532 (https://github.com/apache/incubator-mxnet/issues/8532)
> > >  mxnet-mkl
> > > (v0.12.0) crash when using (conda-installed) numpy with MKL //
> > (indirectly)
> > > * #11131 (https://github.com/apache/incubator-mxnet/issues/11131)
> > > mxnet-cu92 low efficiency  // (indirectly)
> > > * #10743 (https://github.com/apache/incubator-mxnet/issues/10743) CUDA
> > > 9.1.xx failed if not set OLDCMAKECUDA on cmake 3.10.3 with unix
> makefile
> > or
> > > Ninja generator
> > > * #10742 (https://github.com/apache/incubator-mxnet/issues/10742) typo
> > in
> > > cpp-package/CMakeLists.txt
> > > * #10737 (https://github.com/apache/incubator-mxnet/issues/10737)
> Cmake
> > is
> > > running again when execute make install
> > > * #10543 (https://github.com/apache/incubator-mxnet/issues/10543)
> Failed
> > > to
> > > build from source when set USE_CPP_PACKAGE = 1, fatal error C1083:
> unabel
> > > to open file: “mxnet-cpp/op.h”: No such file or directory
> > > * #10217 (https://github.com/apache/incubator-mxnet/issues/10217)
> > Building
> > > with OpenCV causes link errors
> > > * #10175 (https://github.com/apache/incubator-mxnet/issues/10175)
> MXNet
> > > MKLDNN build dependency/flow discussion
> > > * #10009 (https://github.com/apache/incubator-mxnet/issues/10009)
> > > [CMAKE][IoT] Remove pthread from android_arm64 build
> > > * #9944 (https://github.com/apache/incubator-mxnet/issues/9944)
>  MXNet
> > > MinGW-w64 build error // (indirectly)
> > > * #9868 (https://github.com/apache/incubator-mxnet/issues/9868)   MKL
> > and
> > > CMake
> > > * #9516 (https://github.com/apache/incubator-mxnet/issues/9516)
>  cmake
> > > cuda arch issues
> > > * #9105 (https://github.com/apache/incubator-mxnet/issues/9105)
> > >  libmxnet.so load path error
> > > * #9096 (https://github.com/apache/incubator-mxnet/issues/9096)
>  MXNet
> > > built with GPerftools crashes
> > > * #8786 (https://github.com/apache/incubator-mxnet/issues/8786)   Link
> > > failure on DEBUG=1 (static member symbol not defined) // (indirectly)
> > > * #8729 (https://github.com/apache/incubator-mxnet/issues/8729)
>  Build
> > > amalgamation using a docker // (indirectly)
> > > * #8667 (https://github.com/apache/incubator-mxnet/issues/8667)
> > >  Compiler/linker error while trying to build from source on Mac OSX
> > Sierra
> > > 10.12.6
> > > * #8295 (https://github.com/apache/incubator-mxnet/issues/8295)
> >  Building
> > > with cmake - error
> > > * #7852 (https://github.com/apache/incubator-mxnet/issues/7852)
> >  Trouble
> > > installing MXNet on Raspberry Pi 3
> > > * #13303 (https://github.com/apache/incubator-mxnet/issues/13303)
> > > mxnet-cpp
> > > package cross-compilation fails with OSError: "wrong ELF class:
> > ELFCLASS32"
> > > * #13245 (https://github.com/apache/incubator-mxnet/issues/13245)
> > > mxnet::cpp::NDArray::WaitAll() take about 160ms on gtx1080ti //
> > > (indirectly, cmake impact on performance)
> > > * #12849 (https://github.com/apache/incubator-mxnet/issues/12849)
> > > [cmake][cpp-package] Building with cmake does not install the
> cpp-package
> > > API
> > > * #12568 (https://github.com/apache/incubator-mxnet/issues/12568)
> > > [Scala][macOS] Trying to build from source
> > > * #12134 (https://github.com/apache/incubator-mxnet/issues/12134) why
> > MKL
> > > and MKL-DNN can't be used simultaneously in ChooseBlas.cmake
> > > * #12107 (https://github.com/apache/incubator-mxnet/issues/12107)
> Faulty
> > > CUDA detection with cmake
> > > * #11769 (https://github.com/apache/incubator-mxnet/issues/11769)
> > > USE_BLAS=MKL fails due to mshadow requiring openblas
> > > * #11563 (https://github.com/apache/incubator-mxnet/issues/11563)
> > > Deprecate
> > > USE_PROFILER from make/cmake
> > > * #10856 (https://github.com/apache/incubator-mxnet/issues/10856)
> Failed
> > > OpenMP assertion when loading MXNet compiled with DEBUG=1
> > > * #10742 (https://github.com/apache/incubator-mxnet/issues/10742) typo
> > in
> > > cpp-package/CMakeLists.txt
> > >
> > >
> > > *Approach*
> > >
> > > We are going to iteratively fix and simplify the cmake build system and
> > > once is possible deprecate and remove the make system. This PR's have
> > been
> > > opened so far:
> > >
> > >
> > > * #11148 (https://github.com/apache/incubator-mxnet/pull/11148)
> > > [MXNET-679]
> > > Refactor handling BLAS libraries with cmake
> > > * #12160 (https://github.com/apache/incubator-mxnet/pull/12160) Remove
> > > conflicting llvm OpenMP from cmake builds
> > > * #10564 (https://github.com/apache/incubator-mxnet/pull/10564)
> > Simplified
> > > CUDA language detection in cmake
> > > * #10530 (https://github.com/apache/incubator-mxnet/pull/10530) Jetson
> > > build with cmake and CUDA
> > >
> > > Unfortunately, none of them with any success. The question of updating
> > the
> > > minimal required version was not asked before, so I'm raising it now.
> > >
> > > By upgrading the version we would remove all custom error-prone cmake
> > files
> > > that are related to: CUDA, BLAS and LAPACK. Essentially covering most
> of
> > > the problems.
> > >
> > > OpenMP and profiling would need to be addressed separately.
> > >
> > > *Benefit*
> > >
> > > Ease of maintaining of MXNet build, clarity for users, quality and
> > > predictability.
> > >
> > > *Alternatives*
> > >
> > > * Leave the situation as is
> > > * Proceed with the make build
> > >
> > >
> > > I would appreciate hearing your thoughts.
> > >
> > > Best
> > > Anton
> > >
> > > [1] https://github.com/Kitware/CMake/releases/tag/v3.10.3
> > > [2] https://github.com/apache/incubator-mxnet/issues/11563
> > > [3]
> > >
> > >
> >
> https://github.com/apache/incubator-mxnet/blob/master/CMakeLists.txt#L46-L57
> > >
> >
>

Reply via email to