# Copyright 2024 Google LLC # # This source code is licensed under the BSD-style license found in the # LICENSE file in the root directory of this source tree. # Scalar - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_1x2__scalar init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_1x4__scalar init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_1x8__scalar init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_2x2__scalar init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_2x4__scalar init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_2x8__scalar init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_4x4__scalar init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 # ARM NEONDOT - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_1x8c4__neondotfp16arith init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_1x16c4__neondotfp16arith init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_2x8c4__neondotfp16arith init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_2x16c4__neondotfp16arith init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_3x8c4__neondotfp16arith init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_3x16c4__neondotfp16arith init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_4x8c4__neondotfp16arith init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_4x16c4__neondotfp16arith init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_5x8c4__neondotfp16arith init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_5x16c4__neondotfp16arith init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_6x8c4__neondotfp16arith init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_6x16c4__neondotfp16arith init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 # x86 AVX2 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_1x8c8__avx2 init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_2x8c8__avx2 init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_3x8c8__avx2 init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_4x8c8__avx2 init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 # ARM NEON - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_1x16__neonfp16arith_mlal_lane init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_2x16__neonfp16arith_mlal_lane init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_3x16__neonfp16arith_mlal_lane init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_4x16__neonfp16arith_mlal_lane init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_6x16__neonfp16arith_mlal_lane init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_1x16__neonfp16arith_mlal_lane_prfm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_2x16__neonfp16arith_mlal_lane_prfm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_3x16__neonfp16arith_mlal_lane_prfm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_4x16__neonfp16arith_mlal_lane_prfm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_6x16__neonfp16arith_mlal_lane_prfm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 # ARM NEONI8MM - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_1x8c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_1x16c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_1x32c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_2x8c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_2x16c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_2x32c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_3x8c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_3x16c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_3x32c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_4x8c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_4x16c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_4x32c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_5x8c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_5x16c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_5x32c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_6x8c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_6x16c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_6x32c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_7x8c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_7x16c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_7x32c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_8x8c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_8x16c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32 - name: xnn_qd8_f16_qb4w_gemm_minmax_ukernel_8x32c8__neoni8mm init: xnn_init_f16_qb4w_minmax_scalar_params pack: xnn_pack_qs8_qb4w_gemm_goi_w k-block: 32