[oneDNN v3.x]: Added support for pooling for fp32 and bf16
Hi @penpornk Can you please review this PR ? Thank you! > Thank you for the PR! The overall changes look good to me.
> 
> Could you please replace `errors::*` calls with their `absl::*` counterparts, e.g., `errors::InvalidArgument` -> `absl::InvalidArgumentError`, `errors::Aborted` -> `absl::AbortedError`, etc?
> 
> Example usage:
> 
> https://github.com/tensorflow/tensorflow/blob/32b1e9793d696f716dafaf8bd3760e6098fdb21e/tensorflow/core/kernels/concat_op.cc#L265-L267
> 
> Please do this for all files in the PR.

@penpornk Thanks for reviewing this PR. I have addressed your review comments. Please take a look. @penpornk Thanks for approving this PR. Please let me know if you need anything else from my end.  @bhavani-subramanian Could you please help fix [Windows Bazel failures](https://source.cloud.google.com/results/invocations/1aec6d0f-057d-40a8-a3b1-339c5e9f056a/log)? Thank you!

```
tensorflow/core/kernels/mkl/mkl_pooling_ops_common.cc(37): error C2059: syntax error: '#'
tensorflow/core/kernels/mkl/mkl_pooling_ops_common.cc(36): note: while compiling class template member function 'void tensorflow::MklPoolingFwdPrimitive<float>::Setup(const tensorflow::MklPoolingParams &)'
.\tensorflow/core/kernels/mkl/mkl_pooling_ops_common.h(98): note: see reference to function template instantiation 'void tensorflow::MklPoolingFwdPrimitive<float>::Setup(const tensorflow::MklPoolingParams &)' being compiled
tensorflow/core/kernels/mkl/mkl_pooling_ops_common.cc(140): note: see reference to class template instantiation 'tensorflow::MklPoolingFwdPrimitive<float>' being compiled
tensorflow/core/kernels/mkl/mkl_pooling_ops_common.cc(150): error C2059: syntax error: '#'
tensorflow/core/kernels/mkl/mkl_pooling_ops_common.cc(149): note: while compiling class template member function 'void tensorflow::MklPoolingBwdPrimitive<float>::Setup(const tensorflow::MklPoolingParams &)'
.\tensorflow/core/kernels/mkl/mkl_pooling_ops_common.h(247): note: see reference to function template instantiation 'void tensorflow::MklPoolingBwdPrimitive<float>::Setup(const tensorflow::MklPoolingParams &)' being compiled
tensorflow/core/kernels/mkl/mkl_pooling_ops_common.cc(255): note: see reference to class template instantiation 'tensorflow::MklPoolingBwdPrimitive<float>' being compiled
[16,756 / 18,834] Compiling tensorflow/core/common_runtime/mkl_layout_pass.cc; 11s local, remote-cache ... (3 actions, 2 running)
Target //tensorflow/tools/pip_package:build_pip_package failed to build
``` Could you please help resolve merge conflicts? @penpornk I have resolved the merge conflicts. Can you please take a look? Thanks. @penpornk Seems like `feedback/copybara` checks have failed and I'm unable to access the link. Can you please let me know which tests have failed? Thanks.
- This PR adds support for oneDNN v3.x in maxpooling and avgpooling fwd and bwd (with primitive cache) for fp32 and bf16.
- Support for int8 pooling will be added in a separate PR.
- This PR passes all unit tests related to pooling ops for fp32/bf16 when oneDNN v3.x is enabled.
- This PR does not add or affect Eigen ops and are specific only to oneDNN kernels.
- For additional comments related to oneDNN v3.x integration, please refer to [this](https://github.com/tensorflow/tensorflow/pull/60307#issue-1665423762) comment.