Skip to content

Commit

Permalink
AVX512 VNNI microkernels 14x16c8, 14x8c8, 28x16c4
Browse files Browse the repository at this point in the history
- Remove 8x16 and 16x16
- Add 14x16, 14x8 and 28x16
- QC8, QD8_F32_QC8W, QD8_F16_QC8W, QD8_F32_QC4W, QD8_F16_QC4W

PiperOrigin-RevId: 642470510
  • Loading branch information
fbarchard authored and xnnpack-bot committed Jun 12, 2024
1 parent ba0c6f9 commit d03ca49
Show file tree
Hide file tree
Showing 112 changed files with 25,822 additions and 5,046 deletions.
32 changes: 16 additions & 16 deletions bench/qd8-f16-qc4w-gemm.cc
Original file line number Diff line number Diff line change
Expand Up @@ -396,16 +396,16 @@


#if XNN_ENABLE_AVX512VNNIGFNI && (XNN_ARCH_X86 || XNN_ARCH_X86_64)
static void qd8_f16_qc4w_gemm_minmax_ukernel_8x8c8__avx512vnnigfni(benchmark::State& state, const char* net) {
static void qd8_f16_qc4w_gemm_minmax_ukernel_14x8c8__avx512vnnigfni(benchmark::State& state, const char* net) {
GEMMBenchmark(state,
xnn_qd8_f16_qc4w_gemm_minmax_ukernel_8x8c8__avx512vnnigfni,
xnn_qd8_f16_qc4w_gemm_minmax_ukernel_14x8c8__avx512vnnigfni,
xnn_init_f16_qc4w_minmax_avxvnni_params,
xnn_pack_qs8_qc4w_gemm_goi_w,
/*mr=*/8, /*nr=*/8, /*kr=*/8, /*sr=*/1,
/*mr=*/14, /*nr=*/8, /*kr=*/8, /*sr=*/1,
benchmark::utils::CheckAVX512VNNIGFNI);
}

BENCHMARK_GEMM(qd8_f16_qc4w_gemm_minmax_ukernel_8x8c8__avx512vnnigfni)
BENCHMARK_GEMM(qd8_f16_qc4w_gemm_minmax_ukernel_14x8c8__avx512vnnigfni)
#endif // XNN_ENABLE_AVX512VNNIGFNI && (XNN_ARCH_X86 || XNN_ARCH_X86_64)


Expand Down Expand Up @@ -452,16 +452,16 @@


#if XNN_ENABLE_AVX512VNNIGFNI && (XNN_ARCH_X86 || XNN_ARCH_X86_64)
static void qd8_f16_qc4w_gemm_minmax_ukernel_8x8c8__avx512vnnigfni_prfm(benchmark::State& state, const char* net) {
static void qd8_f16_qc4w_gemm_minmax_ukernel_14x8c8__avx512vnnigfni_prfm(benchmark::State& state, const char* net) {
GEMMBenchmark(state,
xnn_qd8_f16_qc4w_gemm_minmax_ukernel_8x8c8__avx512vnnigfni_prfm,
xnn_qd8_f16_qc4w_gemm_minmax_ukernel_14x8c8__avx512vnnigfni_prfm,
xnn_init_f16_qc4w_minmax_avxvnni_params,
xnn_pack_qs8_qc4w_gemm_goi_w,
/*mr=*/8, /*nr=*/8, /*kr=*/8, /*sr=*/1,
/*mr=*/14, /*nr=*/8, /*kr=*/8, /*sr=*/1,
benchmark::utils::CheckAVX512VNNIGFNI);
}

BENCHMARK_GEMM(qd8_f16_qc4w_gemm_minmax_ukernel_8x8c8__avx512vnnigfni_prfm)
BENCHMARK_GEMM(qd8_f16_qc4w_gemm_minmax_ukernel_14x8c8__avx512vnnigfni_prfm)
#endif // XNN_ENABLE_AVX512VNNIGFNI && (XNN_ARCH_X86 || XNN_ARCH_X86_64)


Expand Down Expand Up @@ -508,16 +508,16 @@


#if XNN_ARCH_X86 || XNN_ARCH_X86_64
static void qd8_f16_qc4w_gemm_minmax_ukernel_8x8c8__avx512vnni(benchmark::State& state, const char* net) {
static void qd8_f16_qc4w_gemm_minmax_ukernel_14x8c8__avx512vnni(benchmark::State& state, const char* net) {
GEMMBenchmark(state,
xnn_qd8_f16_qc4w_gemm_minmax_ukernel_8x8c8__avx512vnni,
xnn_qd8_f16_qc4w_gemm_minmax_ukernel_14x8c8__avx512vnni,
xnn_init_f16_qc4w_minmax_avxvnni_params,
xnn_pack_qs8_qc4w_gemm_goi_w,
/*mr=*/8, /*nr=*/8, /*kr=*/8, /*sr=*/1,
/*mr=*/14, /*nr=*/8, /*kr=*/8, /*sr=*/1,
benchmark::utils::CheckAVX512VNNI);
}

BENCHMARK_GEMM(qd8_f16_qc4w_gemm_minmax_ukernel_8x8c8__avx512vnni)
BENCHMARK_GEMM(qd8_f16_qc4w_gemm_minmax_ukernel_14x8c8__avx512vnni)
#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64


Expand Down Expand Up @@ -564,16 +564,16 @@


#if XNN_ARCH_X86 || XNN_ARCH_X86_64
static void qd8_f16_qc4w_gemm_minmax_ukernel_8x8c8__avx512vnni_prfm(benchmark::State& state, const char* net) {
static void qd8_f16_qc4w_gemm_minmax_ukernel_14x8c8__avx512vnni_prfm(benchmark::State& state, const char* net) {
GEMMBenchmark(state,
xnn_qd8_f16_qc4w_gemm_minmax_ukernel_8x8c8__avx512vnni_prfm,
xnn_qd8_f16_qc4w_gemm_minmax_ukernel_14x8c8__avx512vnni_prfm,
xnn_init_f16_qc4w_minmax_avxvnni_params,
xnn_pack_qs8_qc4w_gemm_goi_w,
/*mr=*/8, /*nr=*/8, /*kr=*/8, /*sr=*/1,
/*mr=*/14, /*nr=*/8, /*kr=*/8, /*sr=*/1,
benchmark::utils::CheckAVX512VNNI);
}

BENCHMARK_GEMM(qd8_f16_qc4w_gemm_minmax_ukernel_8x8c8__avx512vnni_prfm)
BENCHMARK_GEMM(qd8_f16_qc4w_gemm_minmax_ukernel_14x8c8__avx512vnni_prfm)
#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64


Expand Down
16 changes: 8 additions & 8 deletions bench/qd8-f16-qc8w-gemm.cc
Original file line number Diff line number Diff line change
Expand Up @@ -452,16 +452,16 @@


#if XNN_ARCH_X86 || XNN_ARCH_X86_64
static void qd8_f16_qc8w_gemm_minmax_ukernel_8x8c8__avx512vnni(benchmark::State& state, const char* net) {
static void qd8_f16_qc8w_gemm_minmax_ukernel_14x8c8__avx512vnni(benchmark::State& state, const char* net) {
GEMMBenchmark(state,
xnn_qd8_f16_qc8w_gemm_minmax_ukernel_8x8c8__avx512vnni,
xnn_qd8_f16_qc8w_gemm_minmax_ukernel_14x8c8__avx512vnni,
xnn_init_f16_minmax_avxvnni_params,
xnn_pack_qs8_gemm_goi_w,
/*mr=*/8, /*nr=*/8, /*kr=*/8, /*sr=*/1,
/*mr=*/14, /*nr=*/8, /*kr=*/8, /*sr=*/1,
benchmark::utils::CheckAVX512VNNI);
}

BENCHMARK_GEMM(qd8_f16_qc8w_gemm_minmax_ukernel_8x8c8__avx512vnni)
BENCHMARK_GEMM(qd8_f16_qc8w_gemm_minmax_ukernel_14x8c8__avx512vnni)
#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64


Expand Down Expand Up @@ -508,16 +508,16 @@


#if XNN_ARCH_X86 || XNN_ARCH_X86_64
static void qd8_f16_qc8w_gemm_minmax_ukernel_8x8c8__avx512vnni_prfm(benchmark::State& state, const char* net) {
static void qd8_f16_qc8w_gemm_minmax_ukernel_14x8c8__avx512vnni_prfm(benchmark::State& state, const char* net) {
GEMMBenchmark(state,
xnn_qd8_f16_qc8w_gemm_minmax_ukernel_8x8c8__avx512vnni_prfm,
xnn_qd8_f16_qc8w_gemm_minmax_ukernel_14x8c8__avx512vnni_prfm,
xnn_init_f16_minmax_avxvnni_params,
xnn_pack_qs8_gemm_goi_w,
/*mr=*/8, /*nr=*/8, /*kr=*/8, /*sr=*/1,
/*mr=*/14, /*nr=*/8, /*kr=*/8, /*sr=*/1,
benchmark::utils::CheckAVX512VNNI);
}

BENCHMARK_GEMM(qd8_f16_qc8w_gemm_minmax_ukernel_8x8c8__avx512vnni_prfm)
BENCHMARK_GEMM(qd8_f16_qc8w_gemm_minmax_ukernel_14x8c8__avx512vnni_prfm)
#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64


Expand Down
Loading

0 comments on commit d03ca49

Please sign in to comment.