diff options
author | 2016-12-20 17:13:04 -0800 | |
---|---|---|
committer | 2016-12-20 17:24:09 -0800 | |
commit | b7a389d47127b631141f492108ae8f3d124d4a05 (patch) | |
tree | 257c4a6231b3d5b177260ba60148e2570c9c3e91 /libxsmm.BUILD | |
parent | ede3c12a11cd6858eef4de52b7697299743d4660 (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.BUILD | 32 |
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"], +) |