Skip to content

Commit

Permalink
Configure LIBXSMM with default arguments (tensorflow#28)
Browse files Browse the repository at this point in the history
* Fixed AVX-512 intrinsic implementation.

* OR'ed LIBXSMM_DNN_CONV_OPTION_OVERWRITE into convolution options, which folds zeroing the input buffer on first use. This removes the call to libxsmm_dnn_zero_buffer in case of LIBXSMM_DNN_COMPUTE_KIND_FWD.

* Rely on libxsmm_hash rather than std::hash. Brought xsmm_conv2d.cc up-to-date with TF/master.

* Code cleanup: use LIBXSMM_DNN_CONV_OPTION_WU_EXT_FILTER_REDUCE_OVERWRITE rather than assembling the option from separate flags.

* Avoid to destroy the handle in case of LIBXSMM_DNN_WARN_FALLBACK since the next iteration may double-delete the same handle. One would need to update the handle-cache to allow destruction at this place. However, all handles are destructed when TF terminates (cache cleanup).

* Rely on default configuration arguments, and thereby lower the dependence from LIBXSMM internals.
  • Loading branch information
hfp authored and alheinecke committed May 10, 2017
1 parent 67ac18d commit 576b181
Showing 1 changed file with 2 additions and 12 deletions.
14 changes: 2 additions & 12 deletions third_party/libxsmm.BUILD
Expand Up @@ -11,18 +11,8 @@ exports_files(["LICENSE"])
libxsmm_interface_arguments = "0 1"

# Arguments to ./scripts/libxsmm_config.py, see that file for detailed description.
# ilp64: 0 (no)
# big: 1 (yes)
# offload: 0 (no)
# alignment [b]
# prefetch: -1 (auto)
# threshold: 0 (auto)
# synchronize: yes
# jit: 1 (yes)
# flags: 0 (none)
# alpha = 1
# beta = 1
libxsmm_config_arguments = "0 1 0 64 -1 0 1 1 0 1 1"
# rely on default arguments
libxsmm_config_arguments = ""

# Arguments to ./scripts/libxsmm_dispatch.py, see that file for detailed description.
# (dummy argument)
Expand Down

0 comments on commit 576b181

Please sign in to comment.