From 06dd30ef987b5511351e979568d4ad06ccdc2844 Mon Sep 17 00:00:00 2001 From: Aleksandr Nikolaev Date: Fri, 12 Mar 2021 18:37:47 -0500 Subject: [PATCH 1/7] Update of --config=mkl_aarch64 with Compute Library support This PR introduces the support of Compute Library for the Arm Architecture (ACL) as part of Bazel build. Signed-off-by: Aleksandr Nikolaev --- .bazelrc | 3 +- configure.py | 3 +- tensorflow/core/kernels/mkl/mkl_conv_ops.cc | 13 +++ tensorflow/core/util/mkl_util.h | 6 ++ tensorflow/tensorflow.bzl | 2 + tensorflow/workspace2.bzl | 22 ++++++ third_party/compute_library/BUILD | 79 +++++++++++++++++++ third_party/compute_library/LICENSE | 21 +++++ .../compute_library/compute_library.patch | 8 ++ third_party/mkl/build_defs.bzl | 4 +- third_party/mkl_dnn/BUILD | 8 ++ third_party/mkl_dnn/build_defs.bzl | 6 ++ third_party/mkl_dnn/mkldnn_acl.BUILD | 66 ++++++++++++++++ third_party/mkl_dnn/mkldnn_v1.BUILD | 35 +------- 14 files changed, 239 insertions(+), 37 deletions(-) create mode 100644 third_party/compute_library/BUILD create mode 100644 third_party/compute_library/LICENSE create mode 100644 third_party/compute_library/compute_library.patch create mode 100644 third_party/mkl_dnn/mkldnn_acl.BUILD diff --git a/.bazelrc b/.bazelrc index f0a3053f81a..cbf88c32016 100644 --- a/.bazelrc +++ b/.bazelrc @@ -174,7 +174,8 @@ build:mkl_threadpool --define=tensorflow_mkldnn_contraction_kernel=0 build:mkl_threadpool --define=build_with_mkl_opensource=true build:mkl_threadpool -c opt -# Config setting to build with oneDNN for Arm. +# Config setting to build oneDNN with Compute Library for the Arm Architecture (ACL). +# This build is for the inference regime only. build:mkl_aarch64 --define=build_with_mkl_aarch64=true --define=enable_mkl=true build:mkl_aarch64 --define=tensorflow_mkldnn_contraction_kernel=0 build:mkl_aarch64 --define=build_with_mkl_opensource=true diff --git a/configure.py b/configure.py index 47035dfe520..d35e3df887a 100644 --- a/configure.py +++ b/configure.py @@ -1458,7 +1458,8 @@ def main(): 'adding "--config=<>" to your build command. See .bazelrc for more ' 'details.') config_info_line('mkl', 'Build with MKL support.') - config_info_line('mkl_aarch64', 'Build with oneDNN support for Aarch64.') + config_info_line('mkl_aarch64', 'Build with oneDNN and Compute Library for the \ +Arm Architecture (ACL).') config_info_line('monolithic', 'Config for mostly static monolithic build.') config_info_line('numa', 'Build with NUMA support.') config_info_line( diff --git a/tensorflow/core/kernels/mkl/mkl_conv_ops.cc b/tensorflow/core/kernels/mkl/mkl_conv_ops.cc index 9d3ad960d89..78a506a394c 100644 --- a/tensorflow/core/kernels/mkl/mkl_conv_ops.cc +++ b/tensorflow/core/kernels/mkl/mkl_conv_ops.cc @@ -67,6 +67,9 @@ struct MklConvFwdParams { MklTensorFormat tf_fmt; bool native_format; string dtypes = string(""); +#ifdef DNNL_AARCH64_USE_ACL + void* filter_address = nullptr; +#endif struct PostOpParam { string name; mkldnn::algorithm alg; @@ -364,6 +367,9 @@ class MklConvFwdPrimitiveFactory : public MklPrimitiveFactory { key_creator.AddAsKey(prefix); key_creator.AddAsKey(convFwdDims.src_dims); key_creator.AddAsKey(convFwdDims.filter_dims); +#ifdef DNNL_AARCH64_USE_ACL + key_creator.AddAsKey(convFwdDims.filter_address); +#endif key_creator.AddAsKey(convFwdDims.bias_dims); key_creator.AddAsKey(convFwdDims.dst_dims); key_creator.AddAsKey(convFwdDims.strides); @@ -657,6 +663,13 @@ class MklConvOp : public OpKernel { // TODO(mdfaijul): Extend the basic parameters for data types and fusions this->ExtendConvFwdParams(context, convFwdDims); +#ifdef DNNL_AARCH64_USE_ACL + // Specifics of ACL: a primitive per constant weights ptr + convFwdDims.filter_address = const_cast( + static_cast( + filter_tensor.flat().data())); +#endif + conv_fwd = MklConvFwdPrimitiveFactory::Get( convFwdDims, do_not_cache); diff --git a/tensorflow/core/util/mkl_util.h b/tensorflow/core/util/mkl_util.h index 21407760175..b3fd919686a 100644 --- a/tensorflow/core/util/mkl_util.h +++ b/tensorflow/core/util/mkl_util.h @@ -1865,6 +1865,12 @@ class FactoryKeyCreator { Append(StringPiece(buffer, sizeof(T))); } + // generalisation to handle pointers + void AddAsKey(const void* data) { + auto buffer = reinterpret_cast(&data); + Append(StringPiece(buffer, sizeof(data))); + } + string GetKey() { return key_; } private: diff --git a/tensorflow/tensorflow.bzl b/tensorflow/tensorflow.bzl index a3501d51353..e57e52f04b4 100644 --- a/tensorflow/tensorflow.bzl +++ b/tensorflow/tensorflow.bzl @@ -39,6 +39,7 @@ load( load( "//third_party/mkl_dnn:build_defs.bzl", "if_mkldnn_openmp", + "if_mkldnn_aarch64_acl", ) load("@bazel_skylib//lib:new_sets.bzl", "sets") load("@bazel_skylib//rules:common_settings.bzl", "BuildSettingInfo") @@ -365,6 +366,7 @@ def tf_copts( if_mkl(["-DINTEL_MKL=1"]) + if_mkldnn_openmp(["-DENABLE_ONEDNN_OPENMP"]) + if_enable_mkl(["-DENABLE_MKL"]) + + if_mkldnn_aarch64_acl(["-DENABLE_MKL", "-DENABLE_ONEDNN_OPENMP"]) + if_android_arm(["-mfpu=neon"]) + if_linux_x86_64(["-msse3"]) + if_ios_x86_64(["-msse4.1"]) + diff --git a/tensorflow/workspace2.bzl b/tensorflow/workspace2.bzl index da36374e3e0..ba2eb367f3a 100644 --- a/tensorflow/workspace2.bzl +++ b/tensorflow/workspace2.bzl @@ -176,6 +176,28 @@ def _tf_repositories(): ], ) + tf_http_archive( + name = "mkl_dnn_acl_compatible", + build_file = "//third_party/mkl_dnn:mkldnn_acl.BUILD", + sha256 = "5f7fd92e2d0bf83580656695d4404e2cd1390ecad36496fd8ba10b5adc905f70", + strip_prefix = "oneDNN-2.1", + urls = [ + "https://storage.googleapis.com/mirror.tensorflow.org/github.com/oneapi-src/oneDNN/archive/v2.1.tar.gz", + "https://github.com/oneapi-src/oneDNN/archive/v2.1.tar.gz"] + ) + + tf_http_archive( + name = "compute_library", + sha256 = "cdb3d8a7ab7ea13f0df207a20657f2827ac631c24aa0e8487bacf97697237bdf", + strip_prefix = "ComputeLibrary-21.02", + build_file = "//third_party/compute_library:BUILD", + patch_file = "//third_party/compute_library:compute_library.patch", + urls = [ + "http://mirror.tensorflow.org/github.com/ARM-software/ComputeLibrary/archive/v21.02.tar.gz", + "https://github.com/ARM-software/ComputeLibrary/archive/v21.02.tar.gz" + ], + ) + tf_http_archive( name = "arm_compiler", build_file = "//:arm_compiler.BUILD", diff --git a/third_party/compute_library/BUILD b/third_party/compute_library/BUILD new file mode 100644 index 00000000000..4e5dcd638b1 --- /dev/null +++ b/third_party/compute_library/BUILD @@ -0,0 +1,79 @@ +exports_files(["LICENSE"]) + +cc_library( + name = "include", + hdrs = glob(["include/**/*.h", "include/**/*.hpp"]), + strip_include_prefix = "include", + includes = ["include"], +) + +cc_library( + name = "arm_compute_core", + + srcs = glob(["src/core/*.cpp", + "src/core/helpers/*.cpp", + "src/core/CPP/**/*.cpp", + "src/core/utils/**/*.cpp", + "src/core/NEON/kernels/**/*.cpp", + "src/core/cpu/kernels/*.cpp", + "src/core/cpu/kernels/**/*.cpp", + "src/core/**/*.hpp", + "**/*.h"], + exclude=["src/core/TracePoint.cpp"]), + + hdrs = glob(["arm_compute/core/**/*.h", + "**/*.inl"]) + + ["arm_compute_version.embed"], + + includes = ["src/core/NEON/kernels/convolution/common", + "src/core/NEON/kernels/convolution/winograd", + "src/core/NEON/kernels/assembly"], + + defines = ["ENABLE_FP16_KERNELS", "ENABLE_FP32_KERNELS", "ENABLE_QASYMM8_KERNELS", + "ENABLE_QASYMM8_SIGNED_KERNELS", "ENABLE_QSYMM16_KERNELS", + "ENABLE_INTEGER_KERNELS", "ENABLE_NHWC_KERNELS"], + + deps = ["include"], +) + +cc_library( + name = "arm_compute_runtime", + + srcs = glob(["src/runtime/*.cpp", + "src/runtime/CPP/**/*.cpp", + "src/runtime/NEON/**/*.cpp", + "src/runtime/cpu/**/*.cpp", + "**/*.h"]), + + hdrs = glob(["arm_compute/runtime/**/*.h"]) + + ["arm_compute_version.embed"], + + deps = ["arm_compute_core"], + + defines = ["ARM_COMPUTE_CPP_SCHEDULER"], + + linkopts = ["-lpthread"], + + visibility = ["//visibility:public"], +) + +cc_library( + name = "arm_compute_graph", + + srcs = glob(["src/graph/*.cpp", + "src/graph/algorithms/*.cpp", + "src/graph/backends/*.cpp", + "src/graph/detail/*.cpp", + "src/graph/frontend/*.cpp", + "src/graph/mutators/*.cpp", + "src/graph/nodes/*.cpp", + "src/graph/printers/*.cpp", + "src/graph/backends/NEON/*.cpp", + "**/*.h"]), + + hdrs = glob(["arm_compute/graph/**/*.h"]), + + deps = ["arm_compute_core"], + + visibility = ["//visibility:public"], +) \ No newline at end of file diff --git a/third_party/compute_library/LICENSE b/third_party/compute_library/LICENSE new file mode 100644 index 00000000000..1bb90563e94 --- /dev/null +++ b/third_party/compute_library/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017-2021 Arm Limited + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/compute_library/compute_library.patch b/third_party/compute_library/compute_library.patch new file mode 100644 index 00000000000..43b0c9a1c0d --- /dev/null +++ b/third_party/compute_library/compute_library.patch @@ -0,0 +1,8 @@ +diff --git a/arm_compute_version.embed b/arm_compute_version.embed +new file mode 100644 +index 000000000..c986ad52a +--- /dev/null ++++ b/arm_compute_version.embed +@@ -0,0 +1,1 @@ ++"arm_compute_version=v21.02 Build options: {} Git hash=b'N/A'" +\ No newline at end of file \ No newline at end of file diff --git a/third_party/mkl/build_defs.bzl b/third_party/mkl/build_defs.bzl index b3efa4d9ca7..e31be16741d 100644 --- a/third_party/mkl/build_defs.bzl +++ b/third_party/mkl/build_defs.bzl @@ -26,6 +26,7 @@ def if_mkl(if_true, if_false = []): """ return select({ "@org_tensorflow//third_party/mkl:build_with_mkl": if_true, + "@org_tensorflow//third_party/mkl:build_with_mkl_aarch64": if_true, "//conditions:default": if_false, }) @@ -77,6 +78,7 @@ def if_enable_mkl(if_true, if_false = []): """ return select({ "@org_tensorflow//third_party/mkl:enable_mkl": if_true, + "@org_tensorflow//third_party/mkl:build_with_mkl_aarch64": if_true, "//conditions:default": if_false, }) @@ -91,7 +93,7 @@ def mkl_deps(): """ return select({ "@org_tensorflow//third_party/mkl:build_with_mkl": ["@mkl_dnn_v1//:mkl_dnn"], - "@org_tensorflow//third_party/mkl:build_with_mkl_aarch64": ["@mkl_dnn_v1//:mkl_dnn_aarch64"], + "@org_tensorflow//third_party/mkl:build_with_mkl_aarch64": ["@mkl_dnn_acl_compatible//:mkl_dnn_acl"], "//conditions:default": [], }) diff --git a/third_party/mkl_dnn/BUILD b/third_party/mkl_dnn/BUILD index 14988dae575..d88bb1d88fd 100644 --- a/third_party/mkl_dnn/BUILD +++ b/third_party/mkl_dnn/BUILD @@ -27,6 +27,14 @@ config_setting( visibility = ["//visibility:public"], ) +config_setting( + name = "build_with_mkl_aarch64", + define_values = { + "build_with_mkl_aarch64": "true", + }, + visibility = ["//visibility:public"], +) + bzl_library( name = "build_defs_bzl", srcs = ["build_defs.bzl"], diff --git a/third_party/mkl_dnn/build_defs.bzl b/third_party/mkl_dnn/build_defs.bzl index e24c6e3b018..1e5414c59c9 100644 --- a/third_party/mkl_dnn/build_defs.bzl +++ b/third_party/mkl_dnn/build_defs.bzl @@ -29,3 +29,9 @@ def if_mkldnn_openmp(if_true, if_false = []): "@org_tensorflow//third_party/mkl_dnn:build_with_mkldnn_openmp": if_true, "//conditions:default": if_false, }) + +def if_mkldnn_aarch64_acl(if_true, if_false = []): + return select({ + "@org_tensorflow//third_party/mkl:build_with_mkl_aarch64": if_true, + "//conditions:default": if_false, +}) \ No newline at end of file diff --git a/third_party/mkl_dnn/mkldnn_acl.BUILD b/third_party/mkl_dnn/mkldnn_acl.BUILD new file mode 100644 index 00000000000..a75a4ccb669 --- /dev/null +++ b/third_party/mkl_dnn/mkldnn_acl.BUILD @@ -0,0 +1,66 @@ +exports_files(["LICENSE"]) + +load( + "@org_tensorflow//third_party:common.bzl", + "template_rule", +) + +_DNNL_RUNTIME_OMP = { + "#cmakedefine DNNL_CPU_THREADING_RUNTIME DNNL_RUNTIME_${DNNL_CPU_THREADING_RUNTIME}": "#define DNNL_CPU_THREADING_RUNTIME DNNL_RUNTIME_OMP", + "#cmakedefine DNNL_CPU_RUNTIME DNNL_RUNTIME_${DNNL_CPU_RUNTIME}": "#define DNNL_CPU_RUNTIME DNNL_RUNTIME_OMP", + "#cmakedefine DNNL_GPU_RUNTIME DNNL_RUNTIME_${DNNL_GPU_RUNTIME}": "#define DNNL_GPU_RUNTIME DNNL_RUNTIME_NONE", + "#cmakedefine DNNL_WITH_SYCL": "/* #undef DNNL_WITH_SYCL */", + "#cmakedefine DNNL_WITH_LEVEL_ZERO": "/* #undef DNNL_WITH_LEVEL_ZERO */", + "#cmakedefine DNNL_SYCL_CUDA": "/* #undef DNNL_SYCL_CUDA */", +} + +template_rule( + name = "dnnl_config_h", + src = "include/oneapi/dnnl/dnnl_config.h.in", + out = "include/oneapi/dnnl/dnnl_config.h", + substitutions = _DNNL_RUNTIME_OMP, +) + +template_rule( + name = "dnnl_version_h", + src = "include/oneapi/dnnl/dnnl_version.h.in", + out = "include/oneapi/dnnl/dnnl_version.h", + substitutions = { + "@DNNL_VERSION_MAJOR@": "2", + "@DNNL_VERSION_MINOR@": "1", + "@DNNL_VERSION_PATCH@": "0", + "@DNNL_VERSION_HASH@": "fbdfeea2642fec05387ed37d565cf904042f507e", + }, +) + +cc_library( + name = "mkl_dnn_acl", + srcs = glob([ + "src/common/*.cpp", + "src/common/*.hpp", + "src/cpu/**/*.cpp", + "src/cpu/**/*.hpp",], + exclude=["src/cpu/x64/**/*"] + ) + [ + ":dnnl_config_h", + ":dnnl_version_h", + ], + hdrs = glob(["include/*"]), + copts = [ + "-fexceptions", + "-UUSE_MKL", + "-UUSE_CBLAS", + ], + defines=["DNNL_AARCH64_USE_ACL=1"], + includes = [ + "include", + "src", + "src/common", + "src/cpu", + "src/cpu/gemm", + ], + linkopts = ["-lgomp"], + visibility = ["//visibility:public"], + deps = ["@compute_library//:arm_compute_runtime", + "@compute_library//:arm_compute_graph"], +) \ No newline at end of file diff --git a/third_party/mkl_dnn/mkldnn_v1.BUILD b/third_party/mkl_dnn/mkldnn_v1.BUILD index 2eef9885f51..379dd1e64fc 100644 --- a/third_party/mkl_dnn/mkldnn_v1.BUILD +++ b/third_party/mkl_dnn/mkldnn_v1.BUILD @@ -151,37 +151,4 @@ cc_library( "src/cpu/x64/xbyak/*.h", ]), visibility = ["//visibility:public"], -) - -cc_library( - name = "mkl_dnn_aarch64", - srcs = glob([ - "src/common/*.cpp", - "src/common/*.hpp", - "src/cpu/*.cpp", - "src/cpu/*.hpp", - "src/cpu/rnn/*.cpp", - "src/cpu/rnn/*.hpp", - "src/cpu/matmul/*.cpp", - "src/cpu/matmul/*.hpp", - "src/cpu/gemm/**/*", - ]) + [ - ":dnnl_config_h", - ":dnnl_version_h", - ], - hdrs = glob(["include/*"]), - copts = [ - "-fexceptions", - "-UUSE_MKL", - "-UUSE_CBLAS", - ], - includes = [ - "include", - "src", - "src/common", - "src/cpu", - "src/cpu/gemm", - ], - linkopts = ["-lgomp"], - visibility = ["//visibility:public"], -) +) \ No newline at end of file From dc5dbda4839c208b22b036eccfd02abd36c1c8fd Mon Sep 17 00:00:00 2001 From: Aleksandr Nikolaev <67425323+alenik01@users.noreply.github.com> Date: Tue, 23 Mar 2021 18:36:00 +0000 Subject: [PATCH 2/7] Update tensorflow/workspace2.bzl The URL with mirror.tensorflow.org for some reason produces ERROR 404: Not Found, the actual URL which is used during the build is https://github.com/ARM-software/ComputeLibrary/archive/v21.02.tar.gz Co-authored-by: Penporn Koanantakool <38085909+penpornk@users.noreply.github.com> --- tensorflow/workspace2.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tensorflow/workspace2.bzl b/tensorflow/workspace2.bzl index ecfd432459a..6d060a752b5 100644 --- a/tensorflow/workspace2.bzl +++ b/tensorflow/workspace2.bzl @@ -194,7 +194,7 @@ def _tf_repositories(): build_file = "//third_party/compute_library:BUILD", patch_file = "//third_party/compute_library:compute_library.patch", urls = [ - "http://mirror.tensorflow.org/github.com/ARM-software/ComputeLibrary/archive/v21.02.tar.gz", + "https://storage.googleapis.com/mirror.tensorflow.org/github.com/ARM-software/ComputeLibrary/archive/v21.02.tar.gz", "https://github.com/ARM-software/ComputeLibrary/archive/v21.02.tar.gz" ], ) From ed17fdfa5cefd3bb267fd72a9500982303917ab2 Mon Sep 17 00:00:00 2001 From: Aleksandr Nikolaev <67425323+alenik01@users.noreply.github.com> Date: Tue, 23 Mar 2021 18:38:36 +0000 Subject: [PATCH 3/7] Update BUILD Newline added. --- third_party/compute_library/BUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/compute_library/BUILD b/third_party/compute_library/BUILD index 4e5dcd638b1..b60efbbe8f1 100644 --- a/third_party/compute_library/BUILD +++ b/third_party/compute_library/BUILD @@ -76,4 +76,4 @@ cc_library( deps = ["arm_compute_core"], visibility = ["//visibility:public"], -) \ No newline at end of file +) From af66a9ca831408194747b46be1a61e5b5233b392 Mon Sep 17 00:00:00 2001 From: Aleksandr Nikolaev <67425323+alenik01@users.noreply.github.com> Date: Tue, 23 Mar 2021 18:39:29 +0000 Subject: [PATCH 4/7] Update mkldnn_acl.BUILD --- third_party/mkl_dnn/mkldnn_acl.BUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/mkl_dnn/mkldnn_acl.BUILD b/third_party/mkl_dnn/mkldnn_acl.BUILD index a75a4ccb669..cdc3bf37206 100644 --- a/third_party/mkl_dnn/mkldnn_acl.BUILD +++ b/third_party/mkl_dnn/mkldnn_acl.BUILD @@ -63,4 +63,4 @@ cc_library( visibility = ["//visibility:public"], deps = ["@compute_library//:arm_compute_runtime", "@compute_library//:arm_compute_graph"], -) \ No newline at end of file +) From f7e049719a44929ed102782b801e94dea214022d Mon Sep 17 00:00:00 2001 From: Aleksandr Nikolaev <67425323+alenik01@users.noreply.github.com> Date: Tue, 23 Mar 2021 19:53:08 +0000 Subject: [PATCH 5/7] Update build_defs.bzl The second check of build_with_mkl_aarch64 indeed doesn't affect anything. --- third_party/mkl/build_defs.bzl | 1 - 1 file changed, 1 deletion(-) diff --git a/third_party/mkl/build_defs.bzl b/third_party/mkl/build_defs.bzl index e31be16741d..6ac751ce15f 100644 --- a/third_party/mkl/build_defs.bzl +++ b/third_party/mkl/build_defs.bzl @@ -78,7 +78,6 @@ def if_enable_mkl(if_true, if_false = []): """ return select({ "@org_tensorflow//third_party/mkl:enable_mkl": if_true, - "@org_tensorflow//third_party/mkl:build_with_mkl_aarch64": if_true, "//conditions:default": if_false, }) From 8ec864e9b8c9a3c298c6631cdda26f320a89c45d Mon Sep 17 00:00:00 2001 From: Aleksandr Nikolaev <67425323+alenik01@users.noreply.github.com> Date: Wed, 24 Mar 2021 09:43:44 +0000 Subject: [PATCH 6/7] Update build_defs.bzl To test the effect on Android CI. --- third_party/mkl/build_defs.bzl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/third_party/mkl/build_defs.bzl b/third_party/mkl/build_defs.bzl index df0807f156d..784d1612fd3 100644 --- a/third_party/mkl/build_defs.bzl +++ b/third_party/mkl/build_defs.bzl @@ -35,6 +35,7 @@ def if_mkl(if_true, if_false = []): "@org_tensorflow//third_party/mkl:build_with_mkl": if_true, "@org_tensorflow//third_party/mkl:build_with_mkl_aarch64": if_true, "//tensorflow:android_x86": if_false, + "//tensorflow:arm_any": if_false, "//tensorflow:ios": if_false, "//tensorflow:linux_ppc64le": if_false, "//tensorflow:linux_s390x": if_false, @@ -107,6 +108,7 @@ def mkl_deps(): return select({ "@org_tensorflow//third_party/mkl:build_with_mkl_aarch64": ["@mkl_dnn_acl_compatible//:mkl_dnn_acl"], "//tensorflow:android_x86": [], + "//tensorflow:arm_any": [], "//tensorflow:ios": [], "//tensorflow:linux_ppc64le": [], "//tensorflow:linux_s390x": [], From 6bc2e6f3e7def231a446777ac51d13b19f5e6016 Mon Sep 17 00:00:00 2001 From: Aleksandr Nikolaev <67425323+alenik01@users.noreply.github.com> Date: Wed, 24 Mar 2021 11:43:07 +0000 Subject: [PATCH 7/7] Update build_defs.bzl No "arm_any". --- third_party/mkl/build_defs.bzl | 2 -- 1 file changed, 2 deletions(-) diff --git a/third_party/mkl/build_defs.bzl b/third_party/mkl/build_defs.bzl index 784d1612fd3..df0807f156d 100644 --- a/third_party/mkl/build_defs.bzl +++ b/third_party/mkl/build_defs.bzl @@ -35,7 +35,6 @@ def if_mkl(if_true, if_false = []): "@org_tensorflow//third_party/mkl:build_with_mkl": if_true, "@org_tensorflow//third_party/mkl:build_with_mkl_aarch64": if_true, "//tensorflow:android_x86": if_false, - "//tensorflow:arm_any": if_false, "//tensorflow:ios": if_false, "//tensorflow:linux_ppc64le": if_false, "//tensorflow:linux_s390x": if_false, @@ -108,7 +107,6 @@ def mkl_deps(): return select({ "@org_tensorflow//third_party/mkl:build_with_mkl_aarch64": ["@mkl_dnn_acl_compatible//:mkl_dnn_acl"], "//tensorflow:android_x86": [], - "//tensorflow:arm_any": [], "//tensorflow:ios": [], "//tensorflow:linux_ppc64le": [], "//tensorflow:linux_s390x": [],