[oneDNN] Add oneDNN version of SparseMatrixMatMul (v2)
@milpuz01 @jondea, JFYI, this PR also enables an opt-in CSR matmul for ARM. Currently, a reference implementation will be used when running on ARM. @cantonios This is version 2 of the PR; should have fixed the ARM64 build issue that arose in overnight testing from the last version. Great -- hopefully this time, we've fixed the nightly tests! Thanks for the heads up and for fixing the failure! I should say that if this flag goes from opt-in to opt-out before there’s an optimized implementation of SPMM in oneDNN for AArch64, then it will need a platform specific guard to stick with Eigen. @jondea No problem! Yes, definitely: that's exactly one of the reasons that it's opt-in. So all of the internal overnight checks are successful, now?
This is version 2 of #62883, which should fix the build on ARM64.

Adds `_MklNativeSparseMatrixMatMul` and its accompanying kernel, which uses oneDNN to multiply a CSR sparse matrix by a dense tensor. The op is enabled with an environment variable (`TF_ENABLE_ONEDNN_SPMM`), so is entirely opt-in. It also includes tests and a benchmark, which we've used below to measure its performance against the existing kernel.

The performance looks promising particularly for larger shapes, and is optimized to use the AVX2 and AVX512 ISAs. These results were collected using the new benchmark in `tensorflow/core/kernels/mkl/mkl_sparse_matrix_matmul_op_benchmark.cc` on an Intel Xeon Platinum 8480 with hyperthreading enabled. To minimize NUMA effects, we bound it to the first socket.

Configuration (NNZ_M_K_N) | Eigen Time (ns) | oneDNN Time (ns) | Ratio
-- | -- | -- | --
128_8_512_1 | 15300 | 18598 | 0.82
128_16_512_1 | 14778 | 18551 | 0.80
128_128_512_1 | 18613 | 19165 | 0.97
128_4096_4096_1 | 151525 | 35904 | 4.22
1024_4096_4096_1 | 161593 | 37041 | 4.36
16384_4096_4096_1 | 163055 | 49355 | 3.30
128_8_1024_16 | 17307 | 18420 | 0.94
128_16_1024_16 | 17765 | 18678 | 0.95
128_128_1024_16 | 19247 | 19200 | 1.00
128_4096_4096_128 | 160341 | 140894 | 1.14
128_4096_4096_1024 | 181590 | 156980 | 1.16
1024_8_1024_16 | 24265 | 19502 | 1.24
1024_16_1024_16 | 24223 | 20448 | 1.18
1024_128_1024_16 | 26013 | 20396 | 1.28
1024_4096_4096_128 | 157612 | 139688 | 1.13
1024_4096_4096_1024 | 177549 | 160973 | 1.10
16384_8_1024_16 | 153005 | 36643 | 4.18
16384_16_1024_16 | 152853 | 36597 | 4.18
16384_128_1024_16 | 153600 | 31928 | 4.81
16384_4096_4096_128 | 166061 | 142494 | 1.17
16384_4096_4096_1024 | 244243 | 194536 | 1.26
16384_4096_4096_4096 | 654950 | 536546 | 1.22
100_1_1000000_100 | 18230 | 19991 | 0.91
200_1_2000000_100 | 20509 | 20818 | 0.99
400_1_4000000_100 | 23023 | 21638 | 1.06
400_4_1000000_100 | 22164 | 21349 | 1.04
800_4_2000000_100 | 26180 | 23374 | 1.12
1600_4_4000000_100 | 40538 | 28622 | 1.42
800_8_1000000_100 | 27015 | 23231 | 1.16
1600_8_2000000_100 | 39953 | 27894 | 1.43
3200_8_4000000_100 | 77708 | 42709 | 1.82