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 benoitsteiner committed May 22, 2017
1 parent 4ef107b commit cec3ab2
Showing 1 changed file with 2 additions and 13 deletions.
15 changes: 2 additions & 13 deletions third_party/libxsmm.BUILD
Expand Up @@ -11,19 +11,8 @@ exports_files(["LICENSE"])
libxsmm_interface_arguments = "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)
# threshold: fallback to BLAS if n*m*k above this
# synchronize: yes
# jit: yes
# flags
# alpha = 1
# beta = 1
# gemm = 2
libxsmm_config_arguments = "0 0 0 64 1 0 1 1 0 1 1 2"
# 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 cec3ab2

Please sign in to comment.