diff options
author | Marat Dukhan <maratek@google.com> | 2020-07-31 17:32:04 -0700 |
---|---|---|
committer | XNNPACK Team <xnnpack-github-robot@google.com> | 2020-07-31 17:32:41 -0700 |
commit | dee732b68e7812fa59aa419df9a387027960ec20 (patch) | |
tree | d291fe2f3157f9d24a1dfa6de5904083e84cc406 /bench/qs8-gemm.cc | |
parent | 14d3ce8fbce5ebdb9061628c32264e97c311fdd0 (diff) | |
download | XNNPACK-dee732b68e7812fa59aa419df9a387027960ec20.tar.gz |
LD128 versions of QS8 GEMM SSE2/SSSE3/SSE4.1 microkernels
PiperOrigin-RevId: 324316646
Diffstat (limited to 'bench/qs8-gemm.cc')
-rw-r--r-- | bench/qs8-gemm.cc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/bench/qs8-gemm.cc b/bench/qs8-gemm.cc index f620dc848..efd436362 100644 --- a/bench/qs8-gemm.cc +++ b/bench/qs8-gemm.cc @@ -112,6 +112,16 @@ static void GEMMBenchmark(benchmark::State& state, GEMMBenchmark(state, xnn_qs8_gemm_minmax_ukernel_4x4c2__sse41_ld64, 4, 4, 2, 1); } + static void qs8_gemm_4x4c2__sse2_ld128(benchmark::State& state, const char* net) { + GEMMBenchmark(state, xnn_qs8_gemm_minmax_ukernel_4x4c2__sse2_ld128, 4, 4, 2, 1); + } + static void qs8_gemm_4x4c2__ssse3_ld128(benchmark::State& state, const char* net) { + GEMMBenchmark(state, xnn_qs8_gemm_minmax_ukernel_4x4c2__ssse3_ld128, 4, 4, 2, 1); + } + static void qs8_gemm_4x4c2__sse41_ld128(benchmark::State& state, const char* net) { + GEMMBenchmark(state, xnn_qs8_gemm_minmax_ukernel_4x4c2__sse41_ld128, 4, 4, 2, 1); + } + static void qs8_gemm_2x4c8__sse2_ld64(benchmark::State& state, const char* net) { GEMMBenchmark(state, xnn_qs8_gemm_minmax_ukernel_2x4c8__sse2_ld64, 2, 4, 8, 1); } @@ -122,13 +132,31 @@ static void GEMMBenchmark(benchmark::State& state, GEMMBenchmark(state, xnn_qs8_gemm_minmax_ukernel_2x4c8__sse41_ld64, 2, 4, 8, 1); } + static void qs8_gemm_2x4c8__sse2_ld128(benchmark::State& state, const char* net) { + GEMMBenchmark(state, xnn_qs8_gemm_minmax_ukernel_2x4c8__sse2_ld128, 2, 4, 8, 1); + } + static void qs8_gemm_2x4c8__ssse3_ld128(benchmark::State& state, const char* net) { + GEMMBenchmark(state, xnn_qs8_gemm_minmax_ukernel_2x4c8__ssse3_ld128, 2, 4, 8, 1); + } + static void qs8_gemm_2x4c8__sse41_ld128(benchmark::State& state, const char* net) { + GEMMBenchmark(state, xnn_qs8_gemm_minmax_ukernel_2x4c8__sse41_ld128, 2, 4, 8, 1); + } + BENCHMARK_GEMM(qs8_gemm_4x4c2__sse2_ld64) BENCHMARK_GEMM(qs8_gemm_4x4c2__ssse3_ld64) BENCHMARK_GEMM(qs8_gemm_4x4c2__sse41_ld64) + BENCHMARK_GEMM(qs8_gemm_4x4c2__sse2_ld128) + BENCHMARK_GEMM(qs8_gemm_4x4c2__ssse3_ld128) + BENCHMARK_GEMM(qs8_gemm_4x4c2__sse41_ld128) + BENCHMARK_GEMM(qs8_gemm_2x4c8__sse2_ld64) BENCHMARK_GEMM(qs8_gemm_2x4c8__ssse3_ld64) BENCHMARK_GEMM(qs8_gemm_2x4c8__sse41_ld64) + + BENCHMARK_GEMM(qs8_gemm_2x4c8__sse2_ld128) + BENCHMARK_GEMM(qs8_gemm_2x4c8__ssse3_ld128) + BENCHMARK_GEMM(qs8_gemm_2x4c8__sse41_ld128) #endif #ifndef XNNPACK_BENCHMARK_NO_MAIN |