Skip to content

Commit 7253bd0

Browse files
Apply MKL-{ML,DNN}-only config settings to dependencies, not just code.
Previously, specifying --define=using_mkl_dnn_only=true would cause MKL-ML-dependent code to be #ifdef'd out, but dependencies on MKL-ML itself would still be present. This change makes all library dependencies on MKL properly select MKL-ML, MKL-DNN, or both, depending on the selected configuration. PiperOrigin-RevId: 208710102
1 parent ab53f85 commit 7253bd0

10 files changed

Lines changed: 136 additions & 109 deletions

File tree

tensorflow/BUILD

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -424,14 +424,14 @@ package_group(
424424

425425
load(
426426
"//third_party/mkl:build_defs.bzl",
427-
"if_mkl",
427+
"if_mkl_ml",
428428
)
429429

430430
filegroup(
431431
name = "intel_binary_blob",
432-
data = if_mkl(
432+
data = if_mkl_ml(
433433
[
434-
"//third_party/mkl:intel_binary_blob",
434+
"//third_party/intel_mkl_ml",
435435
],
436436
),
437437
)

tensorflow/compiler/xla/service/cpu/BUILD

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ load("//tensorflow:tensorflow.bzl", "tf_cc_binary")
2020
load("//tensorflow/compiler/xla:xla.bzl", "ORC_JIT_MEMORY_MAPPER_TARGETS")
2121
load(
2222
"//third_party/mkl:build_defs.bzl",
23-
"if_mkl",
23+
"mkl_deps",
2424
)
2525

2626
# Filegroup used to collect source files for dependency checking.
@@ -498,10 +498,7 @@ cc_library(
498498
"//tensorflow/core:framework_lite",
499499
"//tensorflow/core/kernels:eigen_helpers",
500500
"//third_party/eigen3",
501-
] + if_mkl([
502-
"@mkl_dnn",
503-
"//third_party/mkl:intel_binary_blob",
504-
]),
501+
] + mkl_deps(),
505502
)
506503

507504
cc_library(
@@ -555,10 +552,7 @@ cc_library(
555552
"//tensorflow/compiler/xla:executable_run_options",
556553
"//tensorflow/core:framework_lite",
557554
"//third_party/eigen3",
558-
] + if_mkl([
559-
"//third_party/mkl:intel_binary_blob",
560-
"@mkl_dnn",
561-
]),
555+
] + mkl_deps(),
562556
)
563557

564558
cc_library(

tensorflow/core/BUILD

Lines changed: 5 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ load("@io_bazel_rules_closure//closure:defs.bzl", "closure_proto_library")
149149
load(
150150
"//third_party/mkl:build_defs.bzl",
151151
"if_mkl",
152+
"mkl_deps",
152153
)
153154

154155
exports_files(["ops/ops.pbtxt"])
@@ -2514,12 +2515,7 @@ tf_cuda_library(
25142515
] + if_static(
25152516
extra_deps = ["@protobuf_archive//:protobuf"],
25162517
otherwise = ["@protobuf_archive//:protobuf_headers"],
2517-
) + if_mkl(
2518-
[
2519-
"//third_party/mkl:intel_binary_blob",
2520-
"@mkl_dnn",
2521-
],
2522-
),
2518+
) + mkl_deps(),
25232519
alwayslink = 1,
25242520
)
25252521

@@ -2800,12 +2796,7 @@ tf_cuda_library(
28002796
":protos_all_cc",
28012797
"//third_party/eigen3",
28022798
"//tensorflow/core/grappler:grappler_item",
2803-
] + if_mkl(
2804-
[
2805-
"//third_party/mkl:intel_binary_blob",
2806-
"@mkl_dnn",
2807-
],
2808-
),
2799+
] + mkl_deps(),
28092800
alwayslink = 1,
28102801
)
28112802

@@ -2845,12 +2836,7 @@ tf_cuda_library(
28452836
"//tensorflow/core/grappler/optimizers:meta_optimizer",
28462837
"//third_party/eigen3",
28472838
"//tensorflow/core/kernels:required",
2848-
] + if_mkl(
2849-
[
2850-
"//third_party/mkl:intel_binary_blob",
2851-
"@mkl_dnn",
2852-
],
2853-
) + tf_additional_core_deps() + if_static([":core_cpu_impl"]),
2839+
] + mkl_deps() + tf_additional_core_deps() + if_static([":core_cpu_impl"]),
28542840
alwayslink = 1,
28552841
)
28562842

