[XLA:CPU][oneDNN] Disable oneDNN rewrite for small Matmul.
@penpornk Any update on this PR? @penpornk Thanks for approving this PR. Let me know anything needed from my side. Hi @penpornk Can you please help on import code failure. Thank you!
This PR addresses the following issue https://github.com/openxla/xla/issues/5875. Here, we do not rewrite XLA HLO dot instruction for oneDNN matmul primitive when matrix-multiplication is small in terms of MAC (multiply-accumulate) ops. A threshold for rewrite is empirically determined using jax benchmarks (https://github.com/google/jax/blob/main/benchmarks/math_benchmark.py)

The following are performance data on matmul benchmarks ([jax-benchmarks](https://github.com/google/jax/blob/main/benchmarks/math_benchmark.py)) on Intel Xeon CPUs.

Problem Size [MxKxN] | oneDNN Perf ratio w and w/o
-- | --
16x16x16_float32 | 1.039257981
32x32x32_float32 | 1.036032261
64x64x64_float32 | 1.001214975
128x128x128_float32 | 1.050383228
256x256x256_float32 | 1.215597972
512x512x512_float32 | 1.266954652
1024x1024x1024_float32 | 2.886963409
1x2x256_float32 | 0.98122133
1x8x256_float32 | 0.984010011
1x18x300_float32 | 1.002542827
1x37x256_float32 | 1.010663823
1x91x256_float32 | 0.99543998
1x111x256_float32 | 1.011275892
1x192x192_float32 | 1.041369639
1x226x256_float32 | 1.011219147
1x256x192_float32 | 1.000978686
1x256x256_float32 | 1.048574995
1x512x512_float32 | 1.168676295
1x300x18_float32 | 0.98463839
21x24x1_float32 | 1.013919095
21x120x1_float32 | 1.002718558
10x10x10_float32 | 1.033871514
100x100x100_float32 | 1.008651831
18x1x300_float32 | 1.023119851
18x300x1_float32 | 0.999035281
300x1x18_float32 | 1.004889669
300x18x1_float32 | 1.033368366

































