yinghu5 opened a new issue #14729: Build with CMake under windows can't trigger 
USE_MKLDNN in CI
URL: https://github.com/apache/incubator-mxnet/issues/14729
 
 
   Build with CMake under windows can't trigger USE_MKLDNN, which cause 'WIN 
CPU_MKLDNN'' can't be built and test in official CI in  
https://github.com/apache/incubator-mxnet/blob/master/ci/build_windows.py >> 
'WIN_CPU_MKLDNN': 
   
   Target
   We are working on redesign the build logic of MXNET with MKL/MKLDNN Logic. 
with @pengzhao-intel @TaoLv @@juliusshufan,  
   
   Description/Reproduce step:  
   from source on win10_64, MSVC 2015,  
   
   C:\mxnet_4\incubator-mxnet\build>cmake -G "Visual Studio 14 Win64" .. 
-DUSE_CUDA=0 -DUSE_CUDNN=0  -DUSE_OPENCV=1 -DUSE_OPENMP=1 -DUSE_BLAS=mkl 
-DUSE_LAPACK=1 -DUSE_PROFILER=1 -DUSE_DIST_KVSTORE=0  -DUSE_MKL_IF_AVAILABLE=1 
-DUSE_MKLDNN=1  -DCMAKE_BUILD_TYPE=Release -DMKL_ROOT="C:\Program Files 
(x86)\IntelSWTools\compilers_and_libraries_2019.3.203\windows\mkl"
   
   the first issue we meet is  sames as 
https://github.com/apache/incubator-mxnet/issues/14335
   
   The latest CMakeList.txt in mxnet source  include the line 
   
   mxnet_option(USE_MKLDNN           "Use MKLDNN variant of MKL (if MKL found)" 
ON IF USE_MKL_IF_AVAILABLE AND (NOT APPLE) AND (NOT MSVC) AND 
(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64") AND (NOT CMAKE_CROSSCOMPILING))
   
   It includes errors
   1.  NOT MSVC , 
   which  means if the compiler is MSVC (on windows), the flag `USE_MKLDNN` 
will not be turn on *by default*. 
   2. CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64"
   But under windows,  the CMAKE_HOST_SYSTEM_PROCESSOR  will return  "AMD64" 
   -- CMAKE_CROSSCOMPILING FALSE
   -- CMAKE_HOST_SYSTEM_PROCESSOR AMD64
   -- CMAKE_SYSTEM_PROCESSOR AMD64
   -- CMAKE_SYSTEM_NAME Windows
   
     and further
   3.  mxnet_option( ) will overwrite the user define  -DUSE_MKLDNN=1.  as 
discussion in https://github.com/apache/incubator-mxnet/issues/14640
   so those issues cause MKLDNN can't be switch on whatever.
   
   suggest to change to 
   mxnet_option(USE_MKLDNN           "Use MKLDNN" ON IF (NOT APPLE)  AND (NOT 
CMAKE_CROSSCOMPILING) AND ((CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64") OR  
(CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64")))

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to