@@ -3857,11 +3843,7 @@ tf_cuda_only_cc_test(
38573843
":test",
38583844
":test_main",
38593845
"//third_party/eigen3",
3860-
] + if_mkl(
3861-
[
3862-
"//third_party/mkl:intel_binary_blob",
3863-
],
3864-
),
3846+
] + mkl_deps(),
38653847
)
38663848

38673849
tf_cc_test_gpu(

tensorflow/core/kernels/BUILD

Lines changed: 20 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ load(
5252
load(
5353
"//third_party/mkl:build_defs.bzl",
5454
"if_mkl",
55+
"if_mkl_ml",
56+
"mkl_deps",
5557
)
5658
load("@local_config_cuda//cuda:build_defs.bzl", "if_cuda")
5759

@@ -909,10 +911,7 @@ if_mkl(
909911
"transpose_op.cc",
910912
],
911913
hdrs = ["transpose_op.h"],
912-
deps = ARRAY_DEPS + if_mkl([
913-
"//third_party/mkl:intel_binary_blob",
914-
"@mkl_dnn",
915-
]),
914+
deps = ARRAY_DEPS + mkl_deps(),
916915
)],
917916
[tf_kernel_library(
918917
name = "transpose_op",
@@ -2875,7 +2874,7 @@ tf_kernel_library(
28752874

28762875
tf_kernel_library(
28772876
name = "batch_matmul_op",
2878-
srcs = [] + if_mkl([
2877+
srcs = if_mkl_ml([
28792878
"mkl_batch_matmul_op.cc",
28802879
]),
28812880
# <prefix>*impl.h are excluded by default from the CPU build, add explicitly.
@@ -2884,8 +2883,8 @@ tf_kernel_library(
28842883
# to avoid long compiling time. See https://github.com/tensorflow/tensorflow/issues/10521
28852884
copts = if_override_eigen_strong_inline(["/DEIGEN_STRONG_INLINE=inline"]),
28862885
prefix = "batch_matmul_op",
2887-
deps = MATH_DEPS + if_mkl([
2888-
"//third_party/mkl:intel_binary_blob",
2886+
deps = MATH_DEPS + if_mkl_ml([
2887+
"//third_party/intel_mkl_ml",
28892888
]),
28902889
)
28912890

@@ -2967,10 +2966,7 @@ tf_kernel_library(
29672966
"@libxsmm_archive//:xsmm_avx",
29682967
],
29692968
"//conditions:default": [],
2970-
}) + if_mkl([
2971-
"//third_party/mkl:intel_binary_blob",
2972-
"@mkl_dnn",
2973-
]) + if_cuda([
2969+
}) + mkl_deps() + if_cuda([
29742970
"//tensorflow/core/platform/default/build_config:cublas_plugin",
29752971
]),
29762972
)
@@ -6160,8 +6156,7 @@ tf_mkl_kernel_library(
61606156
"//tensorflow/core:lib",
61616157
"//tensorflow/core:lib_internal",
61626158
"//tensorflow/core:nn_ops_op_lib",
6163-
"//third_party/mkl:intel_binary_blob",
6164-
] + if_mkl(["@mkl_dnn"]),
6159+
] + mkl_deps(),
61656160
)
61666161

61676162
tf_mkl_kernel_library(
@@ -6175,8 +6170,7 @@ tf_mkl_kernel_library(
61756170
"//tensorflow/core:lib",
61766171
"//tensorflow/core:lib_internal",
61776172
"//tensorflow/core:nn_ops_op_lib",
6178-
"//third_party/mkl:intel_binary_blob",
6179-
] + if_mkl(["@mkl_dnn"]),
6173+
] + mkl_deps(),
61806174
)
61816175

61826176
tf_mkl_kernel_library(
@@ -6191,8 +6185,7 @@ tf_mkl_kernel_library(
61916185
"//tensorflow/core:lib",
61926186
"//tensorflow/core:lib_internal",
61936187
"//tensorflow/core:nn_ops_op_lib",
6194-
"//third_party/mkl:intel_binary_blob",
6195-
] + if_mkl(["@mkl_dnn"]),
6188+
] + mkl_deps(),
61966189
)
61976190

61986191
tf_mkl_kernel_library(
@@ -6211,8 +6204,7 @@ tf_mkl_kernel_library(
62116204
"//tensorflow/core:lib",
62126205
"//tensorflow/core:lib_internal",
62136206
"//tensorflow/core:nn_ops_op_lib",
6214-
"//third_party/mkl:intel_binary_blob",
6215-
] + if_mkl(["@mkl_dnn"]),
6207+
] + mkl_deps(),
62166208
)
62176209

