Upgrade mklml and set march with official option. (#1469)

1. There's formal way for setting march.
2. Upgrade to new MKLML.

Besides, the mem patch can be drop for v1.0.0 since it's fixed in upstream.
This commit is contained in:
xkszltl 2019-07-25 19:37:59 -07:00 committed by jywu-msft
parent 1a115ed8cb
commit be16b274fc
2 changed files with 9 additions and 20 deletions

View file

@ -3,7 +3,7 @@ include (ExternalProject)
set(MKLDNN_URL https://github.com/intel/mkl-dnn.git)
# If MKLDNN_TAG is updated, check if MKLML_VERSION and platform.cmake.patch need to be updated.
set(MKLDNN_TAG v0.18.1)
set(MKLML_VERSION 2019.0.3.20190220)
set(MKLML_VERSION 2019.0.5.20190502)
if(WIN32)
set(MKLML_OS_VERSION_STR "win")
@ -32,7 +32,7 @@ else()
endif()
if (onnxruntime_USE_MKLML)
set(MKLDNN_VERSION_SHORT v0.18)
set(MKLDNN_VERSION_SHORT v0.20)
set(MKLML_URL https://github.com/intel/mkl-dnn/releases/download/${MKLDNN_VERSION_SHORT}/mklml_${MKLML_OS_VERSION_STR}_${MKLML_VERSION}.${MKLML_FILE_EXTENSION})
ExternalProject_Add(project_mklml
@ -59,9 +59,13 @@ if (onnxruntime_USE_MKLDNN)
set(MKLDNN_DLL_PATH ${MKLDNN_LIB_DIR}/${MKLDNN_SHARED_LIB})
endif()
set(MKLDNN_INCLUDE_DIR ${MKLDNN_INSTALL}/include)
set (MKLDNN_CMAKE_EXTRA_ARGS)
if(NOT onnxruntime_BUILD_FOR_NATIVE_MACHINE)
set(MKLDNN_PATCH_COMMAND1 git apply ${CMAKE_SOURCE_DIR}/patches/mkldnn/platform.cmake.patch)
set(MKLDNN_PATCH_COMMAND2 git apply ${CMAKE_SOURCE_DIR}/patches/mkldnn/mem-patch.cmake.patch)
# pre-v1.0
list(APPEND MKLDNN_CMAKE_EXTRA_ARGS "-DARCH_OPT_FLAGS=\"\"")
# v1.0
list(APPEND MKLDNN_CMAKE_EXTRA_ARGS "-DMKLDNN_ARCH_OPT_FLAGS=\"\"")
set(MKLDNN_PATCH_COMMAND1 git apply ${CMAKE_SOURCE_DIR}/patches/mkldnn/mem-patch.cmake.patch)
# discard prior changes due to patching in mkldnn source to unblock incremental builds.
set(MKLDNN_PATCH_DISCARD_COMMAND cd ${MKLDNN_SOURCE} && git checkout -- .)
endif()
@ -70,9 +74,8 @@ if (onnxruntime_USE_MKLDNN)
GIT_REPOSITORY ${MKLDNN_URL}
GIT_TAG ${MKLDNN_TAG}
PATCH_COMMAND ${MKLDNN_PATCH_DISCARD_COMMAND} COMMAND ${MKLDNN_PATCH_COMMAND1}
COMMAND ${MKLDNN_PATCH_COMMAND2}
SOURCE_DIR ${MKLDNN_SOURCE}
CMAKE_ARGS -DMKLDNN_PRODUCT_BUILD_MODE=OFF -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${MKLDNN_INSTALL} -DMKLROOT=${MKML_DIR}
CMAKE_ARGS -DMKLDNN_PRODUCT_BUILD_MODE=OFF -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${MKLDNN_INSTALL} -DMKLROOT=${MKML_DIR} ${MKLDNN_CMAKE_EXTRA_ARGS}
)
link_directories(${MKLDNN_LIB_DIR})
if (onnxruntime_USE_MKLML)

View file

@ -1,14 +0,0 @@
diff --git a/cmake/platform.cmake b/cmake/platform.cmake
index 3597970a..805ce63e 100644
--- a/cmake/platform.cmake
+++ b/cmake/platform.cmake
@@ -107,9 +107,6 @@ elseif(UNIX OR MINGW)
append(CMAKE_CCXX_SANITIZER_FLAGS "-g -fno-omit-frame-pointer")
endif()
elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
- if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)
- set(DEF_ARCH_OPT_FLAGS "-march=native -mtune=native")
- endif()
# suppress warning on assumptions made regarding overflow (#146)
append(CMAKE_CCXX_NOWARN_FLAGS "-Wno-strict-overflow")
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")