aboutsummaryrefslogtreecommitdiff
path: root/bench/qs8-gemm.cc
diff options
context:
space:
mode:
authorMarat Dukhan <maratek@google.com>2020-07-31 17:32:04 -0700
committerXNNPACK Team <xnnpack-github-robot@google.com>2020-07-31 17:32:41 -0700
commitdee732b68e7812fa59aa419df9a387027960ec20 (patch)
treed291fe2f3157f9d24a1dfa6de5904083e84cc406 /bench/qs8-gemm.cc
parent14d3ce8fbce5ebdb9061628c32264e97c311fdd0 (diff)
downloadXNNPACK-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.cc28
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