62186210
tf_mkl_kernel_library(
@@ -6227,8 +6219,7 @@ tf_mkl_kernel_library(
62276219
"//tensorflow/core:lib_internal",
62286220
"//tensorflow/core:nn_ops_op_lib",
62296221
"//third_party/eigen3",
6230-
"//third_party/mkl:intel_binary_blob",
6231-
] + if_mkl(["@mkl_dnn"]),
6222+
] + mkl_deps(),
62326223
)
62336224

62346225
tf_mkl_kernel_library(
@@ -6243,56 +6234,43 @@ tf_mkl_kernel_library(
62436234
"//tensorflow/core:lib_internal",
62446235
"//tensorflow/core:nn_ops_op_lib",
62456236
"//third_party/eigen3",
6246-
"//third_party/mkl:intel_binary_blob",
6247-
] + if_mkl(["@mkl_dnn"]),
6237+
] + mkl_deps(),
62486238
)
62496239

62506240
tf_mkl_kernel_library(
62516241
name = "mkl_fused_batch_norm_op",
62526242
srcs = ["mkl_fused_batch_norm_op.cc"],
6253-
deps = NN_DEPS + [
6254-
"//third_party/mkl:intel_binary_blob",
6255-
] + if_mkl(["@mkl_dnn"]),
6243+
deps = NN_DEPS + mkl_deps(),
62566244
)
62576245

62586246
tf_mkl_kernel_library(
62596247
name = "mkl_aggregate_ops",
62606248
prefix = "mkl_aggregate_ops",
6261-
deps = MATH_DEPS + [
6262-
"//third_party/mkl:intel_binary_blob",
6263-
] + if_mkl(["@mkl_dnn"]),
6249+
deps = MATH_DEPS + mkl_deps(),
62646250
)
62656251

62666252
tf_mkl_kernel_library(
62676253
name = "mkl_concat_op",
62686254
prefix = "mkl_concat_op",
6269-
deps = ARRAY_DEPS + [
6270-
"//third_party/mkl:intel_binary_blob",
6271-
] + if_mkl(["@mkl_dnn"]),
6255+
deps = ARRAY_DEPS + mkl_deps(),
62726256
)
62736257

62746258
tf_mkl_kernel_library(
62756259
name = "mkl_reshape_op",
62766260
prefix = "mkl_reshape_op",
6277-
deps = ARRAY_DEPS + [
6278-
"//third_party/mkl:intel_binary_blob",
6279-
] + if_mkl(["@mkl_dnn"]),
6261+
deps = ARRAY_DEPS + mkl_deps(),
62806262
)
62816263

62826264
tf_mkl_kernel_library(
62836265
name = "mkl_identity_op",
62846266
prefix = "mkl_identity_op",
6285-
deps = ARRAY_DEPS + [
6286-
"//third_party/mkl:intel_binary_blob",
6287-
] + if_mkl(["@mkl_dnn"]),
6267+
deps = ARRAY_DEPS + mkl_deps(),
62886268
)
62896269

62906270
tf_mkl_kernel_library(
62916271
name = "mkl_lrn_op",
62926272
prefix = "mkl_lrn_op",
6293-
deps = NN_DEPS + [
6294-
"//third_party/mkl:intel_binary_blob",
6295-
] + if_mkl(["@mkl_dnn"]),
6273+
deps = NN_DEPS + mkl_deps(),
62966274
)
62976275

62986276
tf_mkl_kernel_library(
@@ -6303,10 +6281,7 @@ tf_mkl_kernel_library(
63036281
"cwise_ops_gradients.h",
63046282
],
63056283
prefix = "mkl_cwise_ops_common",
6306-
deps = NN_DEPS + [
6307-
"cwise_op",
6308-
"//third_party/mkl:intel_binary_blob",
6309-
],
6284+
deps = NN_DEPS + mkl_deps() + [":cwise_op"],
63106285
)
63116286

63126287
# NOTE(lespeholt): This rule is deprecated, please use:

tensorflow/core/platform/default/build_config.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ load("//tensorflow/core:platform/default/build_config_root.bzl", "if_static")
88
load("@local_config_cuda//cuda:build_defs.bzl", "if_cuda")
99
load(
1010
"//third_party/mkl:build_defs.bzl",
11-
"if_mkl",
11+
"if_mkl_ml",
1212
)
1313

