AMX (Advanced Matrix Extensions) GEMM kernels. More...
#include <stdint.h>#include <stddef.h>#include <string.h>#include <stdbool.h>#include "ckernel_quant.h"Go to the source code of this file.
Functions | |
| bool | amx_available (void) |
| void | gemv_q4_k_q8_k_amx (float *y, const void *W, const void *x_q8, int M, int K) |
| void | gemv_q4_k_q8_k_avx (float *y, const void *W, const void *x_q8, int M, int K) |
| void | gemv_q4_k_q8_k_avx2 (float *y, const void *W, const void *x_q8, int M, int K) |
| void | gemv_q4_k_q8_k_ref (float *y, const void *W, const void *x_q8, int M, int K) |
| void | gemv_q4_k_q8_k_vnni (float *y, const void *W, const void *x_q8, int M, int K) |
AMX (Advanced Matrix Extensions) GEMM kernels.
After changes: make test && make llamacpp-parity-full
Intel AMX provides dedicated matrix multiply hardware:
Tile dimensions:
Performance:
Requirements:
Definition in file gemm_kernels_amx.c.
| bool amx_available | ( | void | ) |
Definition at line 262 of file gemm_kernels_amx.c.
| void gemv_q4_k_q8_k_amx | ( | float * | y, |
| const void * | W, | ||
| const void * | x_q8, | ||
| int | M, | ||
| int | K | ||
| ) |
Definition at line 247 of file gemm_kernels_amx.c.
References gemv_q4_k_q8_k_avx(), gemv_q4_k_q8_k_avx2(), gemv_q4_k_q8_k_ref(), and gemv_q4_k_q8_k_vnni().
| void gemv_q4_k_q8_k_avx | ( | float * | y, |
| const void * | W, | ||
| const void * | x_q8, | ||
| int | M, | ||
| int | K | ||
| ) |
Definition at line 251 of file gemm_kernels_q4k_avx.c.
References gemv_q4_k_q8_k_ref().
Referenced by gemv_q4_k_q8_k_amx().
| void gemv_q4_k_q8_k_avx2 | ( | float * | y, |
| const void * | W, | ||
| const void * | x_q8, | ||
| int | M, | ||
| int | K | ||
| ) |
Definition at line 89 of file gemm_kernels_q4k_q8k_avx2.c.
References gemv_q4_k_q8_k_ref().
Referenced by gemv_q4_k_q8_k_amx().
| void gemv_q4_k_q8_k_ref | ( | float * | y, |
| const void * | W, | ||
| const void * | x_q8, | ||
| int | M, | ||
| int | K | ||
| ) |
Definition at line 177 of file gemm_kernels_q4k_q8k.c.
Referenced by gemv_q4_k_q8_k_amx().
| void gemv_q4_k_q8_k_vnni | ( | float * | y, |
| const void * | W, | ||
| const void * | x_q8, | ||
| int | M, | ||
| int | K | ||
| ) |
Definition at line 95 of file gemm_kernels_q4k_q8k_vnni.c.
References gemv_q4_k_q8_k_ref().
Referenced by gemv_q4_k_q8_k_amx().