Commit 23caaa5e authored by Benoit Steiner's avatar Benoit Steiner Committed by GitHub
Browse files

Updated libxsmm kernels (#10112)

* Fixed AVX-512 intrinsic layer (sparse_matmul_op.h). Incorporated LIBXSMM_DNN_CONV_OPTION_OVERWRITE. (#26)

* 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.

* Made xsmm_conv2d.cc up-to-date with TF/master, avoid double-free in case of LIBXSMM_DNN_WARN_FALLBACK, use libxsmm_hash instead of std::hash, code cleanup (#27)

* 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).

* Configure LIBXSMM with default arguments (#28)

* 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.
parent 88a8bb8b
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment