185 lines
7.5 KiB
YAML
185 lines
7.5 KiB
YAML
# Copyright 2019 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.
|
|
|
|
# AArch64 assembly
|
|
- name: xnn_f16_gemm_minmax_ukernel_1x8__asm_aarch64_neonfp16arith_ld64
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x8__neon_ld4lane_u8
|
|
k-block: 4
|
|
- name: xnn_f16_gemm_minmax_ukernel_4x8__asm_aarch64_neonfp16arith_ld64
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x8__neon_ld4lane_u8
|
|
k-block: 4
|
|
- name: xnn_f16_gemm_minmax_ukernel_6x8__asm_aarch64_neonfp16arith_ld64
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x8__neon_ld4lane_u8
|
|
k-block: 4
|
|
- name: xnn_f16_gemm_minmax_ukernel_8x8__asm_aarch64_neonfp16arith_ld64
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x8__neon_ld4lane_u8
|
|
k-block: 4
|
|
|
|
- name: xnn_f16_gemm_minmax_ukernel_1x16__asm_aarch64_neonfp16arith_ld32
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__neon_ld4lane_u8
|
|
k-block: 2
|
|
- name: xnn_f16_gemm_minmax_ukernel_1x16__asm_aarch64_neonfp16arith_ld64
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__neon_ld4lane_u8
|
|
k-block: 4
|
|
- name: xnn_f16_gemm_minmax_ukernel_4x16__asm_aarch64_neonfp16arith_ld32
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__neon_ld4lane_u8
|
|
k-block: 2
|
|
- name: xnn_f16_gemm_minmax_ukernel_4x16__asm_aarch64_neonfp16arith_ld64
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__neon_ld4lane_u8
|
|
k-block: 4
|
|
- name: xnn_f16_gemm_minmax_ukernel_6x16__asm_aarch64_neonfp16arith_cortex_a55
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__neon_ld4lane_u8
|
|
k-block: 4
|
|
- name: xnn_f16_gemm_minmax_ukernel_6x16__asm_aarch64_neonfp16arith_cortex_a55r0
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__neon_ld4lane_u8
|
|
k-block: 4
|
|
- name: xnn_f16_gemm_minmax_ukernel_6x16__asm_aarch64_neonfp16arith_cortex_a75
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__neon_ld4lane_u8
|
|
k-block: 4
|
|
- name: xnn_f16_gemm_minmax_ukernel_6x16__asm_aarch64_neonfp16arith_ld32
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__neon_ld4lane_u8
|
|
k-block: 2
|
|
- name: xnn_f16_gemm_minmax_ukernel_6x16__asm_aarch64_neonfp16arith_ld64
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__neon_ld4lane_u8
|
|
k-block: 4
|
|
|
|
# ARM NEON+FP16ARITH
|
|
- name: xnn_f16_gemm_minmax_ukernel_1x8__neonfp16arith_ld64
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x8__neon_ld4lane_u8
|
|
k-block: 4
|
|
- name: xnn_f16_gemm_minmax_ukernel_4x8__neonfp16arith_ld64
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x8__neon_ld4lane_u8
|
|
k-block: 4
|
|
- name: xnn_f16_gemm_minmax_ukernel_6x8__neonfp16arith_ld64
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x8__neon_ld4lane_u8
|
|
k-block: 4
|
|
- name: xnn_f16_gemm_minmax_ukernel_8x8__neonfp16arith_ld64
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x8__neon_ld4lane_u8
|
|
k-block: 4
|
|
|
|
- name: xnn_f16_gemm_minmax_ukernel_1x16__neonfp16arith_ld64
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__neon_ld4lane_u8
|
|
k-block: 4
|
|
- name: xnn_f16_gemm_minmax_ukernel_4x16__neonfp16arith_ld64
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__neon_ld4lane_u8
|
|
k-block: 4
|
|
- name: xnn_f16_gemm_minmax_ukernel_6x16__neonfp16arith_ld64
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__neon_ld4lane_u8
|
|
k-block: 4
|
|
- name: xnn_f16_gemm_minmax_ukernel_8x16__neonfp16arith_ld64
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__neon_ld4lane_u8
|
|
k-block: 4
|
|
|
|
# x86 AVX512FP16
|
|
- name: xnn_f16_gemm_minmax_ukernel_1x32__avx512fp16_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x32__scalar_int_u4
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_4x32__avx512fp16_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x32__scalar_int_u4
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_5x32__avx512fp16_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x32__scalar_int_u4
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_6x32__avx512fp16_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x32__scalar_int_u4
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_7x32__avx512fp16_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x32__scalar_int_u4
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_8x32__avx512fp16_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x32__scalar_int_u4
|
|
k-block: 1
|
|
|
|
- name: xnn_f16_gemm_minmax_ukernel_1x64__avx512fp16_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x64__scalar_int_u4
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_4x64__avx512fp16_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x64__scalar_int_u4
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_5x64__avx512fp16_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x64__scalar_int_u4
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_6x64__avx512fp16_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x64__scalar_int_u4
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_7x64__avx512fp16_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x64__scalar_int_u4
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_8x64__avx512fp16_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x64__scalar_int_u4
|
|
k-block: 1
|
|
|
|
# x86 AVX2
|
|
- name: xnn_f16_gemm_minmax_ukernel_1x8__avx2_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x8__avx2_u16
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_4x8__avx2_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x8__avx2_u16
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_5x8__avx2_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x8__avx2_u16
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_6x8__avx2_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x8__avx2_u16
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_7x8__avx2_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x8__avx2_u16
|
|
k-block: 1
|
|
|
|
- name: xnn_f16_gemm_minmax_ukernel_1x16__avx2_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__avx2_u16_prfm
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_3x16__avx2_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__avx2_u16_prfm
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_4x16__avx2_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__avx2_u16_prfm
|
|
k-block: 1
|
|
- name: xnn_f16_gemm_minmax_ukernel_5x16__avx2_broadcast
|
|
init: xnn_init_f16_minmax_scalar_params
|
|
pack: xnn_x16_packw_gemm_goi_ukernel_x16__avx2_u16_prfm
|
|
k-block: 1
|