You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by zh...@apache.org on 2020/08/03 19:34:27 UTC
[incubator-mxnet] branch v1.x updated: [v1.x] Mkldnn header fix v1x
for nightly binaries (#18797)
This is an automated email from the ASF dual-hosted git repository.
zhasheng pushed a commit to branch v1.x
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git
The following commit(s) were added to refs/heads/v1.x by this push:
new 2aa2702 [v1.x] Mkldnn header fix v1x for nightly binaries (#18797)
2aa2702 is described below
commit 2aa2702880207df2665c290b4416712b6d9fceaa
Author: Chaitanya Prakash Bapat <ch...@gmail.com>
AuthorDate: Mon Aug 3 12:33:39 2020 -0700
[v1.x] Mkldnn header fix v1x for nightly binaries (#18797)
* Cherry-pick #18310 #18355 (#18608)
* cherry-pick: Fix missing MKLDNN headers (#18310)
* Include all mkldnn headers in CD builds (#18355)
* Fix cmake mkldnn install target. Previously mkldnn headers are installed to CMAKE_INSTALL_INCLUDEDIR instead of CMAKE_INSTALL_INCLUDEDIR/mkldnn
* Fix pypi_package.sh pip/setup.py for mkldnn builds
* Set CMAKE_CUDA_COMPILER in aarch64-linux-gnu-toolchain.cmake (#18713)
CMAKE_CUDA_HOST_COMPILER will be reset if CMAKE_CUDA_COMPILER is not set as of cmake 3.17.3
See https://gitlab.kitware.com/cmake/cmake/-/issues/20826
Co-authored-by: Leonard Lausen <la...@amazon.com>
* remove linux-gputoolchain
Co-authored-by: MoisesHer <50...@users.noreply.github.com>
Co-authored-by: Leonard Lausen <la...@amazon.com>
---
CMakeLists.txt | 37 +++++++++++++++++--------------------
cd/python/pypi/pypi_package.sh | 6 +++---
tools/pip/setup.py | 7 +++----
3 files changed, 23 insertions(+), 27 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 92f93e7..f861686 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -282,24 +282,26 @@ if(USE_MKLDNN)
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /EHsc /Gy /MT")
endif()
- set(MKLDNN_BUILD_TESTS OFF CACHE INTERNAL "" FORCE)
- set(MKLDNN_BUILD_EXAMPLES OFF CACHE INTERNAL "" FORCE)
- set(MKLDNN_ARCH_OPT_FLAGS "" CACHE INTERNAL "" FORCE)
- set(MKLDNN_ENABLE_JIT_PROFILING OFF CACHE INTERNAL "" FORCE)
- set(MKLDNN_LIBRARY_TYPE STATIC CACHE INTERNAL "" FORCE)
- set(DNNL_ENABLE_CONCURRENT_EXEC ON CACHE INTERNAL "" FORCE)
-
- if(NOT USE_OPENMP)
+ function(load_mkldnn)
+ set(MKLDNN_BUILD_TESTS OFF CACHE INTERNAL "" FORCE)
+ set(MKLDNN_BUILD_EXAMPLES OFF CACHE INTERNAL "" FORCE)
+ set(MKLDNN_ARCH_OPT_FLAGS "" CACHE INTERNAL "" FORCE)
+ set(MKLDNN_ENABLE_JIT_PROFILING OFF CACHE INTERNAL "" FORCE)
+ set(MKLDNN_LIBRARY_TYPE STATIC CACHE INTERNAL "" FORCE)
+ set(DNNL_ENABLE_CONCURRENT_EXEC ON CACHE INTERNAL "" FORCE)
+
+ if(NOT USE_OPENMP)
set(MKLDNN_CPU_RUNTIME SEQ CACHE INTERNAL "" FORCE)
- endif()
-
- add_subdirectory(3rdparty/mkldnn)
+ endif()
+ set(CMAKE_INSTALL_INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}/mkldnn")
+ add_subdirectory(3rdparty/mkldnn)
+ endfunction()
+ load_mkldnn()
include_directories(3rdparty/mkldnn/include)
include_directories(${PROJECT_BINARY_DIR}/3rdparty/mkldnn/include)
add_definitions(-DMXNET_USE_MKLDNN=1)
list(APPEND mxnet_LINKER_LIBS dnnl)
- set(INSTALL_MKLDNN ON)
endif()
if(USE_CPP_PACKAGE)
@@ -856,22 +858,17 @@ if(MSVC AND USE_MXNET_LIB_NAMING)
endif()
+# NOTE: Public headers will be installed into ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}, see
+# https://cmake.org/cmake/help/v3.13/variable/CMAKE_INSTALL_PREFIX.html
+# https://cmake.org/cmake/help/v3.13/module/GNUInstallDirs.html
include(GNUInstallDirs)
install(TARGETS ${MXNET_INSTALL_TARGETS}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
)
-
-# NOTE: Public headers will be installed into ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}, see
-# https://cmake.org/cmake/help/v3.0/variable/CMAKE_INSTALL_PREFIX.html
-# https://cmake.org/cmake/help/v3.0/module/GNUInstallDirs.html
-
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/dlpack/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/dmlc-core/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-if(USE_MKLDNN)
- install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/mkldnn/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
-endif()
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/mshadow/mshadow/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mshadow)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/mxnet/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mxnet)
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/tvm/nnvm/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
diff --git a/cd/python/pypi/pypi_package.sh b/cd/python/pypi/pypi_package.sh
index fafd88e..1e8103b 100755
--- a/cd/python/pypi/pypi_package.sh
+++ b/cd/python/pypi/pypi_package.sh
@@ -28,9 +28,9 @@ export mxnet_variant=${1:?"Please specify the mxnet variant"}
# and CD unpacks it to a directory called cd_misc
# Nov. 2019 Update: With v1.1, MKL-DNN is renaming to DNNL. Hence changing the prefix of file name.
if [ -f "cd_misc/dnnl_version.h" ]; then
- mkdir -p 3rdparty/mkldnn/build/install/include
- cp cd_misc/dnnl_version.h 3rdparty/mkldnn/build/install/include/.
- cp cd_misc/dnnl_config.h 3rdparty/mkldnn/build/install/include/.
+ mkdir -p 3rdparty/mkldnn/include
+ cp cd_misc/dnnl_version.h 3rdparty/mkldnn/include/.
+ cp cd_misc/dnnl_config.h 3rdparty/mkldnn/include/.
fi
# Create wheel workspace
diff --git a/tools/pip/setup.py b/tools/pip/setup.py
index d010517..afc7a4f 100644
--- a/tools/pip/setup.py
+++ b/tools/pip/setup.py
@@ -156,10 +156,9 @@ short_description += ' This version uses {0}.'.format(' and '.join(libraries))
package_data = {'mxnet': [os.path.join('mxnet', os.path.basename(LIB_PATH[0]))],
'dmlc_tracker': []}
-if variant.endswith('MKL'):
- if platform.system() == 'Darwin':
- shutil.copytree(os.path.join(CURRENT_DIR, 'mxnet-build/3rdparty/mkldnn/build/install/include'),
- os.path.join(CURRENT_DIR, 'mxnet/include/mkldnn'))
+if variant != 'NATIVE':
+ shutil.copytree(os.path.join(CURRENT_DIR, 'mxnet-build/3rdparty/mkldnn/include'),
+ os.path.join(CURRENT_DIR, 'mxnet/include/mkldnn'))
if platform.system() == 'Linux':
libdir, mxdir = os.path.dirname(LIB_PATH[0]), os.path.join(CURRENT_DIR, 'mxnet')
if os.path.exists(os.path.join(libdir, 'libgfortran.so.3')):