diff options
author | Marat Dukhan <maratek@google.com> | 2020-08-05 15:19:03 -0700 |
---|---|---|
committer | XNNPACK Team <xnnpack-github-robot@google.com> | 2020-08-05 15:19:39 -0700 |
commit | 27203da35b21cd591d89835460967df1ba96aaf9 (patch) | |
tree | 235e0782b8d8488fdd635adafb67de1c6388f9f8 /bench/qs8-gemm.cc | |
parent | b1cbbba8426bb087cead661844debb22164b9590 (diff) | |
download | XNNPACK-27203da35b21cd591d89835460967df1ba96aaf9.tar.gz |
WAsm SIMD versions of QS8 GEMM and IGEMM microkernels
PiperOrigin-RevId: 325112592
Diffstat (limited to 'bench/qs8-gemm.cc')
-rw-r--r-- | bench/qs8-gemm.cc | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/bench/qs8-gemm.cc b/bench/qs8-gemm.cc index be8181b9d..514256bb8 100644 --- a/bench/qs8-gemm.cc +++ b/bench/qs8-gemm.cc @@ -357,7 +357,37 @@ static void GEMMBenchmark(benchmark::State& state, BENCHMARK_GEMM(qs8_gemm_3x4c8__sse2_ld128) BENCHMARK_GEMM(qs8_gemm_xw_2x4c8__sse2) BENCHMARK_GEMM(qs8_gemm_xw_3x4c8__sse2) -#endif +#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64 + +#if XNN_ARCH_WASMSIMD + static void qs8_gemm_2x4c8__wasmsimd_ld64(benchmark::State& state, const char* net) { + GEMMBenchmark(state, xnn_qs8_gemm_minmax_ukernel_2x4c8__wasmsimd_ld64, 2, 4, 8, 1); + } + static void qs8_gemm_3x4c8__wasmsimd_ld64(benchmark::State& state, const char* net) { + GEMMBenchmark(state, xnn_qs8_gemm_minmax_ukernel_3x4c8__wasmsimd_ld64, 3, 4, 8, 1); + } + + static void qs8_gemm_2x4c8__wasmsimd_ld128(benchmark::State& state, const char* net) { + GEMMBenchmark(state, xnn_qs8_gemm_minmax_ukernel_2x4c8__wasmsimd_ld128, 2, 4, 8, 1); + } + static void qs8_gemm_3x4c8__wasmsimd_ld128(benchmark::State& state, const char* net) { + GEMMBenchmark(state, xnn_qs8_gemm_minmax_ukernel_3x4c8__wasmsimd_ld128, 3, 4, 8, 1); + } + + static void qs8_gemm_xw_2x4c8__wasmsimd(benchmark::State& state, const char* net) { + GEMMBenchmark(state, xnn_qs8_gemm_xw_minmax_ukernel_2x4c8__wasmsimd, 2, 4, 8, 1); + } + static void qs8_gemm_xw_3x4c8__wasmsimd(benchmark::State& state, const char* net) { + GEMMBenchmark(state, xnn_qs8_gemm_xw_minmax_ukernel_3x4c8__wasmsimd, 3, 4, 8, 1); + } + + BENCHMARK_GEMM(qs8_gemm_2x4c8__wasmsimd_ld64) + BENCHMARK_GEMM(qs8_gemm_3x4c8__wasmsimd_ld64) + BENCHMARK_GEMM(qs8_gemm_2x4c8__wasmsimd_ld128) + BENCHMARK_GEMM(qs8_gemm_3x4c8__wasmsimd_ld128) + BENCHMARK_GEMM(qs8_gemm_xw_2x4c8__wasmsimd) + BENCHMARK_GEMM(qs8_gemm_xw_3x4c8__wasmsimd) +#endif // XNN_ARCH_WASMSIMD #ifndef XNNPACK_BENCHMARK_NO_MAIN BENCHMARK_MAIN(); |