Upgrade oneDNN (mkl-dnn) to v1.7 (#47853)

Summary:
Bump oneDNN (mkl-dnn) to 1.7 for bug fixes and performance optimizations
- Fixes https://github.com/pytorch/pytorch/issues/42115. Fixed build issue on Windows for the case when oneDNN is built as submodule
- Fixes https://github.com/pytorch/pytorch/issues/45746. Fixed segmentation fault for convolution weight gradient on systems with Intel AVX512 support

This PR also contains a few changes in ideep for follow-up update (not enabled in current PR yet):
- Performance improvements for the CPU path of Convolution
- Channel-last support

Pull Request resolved: https://github.com/pytorch/pytorch/pull/47853

Reviewed By: bdhirsh

Differential Revision: D25275268

Pulled By: VitalyFedyunin

fbshipit-source-id: 75a589d57e3d19a7f23272a67045ad7494f1bdbe
This commit is contained in:
pinzhenx 2020-12-03 11:40:09 -08:00 committed by Facebook GitHub Bot
parent 47aa253632
commit 1eed54d17a
6 changed files with 11 additions and 8 deletions

View File

@ -7,4 +7,4 @@ if "%REBUILD%"=="" (
7z x -aoa %TMP_DIR_WIN%\mkl.7z -o%TMP_DIR_WIN%\mkl 7z x -aoa %TMP_DIR_WIN%\mkl.7z -o%TMP_DIR_WIN%\mkl
) )
set CMAKE_INCLUDE_PATH=%TMP_DIR_WIN%\mkl\include set CMAKE_INCLUDE_PATH=%TMP_DIR_WIN%\mkl\include
set LIB=%TMP_DIR_WIN%\mkl\lib;%LIB set LIB=%TMP_DIR_WIN%\mkl\lib;%LIB%

View File

@ -129,7 +129,7 @@ public:
// Pointer-like operations { // Pointer-like operations {
C10_HOST_DEVICE C10_HOST_DEVICE
reference operator*() { reference operator*() const {
return TupleInfo::tie(*keys, *values); return TupleInfo::tie(*keys, *values);
} }

View File

@ -1,7 +1,7 @@
#pragma once #pragma once
#include <caffe2/core/macros.h> // For caffe2 macros. #include <caffe2/core/macros.h> // For caffe2 macros.
#include <caffe2/utils/eigen_utils.h>
// All caffe2 ideep related headers // All caffe2 ideep related headers
#include <ideep.hpp> #include <ideep.hpp>
#include <caffe2/ideep/utils/ideep_context.h> #include <caffe2/ideep/utils/ideep_context.h>

2
third_party/ideep vendored

@ -1 +1 @@
Subproject commit ba885200dbbc1f144c7b58eba487378eb324f281 Subproject commit f0280bb805c2dedd4bb5dd4765cda7dfcd30989f

View File

@ -7,9 +7,9 @@ template_rule(
out = "include/dnnl_version.h", out = "include/dnnl_version.h",
substitutions = { substitutions = {
"@DNNL_VERSION_MAJOR@": "1", "@DNNL_VERSION_MAJOR@": "1",
"@DNNL_VERSION_MINOR@": "5", "@DNNL_VERSION_MINOR@": "7",
"@DNNL_VERSION_PATCH@": "0", "@DNNL_VERSION_PATCH@": "0",
"@DNNL_VERSION_HASH@": "e2ac1fac44c5078ca927cb9b90e1b3066a0b2ed0", "@DNNL_VERSION_HASH@": "2e4732679f0211bb311780d0f383cf2dce9baca7",
}, },
) )
@ -30,6 +30,8 @@ cc_library(
srcs = glob([ srcs = glob([
"src/common/*.cpp", "src/common/*.cpp",
"src/cpu/**/*.cpp", "src/cpu/**/*.cpp",
], exclude=[
"src/cpu/aarch64/*.cpp",
]), ]),
hdrs = glob([ hdrs = glob([
"include/*.h", "include/*.h",
@ -38,7 +40,8 @@ cc_library(
"src/cpu/**/*.hpp", "src/cpu/**/*.hpp",
"src/cpu/**/*.h", "src/cpu/**/*.h",
"src/common/*.hpp", "src/common/*.hpp",
"src/cpu/rnn/*.hpp", ], exclude=[
"src/cpu/aarch64/*.hpp",
]) + [ ]) + [
"include/dnnl_version.h", "include/dnnl_version.h",
"include/dnnl_config.h", "include/dnnl_config.h",

View File

@ -1,5 +1,5 @@
#pragma once #pragma once
#include <math.h>
// workaround for Python 2 issue: https://bugs.python.org/issue17120 // workaround for Python 2 issue: https://bugs.python.org/issue17120
// NOTE: It looks like this affects Python 3 as well. // NOTE: It looks like this affects Python 3 as well.
#pragma push_macro("_XOPEN_SOURCE") #pragma push_macro("_XOPEN_SOURCE")