aboutsummaryrefslogtreecommitdiffhomepage
path: root/libxsmm.BUILD
diff options
context:
space:
mode:
authorGravatar A. Unique TensorFlower <gardener@tensorflow.org>2016-12-20 17:13:04 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2016-12-20 17:24:09 -0800
commitb7a389d47127b631141f492108ae8f3d124d4a05 (patch)
tree257c4a6231b3d5b177260ba60148e2570c9c3e91 /libxsmm.BUILD
parentede3c12a11cd6858eef4de52b7697299743d4660 (diff)
Added support for TensorFlow backward convolutions to use libxsmm; weight
updates are not yet supported. There still might be some bugs in the libxsmm code for backward convolutions, so that mode is not recommended for use yet. Since this feature is experimental, "--define tensorflow_xsmm_backward=1" needs to be used on the build command line to enable it. Change: 142614258
Diffstat (limited to 'libxsmm.BUILD')
-rw-r--r--libxsmm.BUILD32
1 files changed, 28 insertions, 4 deletions
diff --git a/libxsmm.BUILD b/libxsmm.BUILD
index 7d969b3dd6..c618e822e7 100644
--- a/libxsmm.BUILD
+++ b/libxsmm.BUILD
@@ -7,12 +7,12 @@ exports_files(["LICENSE"])
# Arguments to ./scripts/libxsmm_interface.py, see that file for detailed description.
# precision: SP & DP
-# ilp64: no
# prefetch: 1 (auto)
libxsmm_interface_arguments = "0 0 1"
# Arguments to ./scripts/libxsmm_config.py, see that file for detailed description.
# ilp64: no
+# big: no
# offload: no
# alignment [b]
# prefetch: 1 (auto)
@@ -22,7 +22,11 @@ libxsmm_interface_arguments = "0 0 1"
# flags
# alpha = 1
# beta = 1
-libxsmm_config_arguments = "0 0 64 1 0 1 1 0 1 1"
+libxsmm_config_arguments = "0 0 0 64 1 0 1 1 0 1 1"
+
+# Arguments to ./scripts/libxsmm_dispatch.py, see that file for detailed description.
+# (dummy argument)
+libxsmm_dispatch_arguments = "0"
genrule(
name = "libxsmm_headers",
@@ -33,13 +37,20 @@ genrule(
outs = [
"include/libxsmm.h",
"include/libxsmm_config.h",
+ "include/libxsmm_dispatch.h",
],
cmd = "$(location :libxsmm_interface) $(location src/template/libxsmm.h) " + libxsmm_interface_arguments + " > $(location include/libxsmm.h);" +
- "$(location :libxsmm_config) $(location src/template/libxsmm_config.h) " + libxsmm_config_arguments + " > $(location include/libxsmm_config.h)",
+ "$(location :libxsmm_config) $(location src/template/libxsmm_config.h) " + libxsmm_config_arguments + " > $(location include/libxsmm_config.h);" +
+ "$(location :libxsmm_dispatch) " + libxsmm_dispatch_arguments + " > $(location include/libxsmm_dispatch.h)",
tools = [
":libxsmm_config",
+ ":libxsmm_dispatch",
":libxsmm_interface",
],
+ visibility = [
+ "//tensorflow/core/kernels:__pkg__",
+ "//third_party/eigen3:__pkg__",
+ ],
)
cc_library(
@@ -54,28 +65,35 @@ cc_library(
"src/libxsmm_trans.c",
"src/libxsmm_sync.c",
"src/libxsmm_perf.c",
+ "src/libxsmm_spmdm.c",
"src/libxsmm_dnn.c",
+ "src/libxsmm_dnn_handle.c",
"src/libxsmm_dnn_convolution_forward.c",
+ "src/libxsmm_dnn_convolution_backward.c",
+ "src/libxsmm_dnn_convolution_weight_update.c",
"src/libxsmm_cpuid_x86.c",
] + glob([
"src/generator_*.c",
]),
hdrs = [
+ "include/libxsmm_cpuid.h",
"include/libxsmm_dnn.h",
"include/libxsmm_frontend.h",
"include/libxsmm_generator.h",
+ "include/libxsmm_intrinsics_x86.h",
"include/libxsmm_macros.h",
"include/libxsmm_malloc.h",
+ "include/libxsmm_spmdm.h",
"include/libxsmm_sync.h",
"include/libxsmm_timer.h",
"include/libxsmm_typedefs.h",
- "include/libxsmm_dispatch.h",
"src/libxsmm_gemm_diff.c",
"src/libxsmm_cpuid_x86.c",
"src/libxsmm_hash.c",
# Generated:
"include/libxsmm.h",
"include/libxsmm_config.h",
+ "include/libxsmm_dispatch.h",
] + glob([
"src/*.h",
"src/template/*.c",
@@ -114,3 +132,9 @@ py_binary(
srcs = ["scripts/libxsmm_config.py"],
deps = [":libxsmm_scripts"],
)
+
+py_binary(
+ name = "libxsmm_dispatch",
+ srcs = ["scripts/libxsmm_dispatch.py"],
+ deps = [":libxsmm_scripts"],
+)