Skip to content

Commit 31ea11a

Browse files
sreekanth-yalachigerejywu-msft
authored andcommitted
Renaming MKL-DNN as DNNL (microsoft#2515)
* DNNL: Moving Files to rename file names * DNNL name change * azure pipeline updated * disable ceil/dialation and enable Opset10 * disable ceil/dialation tests in Python * mlperf_ssd_resnet34_1200 disabled
1 parent 3d62736 commit 31ea11a

File tree

82 files changed

+1209
-1203
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+1209
-1203
lines changed

Diff for: BUILD.md

+4-7
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ The complete list of build options can be found by running `./build.sh (or .\bui
9696
**Execution Providers**
9797
* [NVIDIA CUDA](#CUDA)
9898
* [NVIDIA TensorRT](#TensorRT)
99-
* [Intel MKL-DNN/MKL-ML](#MKLDNN-and-MKLML)
99+
* [Intel DNNL/MKL-ML](#DNNL-and-MKLML)
100100
* [Intel nGraph](#nGraph)
101101
* [Intel OpenVINO](#openvino)
102102
* [Android NNAPI](#Android)
@@ -203,15 +203,12 @@ Dockerfile instructions are available [here](./dockerfiles#tensorrt)
203203
204204
---
205205
206-
### MKLDNN and MKLML
207-
See more information on MKL-DNN and MKL-ML [here](./docs/execution_providers/MKL-DNN-ExecutionProvider.md).
206+
### DNNL and MKLML
207+
See more information on DNNL and MKL-ML [here](./docs/execution_providers/DNNL-ExecutionProvider.md).
208208
209209
#### Build Instructions
210210
##### Linux
211-
MKL-DNN: `./build.sh --use_mkldnn`
212-
213-
MKL-DNN built with dependency on MKL small libraries: `./build.sh --use_mkldnn --use_mklml`
214-
211+
DNNL: `./build.sh --use_dnnl`
215212
---
216213
217214

Diff for: README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Currently ONNX Runtime supports the following accelerators:
5858

5959
* NVIDIA CUDA
6060
* Intel MKL-ML
61-
* [Intel MKL-DNN](./docs/execution_providers/MKL-DNN-ExecutionProvider.md) - [subgraph optimization](./docs/execution_providers/MKL-DNN-Subgraphs.md)
61+
* [Intel DNNL](./docs/execution_providers/MKL-DNN-ExecutionProvider.md) - [subgraph optimization](./docs/execution_providers/MKL-DNN-Subgraphs.md)
6262
* [Intel nGraph](./docs/execution_providers/nGraph-ExecutionProvider.md)
6363
* [NVIDIA TensorRT](./docs/execution_providers/TensorRT-ExecutionProvider.md)
6464
* [Intel OpenVINO](./docs/execution_providers/OpenVINO-ExecutionProvider.md)

Diff for: ThirdPartyNotices.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,7 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice
610610

611611
_____
612612

613-
intel/mkl-dnn
613+
intel/dnnl
614614

615615
Copyright 2016-2018 Intel Corporation
616616

Diff for: cmake/CMakeLists.txt

+9-9
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ option(onnxruntime_USE_OPENVINO "Build with OpenVINO support" OFF)
5252
option(onnxruntime_USE_NSYNC "Build with NSYNC support. This option only takes effect on Linux" OFF)
5353
option(onnxruntime_USE_EIGEN_FOR_BLAS "Use eign for blas" ON)
5454
option(onnxruntime_USE_NNAPI "Build with DNNLibrary for Android NNAPI support" OFF)
55-
option(onnxruntime_USE_MKLDNN "Build with MKL-DNN support" OFF)
56-
option(onnxruntime_USE_MKLML "Build MKL-DNN with MKL-ML binary dependency" OFF)
55+
option(onnxruntime_USE_DNNL "Build with DNNL support" OFF)
56+
option(onnxruntime_USE_MKLML "Build DNNL with MKL-ML binary dependency" OFF)
5757
option(onnxruntime_USE_GEMMLOWP "Build with gemmlowp for quantized gemm" OFF)
5858
option(onnxruntime_USE_AUTOML "Build AutoML support" ON)
5959
option(onnxruntime_USE_NGRAPH "Build with nGraph support" OFF)
@@ -327,7 +327,7 @@ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DGSL_UNEN
327327

328328
include(eigen)
329329
#onnxruntime_EXTERNAL_LIBRARIES could contain onnx, onnx_proto,libprotobuf, cuda/cudnn, jemalloc,
330-
# mkldnn/mklml, openblas, onnxruntime_codegen_tvm, tvm, nnvm_compiler and pthread
330+
# dnnl/mklml, openblas, onnxruntime_codegen_tvm, tvm, nnvm_compiler and pthread
331331
# pthread is always at the last
332332
set(onnxruntime_EXTERNAL_LIBRARIES onnx onnx_proto protobuf::libprotobuf re2)
333333

@@ -346,8 +346,8 @@ if (onnxruntime_USE_ACL)
346346
endif()
347347

348348
# MKLML
349-
if (onnxruntime_USE_MKLDNN OR onnxruntime_USE_MKLML)
350-
include(mkldnn)
349+
if (onnxruntime_USE_DNNL OR onnxruntime_USE_MKLML)
350+
include(dnnl)
351351
endif()
352352

353353
# TVM
@@ -537,10 +537,10 @@ if (onnxruntime_USE_MKLML)
537537
link_directories(${MKLML_LIB_DIR})
538538
endif()
539539

540-
if (onnxruntime_USE_MKLDNN)
541-
list(APPEND onnxruntime_EXTERNAL_LIBRARIES mkldnn)
542-
list(APPEND onnxruntime_EXTERNAL_DEPENDENCIES project_mkldnn)
543-
link_directories(${MKLDNN_LIB_DIR})
540+
if (onnxruntime_USE_DNNL)
541+
list(APPEND onnxruntime_EXTERNAL_LIBRARIES dnnl)
542+
list(APPEND onnxruntime_EXTERNAL_DEPENDENCIES project_dnnl)
543+
link_directories(${DNNL_LIB_DIR})
544544
endif()
545545

546546
if (onnxruntime_USE_NGRAPH)

Diff for: cmake/external/dnnl.cmake

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
include (ExternalProject)
2+
3+
set(DNNL_URL https://github.com/intel/mkl-dnn.git)
4+
# If DNNL_TAG is updated, check if MKLML_VERSION and platform.cmake.patch need to be updated.
5+
set(DNNL_TAG v1.1.1)
6+
set(MKLML_VERSION 2019.0.5.20190502)
7+
8+
if(WIN32)
9+
set(MKLML_OS_VERSION_STR "win")
10+
set(MKLML_FILE_EXTENSION "zip")
11+
set(DNNL_SHARED_LIB dnnl.dll)
12+
set(DNNL_IMPORT_LIB dnnl.lib)
13+
if(onnxruntime_USE_MKLML)
14+
# Windows-only updated MKLML binary which contains fix for thread cleanup hang.
15+
set(MKLML_VERSION 2020.0.20190813)
16+
set(MKLML_SHARED_LIB mklml.dll)
17+
set(MKLML_IMPORT_LIB mklml.lib)
18+
set(IOMP5MD_SHARED_LIB libiomp5md.dll)
19+
set(IOMP5MD_IMPORT_LIB libiomp5md.lib)
20+
endif()
21+
else()
22+
set(MKLML_FILE_EXTENSION "tgz")
23+
if (APPLE)
24+
set(DNNL_SHARED_LIB libdnnl.1.dylib)
25+
set(MKLML_OS_VERSION_STR "mac")
26+
else()
27+
set(DNNL_SHARED_LIB libdnnl.so.1)
28+
set(MKLML_OS_VERSION_STR "lnx")
29+
endif()
30+
if(onnxruntime_USE_MKLML)
31+
set(MKLML_SHARED_LIB libmklml_intel.so)
32+
set(IOMP5MD_SHARED_LIB libiomp5.so)
33+
endif()
34+
endif()
35+
36+
if (onnxruntime_USE_MKLML)
37+
set(MKLDNN_VERSION_SHORT v0.20)
38+
set(MKLML_URL https://github.com/intel/mkl-dnn/releases/download/${MKLDNN_VERSION_SHORT}/mklml_${MKLML_OS_VERSION_STR}_${MKLML_VERSION}.${MKLML_FILE_EXTENSION})
39+
40+
ExternalProject_Add(project_mklml
41+
PREFIX mklml
42+
URL ${MKLML_URL}
43+
CONFIGURE_COMMAND ""
44+
BUILD_COMMAND ""
45+
UPDATE_COMMAND ""
46+
INSTALL_COMMAND "" )
47+
48+
set(MKML_DIR ${CMAKE_CURRENT_BINARY_DIR}/mklml/src/project_mklml)
49+
set(MKLML_INCLUDE_DIR "${MKML_DIR}/include")
50+
set(MKLML_LIB_DIR "${MKML_DIR}/lib")
51+
link_directories(${MKLML_LIB_DIR})
52+
endif()
53+
54+
if (onnxruntime_USE_DNNL)
55+
set(DNNL_SOURCE ${CMAKE_CURRENT_BINARY_DIR}/dnnl/src/dnnl/src)
56+
set(DNNL_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/dnnl/install)
57+
set(DNNL_LIB_DIR ${DNNL_INSTALL}/${CMAKE_INSTALL_LIBDIR})
58+
if(WIN32)
59+
set(DNNL_DLL_PATH ${DNNL_INSTALL}/${CMAKE_INSTALL_BINDIR}/${DNNL_SHARED_LIB})
60+
else()
61+
set(DNNL_DLL_PATH ${DNNL_LIB_DIR}/${DNNL_SHARED_LIB})
62+
endif()
63+
set(DNNL_INCLUDE_DIR ${DNNL_INSTALL}/include)
64+
set(DNNL_CMAKE_EXTRA_ARGS)
65+
# set(DNNL_PATCH_COMMAND git apply ${CMAKE_SOURCE_DIR}/patches/mkldnn/constexpr.patch)
66+
# discard prior changes due to patching in mkldnn source to unblock incremental builds.
67+
# set(MKLDNN_PATCH_DISCARD_COMMAND cd ${DNNL_SOURCE} && git checkout -- .)
68+
# if(NOT onnxruntime_BUILD_FOR_NATIVE_MACHINE)
69+
# pre-v1.0
70+
# list(APPEND DNNL_CMAKE_EXTRA_ARGS "-DARCH_OPT_FLAGS=")
71+
# v1.0
72+
# list(APPEND DNNL_CMAKE_EXTRA_ARGS "-DDNNL_ARCH_OPT_FLAGS=")
73+
# endif()
74+
ExternalProject_Add(project_dnnl
75+
PREFIX dnnl
76+
GIT_REPOSITORY ${DNNL_URL}
77+
GIT_TAG ${DNNL_TAG}
78+
# PATCH_COMMAND ${MKLDNN_PATCH_DISCARD_COMMAND} COMMAND ${DNNL_PATCH_COMMAND}
79+
SOURCE_DIR ${DNNL_SOURCE}
80+
CMAKE_ARGS -DDNNL_PRODUCT_BUILD_MODE=OFF -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${DNNL_INSTALL} -DMKLROOT=${MKML_DIR}
81+
)
82+
link_directories(${DNNL_LIB_DIR})
83+
#if (onnxruntime_USE_MKLML)
84+
# add_dependencies(project_dnnl project_mklml)
85+
#endif()
86+
endif()

Diff for: cmake/external/mkldnn.cmake

-86
This file was deleted.

Diff for: cmake/onnxruntime.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ target_link_libraries(onnxruntime PRIVATE
5858
onnxruntime_session
5959
${onnxruntime_libs}
6060
${PROVIDERS_CUDA}
61-
${PROVIDERS_MKLDNN}
61+
${PROVIDERS_DNNL}
6262
${PROVIDERS_NGRAPH}
6363
${PROVIDERS_NNAPI}
6464
${PROVIDERS_TENSORRT}

Diff for: cmake/onnxruntime_csharp.cmake

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ if (onnxruntime_USE_CUDA)
1414
STRING(APPEND CSHARP_PREPROCESSOR_DEFINES "USE_CUDA,")
1515
endif()
1616

17-
if (onnxruntime_USE_MKLDNN)
18-
STRING(APPEND CSHARP_PREPROCESSOR_DEFINES "USE_MKLDNN,")
17+
if (onnxruntime_USE_DNNL)
18+
STRING(APPEND CSHARP_PREPROCESSOR_DEFINES "USE_DNNL,")
1919
endif()
2020

2121
if (onnxruntime_USE_TENSORRT)

Diff for: cmake/onnxruntime_providers.cmake

+15-15
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ file(GLOB onnxruntime_providers_common_srcs CONFIGURE_DEPENDS
4040
"${ONNXRUNTIME_ROOT}/core/providers/*.cc"
4141
)
4242

43-
if(onnxruntime_USE_MKLDNN)
44-
set(PROVIDERS_MKLDNN onnxruntime_providers_mkldnn)
45-
list(APPEND ONNXRUNTIME_PROVIDER_NAMES mkldnn)
43+
if(onnxruntime_USE_DNNL)
44+
set(PROVIDERS_DNNL onnxruntime_providers_dnnl)
45+
list(APPEND ONNXRUNTIME_PROVIDER_NAMES dnnl)
4646
endif()
4747
if(onnxruntime_USE_NGRAPH)
4848
set(PROVIDERS_NGRAPH onnxruntime_providers_ngraph)
@@ -177,20 +177,20 @@ if (onnxruntime_USE_CUDA)
177177
endif()
178178
endif()
179179

180-
if (onnxruntime_USE_MKLDNN)
181-
file(GLOB_RECURSE onnxruntime_providers_mkldnn_cc_srcs CONFIGURE_DEPENDS
182-
"${ONNXRUNTIME_ROOT}/core/providers/mkldnn/*.h"
183-
"${ONNXRUNTIME_ROOT}/core/providers/mkldnn/*.cc"
180+
if (onnxruntime_USE_DNNL)
181+
file(GLOB_RECURSE onnxruntime_providers_dnnl_cc_srcs CONFIGURE_DEPENDS
182+
"${ONNXRUNTIME_ROOT}/core/providers/dnnl/*.h"
183+
"${ONNXRUNTIME_ROOT}/core/providers/dnnl/*.cc"
184184
)
185185

186-
source_group(TREE ${ONNXRUNTIME_ROOT}/core FILES ${onnxruntime_providers_mkldnn_cc_srcs})
187-
add_library(onnxruntime_providers_mkldnn ${onnxruntime_providers_mkldnn_cc_srcs})
188-
onnxruntime_add_include_to_target(onnxruntime_providers_mkldnn onnxruntime_common onnxruntime_framework onnx onnx_proto protobuf::libprotobuf)
189-
add_dependencies(onnxruntime_providers_mkldnn ${onnxruntime_EXTERNAL_DEPENDENCIES})
190-
set_target_properties(onnxruntime_providers_mkldnn PROPERTIES FOLDER "ONNXRuntime")
191-
target_include_directories(onnxruntime_providers_mkldnn PRIVATE ${ONNXRUNTIME_ROOT} ${eigen_INCLUDE_DIRS} ${MKLDNN_INCLUDE_DIR})
192-
install(DIRECTORY ${PROJECT_SOURCE_DIR}/../include/onnxruntime/core/providers/mkldnn DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnxruntime/core/providers)
193-
set_target_properties(onnxruntime_providers_mkldnn PROPERTIES LINKER_LANGUAGE CXX)
186+
source_group(TREE ${ONNXRUNTIME_ROOT}/core FILES ${onnxruntime_providers_dnnl_cc_srcs})
187+
add_library(onnxruntime_providers_dnnl ${onnxruntime_providers_dnnl_cc_srcs})
188+
onnxruntime_add_include_to_target(onnxruntime_providers_dnnl onnxruntime_common onnxruntime_framework onnx onnx_proto protobuf::libprotobuf)
189+
add_dependencies(onnxruntime_providers_dnnl ${onnxruntime_EXTERNAL_DEPENDENCIES})
190+
set_target_properties(onnxruntime_providers_dnnl PROPERTIES FOLDER "ONNXRuntime")
191+
target_include_directories(onnxruntime_providers_dnnl PRIVATE ${ONNXRUNTIME_ROOT} ${eigen_INCLUDE_DIRS} ${DNNL_INCLUDE_DIR})
192+
install(DIRECTORY ${PROJECT_SOURCE_DIR}/../include/onnxruntime/core/providers/dnnl DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/onnxruntime/core/providers)
193+
set_target_properties(onnxruntime_providers_dnnl PROPERTIES LINKER_LANGUAGE CXX)
194194
endif()
195195

196196
if (onnxruntime_USE_TENSORRT)

Diff for: cmake/onnxruntime_python.cmake

+5-5
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ if(onnxruntime_PYBIND_EXPORT_OPSCHEMA)
5050
target_compile_definitions(onnxruntime_pybind11_state PRIVATE onnxruntime_PYBIND_EXPORT_OPSCHEMA)
5151
endif()
5252

53-
if (onnxruntime_USE_MKLDNN)
54-
target_compile_definitions(onnxruntime_pybind11_state PRIVATE USE_MKLDNN=1)
53+
if (onnxruntime_USE_DNNL)
54+
target_compile_definitions(onnxruntime_pybind11_state PRIVATE USE_DNNL=1)
5555
endif()
5656

5757
target_include_directories(onnxruntime_pybind11_state PRIVATE ${ONNXRUNTIME_ROOT} ${PYTHON_INCLUDE_DIR} ${NUMPY_INCLUDE_DIR})
@@ -68,7 +68,7 @@ set(onnxruntime_pybind11_state_libs
6868
onnxruntime_session
6969
${onnxruntime_libs}
7070
${PROVIDERS_CUDA}
71-
${PROVIDERS_MKLDNN}
71+
${PROVIDERS_DNNL}
7272
${PROVIDERS_TENSORRT}
7373
${PROVIDERS_NGRAPH}
7474
${PROVIDERS_OPENVINO}
@@ -198,10 +198,10 @@ add_custom_command(
198198
$<TARGET_FILE_DIR:${test_data_target}>
199199
)
200200

201-
if (onnxruntime_USE_MKLDNN)
201+
if (onnxruntime_USE_DNNL)
202202
add_custom_command(
203203
TARGET onnxruntime_pybind11_state POST_BUILD
204-
COMMAND ${CMAKE_COMMAND} -E copy ${MKLDNN_DLL_PATH}
204+
COMMAND ${CMAKE_COMMAND} -E copy ${DNNL_DLL_PATH}
205205
$<TARGET_FILE_DIR:${test_data_target}>/onnxruntime/capi/
206206
)
207207
endif()

0 commit comments

Comments
 (0)