From be16b274fc75dac89f410251ccf23b0563ed09fe Mon Sep 17 00:00:00 2001 From: xkszltl Date: Thu, 25 Jul 2019 19:37:59 -0700 Subject: [PATCH] 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. --- cmake/external/mkldnn.cmake | 15 +++++++++------ cmake/patches/mkldnn/platform.cmake.patch | 14 -------------- 2 files changed, 9 insertions(+), 20 deletions(-) delete mode 100644 cmake/patches/mkldnn/platform.cmake.patch diff --git a/cmake/external/mkldnn.cmake b/cmake/external/mkldnn.cmake index 796541f096..784f46b735 100644 --- a/cmake/external/mkldnn.cmake +++ b/cmake/external/mkldnn.cmake @@ -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) diff --git a/cmake/patches/mkldnn/platform.cmake.patch b/cmake/patches/mkldnn/platform.cmake.patch deleted file mode 100644 index 7fe7e836ea..0000000000 --- a/cmake/patches/mkldnn/platform.cmake.patch +++ /dev/null @@ -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")