1414
# Appends a suffix to a list of deps.
@@ -700,8 +700,8 @@ def tf_additional_binary_deps():
700700
# core).
701701
"//tensorflow/core/kernels:lookup_util",
702702
"//tensorflow/core/util/tensor_bundle",
703-
] + if_mkl(
703+
] + if_mkl_ml(
704704
[
705-
"//third_party/mkl:intel_binary_blob",
705+
"//third_party/intel_mkl_ml",
706706
],
707707
)

tensorflow/tensorflow.bzl

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ load(
2323
load(
2424
"//third_party/mkl:build_defs.bzl",
2525
"if_mkl",
26-
"if_mkl_lnx_x64"
26+
"if_mkl_lnx_x64",
27+
"if_mkl_ml",
28+
"mkl_deps",
2729
)
2830
load(
2931
"//third_party/mkl_dnn:build_defs.bzl",
@@ -377,9 +379,9 @@ def tf_cc_binary(name,
377379
name=name,
378380
copts=copts,
379381
srcs=srcs + tf_binary_additional_srcs(),
380-
deps=deps + tf_binary_dynamic_kernel_deps(kernels) + if_mkl(
382+
deps=deps + tf_binary_dynamic_kernel_deps(kernels) + if_mkl_ml(
381383
[
382-
"//third_party/mkl:intel_binary_blob",
384+
"//third_party/intel_mkl_ml",
383385
],
384386
),
385387
data=data + tf_binary_dynamic_kernel_dsos(kernels),
@@ -695,9 +697,9 @@ def tf_cc_test(name,
695697
"-lm"
696698
],
697699
}) + linkopts + _rpath_linkopts(name),
698-
deps=deps + tf_binary_dynamic_kernel_deps(kernels) + if_mkl(
700+
deps=deps + tf_binary_dynamic_kernel_deps(kernels) + if_mkl_ml(
699701
[
700-
"//third_party/mkl:intel_binary_blob",
702+
"//third_party/intel_mkl_ml",
701703
],
702704
),
703705
data=data + tf_binary_dynamic_kernel_dsos(kernels),
@@ -877,11 +879,7 @@ def tf_cc_test_mkl(srcs,
877879
"-lm"
878880
],
879881
}) + _rpath_linkopts(src_to_test_name(src)),
880-
deps=deps + tf_binary_dynamic_kernel_deps(kernels) + if_mkl(
881-
[
882-
"//third_party/mkl:intel_binary_blob",
883-
],
884-
),
882+
deps=deps + tf_binary_dynamic_kernel_deps(kernels) + mkl_deps(),
885883
data=data + tf_binary_dynamic_kernel_dsos(kernels),
886884
linkstatic=linkstatic,
887885
tags=tags,
@@ -1015,6 +1013,7 @@ def tf_cuda_library(deps=None, cuda_deps=None, copts=tf_copts(), **kwargs):
10151013
"@local_config_cuda//cuda:cuda_headers"
10161014
]),
10171015
copts=(copts + if_cuda(["-DGOOGLE_CUDA=1"]) + if_mkl(["-DINTEL_MKL=1"]) +
1016+
if_mkl_open_source_only(["-DINTEL_MKL_DNN_ONLY"]) +
10181017
if_tensorrt(["-DGOOGLE_TENSORRT=1"])),
10191018
**kwargs)
10201019

tensorflow/tools/pip_package/BUILD

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ load(
99
"if_windows",
1010
"transitive_hdrs",
1111
)
12-
load("//third_party/mkl:build_defs.bzl", "if_mkl")
12+
load("//third_party/mkl:build_defs.bzl", "if_mkl", "if_mkl_ml")
1313
load("//tensorflow:tensorflow.bzl", "if_cuda")
1414
load("@local_config_syslibs//:build_defs.bzl", "if_not_system_lib")
1515
load("//tensorflow/core:platform/default/build_config_root.bzl", "tf_additional_license_deps")
@@ -214,7 +214,7 @@ sh_binary(
214214
"//tensorflow/contrib/lite/python:tflite_convert",
215215
"//tensorflow/contrib/lite/toco/python:toco_from_protos",
216216
],
217-
}) + if_mkl(["//third_party/mkl:intel_binary_blob"]),
217+
}) + if_mkl_ml(["//third_party/intel_mkl_ml"]),
218218
)
219219

220220
# A genrule for generating a marker file for the pip package on Windows

0 commit comments

Comments
 (0)