mirror of
https://github.com/amd/blis.git
synced 2026-05-04 06:21:12 +00:00
New A packing kernels for F32 API in LPGEMM.
-New packing kernels for A matrix, both based on AVX512 and AVX2 ISA, for both row and column major storage are added as part of this change. Dependency on haswell A packing kernels are removed by this. -Tiny GEMM thresholds are further tuned for BF16 and F32 APIs. AMD-Internal: [SWLCSG-3380, SWLCSG-3415] Change-Id: I7330defacbacc9d07037ce1baf4a441f941e59be
This commit is contained in:
@@ -59,10 +59,14 @@
|
||||
|
||||
#define LPGEMM_PACKA_FUNC_MAP_AVX512_VNNI_BF16 \
|
||||
PAMACRO(U8S8S32OS32, packa_u8s8s32os32) \
|
||||
PAMACRO(F32F32F32OF32, packa_mr6_f32f32f32of32_avx512) \
|
||||
PAMACRO(BF16BF16F32OF32, packa_mr16_bf16bf16f32of32) \
|
||||
PAMACRO(BF16S4F32OF32, packa_mr16_bf16bf16f32of32) \
|
||||
PAMACRO(S8S8S32OS32, packa_u8s8s32os32) \
|
||||
|
||||
#define LPGEMM_PACKA_FUNC_UPD_MAP_AVX512_VNNI_BF16_TO_AVX2 \
|
||||
PAMACRO(F32F32F32OF32, packa_mr6_f32f32f32of32_avx2) \
|
||||
|
||||
#define LPGEMM_PACKB_FUNC_MAP_AVX512_VNNI_BF16 \
|
||||
PBMACRO(U8S8S32OS32, packb_nr64_u8s8s32o32) \
|
||||
PBMACRO(F32F32F32OF32, packb_nr64_f32f32f32of32) \
|
||||
@@ -110,10 +114,14 @@
|
||||
|
||||
#define LPGEMM_PACKA_FUNC_MAP_AVX512_VNNI \
|
||||
PAMACRO(U8S8S32OS32, packa_u8s8s32os32) \
|
||||
PAMACRO(F32F32F32OF32, packa_mr6_f32f32f32of32_avx512) \
|
||||
PAMACRO(BF16BF16F32OF32, packa_mr16_bf16bf16f32of32) \
|
||||
PAMACRO(BF16S4F32OF32, packa_mr16_bf16bf16f32of32) \
|
||||
PAMACRO(S8S8S32OS32, packa_u8s8s32os32) \
|
||||
|
||||
#define LPGEMM_PACKA_FUNC_UPD_MAP_AVX512_VNNI_TO_AVX2 \
|
||||
PAMACRO(F32F32F32OF32, packa_mr6_f32f32f32of32_avx2) \
|
||||
|
||||
#define LPGEMM_PACKBMXP_FUNC_MAP_AVX512_VNNI \
|
||||
PBMXPMACRO(F32OBF16, packb_mxp_nr64_f32obf16)
|
||||
|
||||
@@ -147,10 +155,14 @@
|
||||
|
||||
#define LPGEMM_PACKA_FUNC_MAP_AVX512 \
|
||||
PAMACRO(U8S8S32OS32, packa_u8s8s32os32) \
|
||||
PAMACRO(F32F32F32OF32, packa_mr6_f32f32f32of32_avx512) \
|
||||
PAMACRO(BF16BF16F32OF32, packa_mr16_bf16bf16f32of32) \
|
||||
PAMACRO(BF16S4F32OF32, packa_mr16_bf16bf16f32of32) \
|
||||
PAMACRO(S8S8S32OS32, packa_u8s8s32os32) \
|
||||
|
||||
#define LPGEMM_PACKA_FUNC_UPD_MAP_AVX512_TO_AVX2 \
|
||||
PAMACRO(F32F32F32OF32, packa_mr6_f32f32f32of32_avx2) \
|
||||
|
||||
#define LPGEMM_PACKB_FUNC_MAP_AVX512 \
|
||||
PBMACRO(U8S8S32OS32, packb_nr64_u8s8s32o32) \
|
||||
PBMACRO(F32F32F32OF32, packb_nr64_f32f32f32of32) \
|
||||
@@ -160,6 +172,9 @@
|
||||
PBMACRO(BF16S4F32OF32, NULL) \
|
||||
PBSMACRO(BF16S4F32OF32, NULL)
|
||||
|
||||
#define LPGEMM_PACKB_FUNC_UPD_MAP_AVX512_VNNI_TO_AVX2 \
|
||||
PBMACRO(F32F32F32OF32, packb_nr16_f32f32f32of32) \
|
||||
|
||||
#define LPGEMM_PACKBMXP_FUNC_MAP_AVX512 \
|
||||
PBMXPMACRO(F32OBF16, packb_mxp_nr64_f32obf16)
|
||||
|
||||
@@ -180,6 +195,7 @@
|
||||
#define LPGEMM_PACKA_FUNC_MAP_AVX2 \
|
||||
PAMACRO(U8S8S32OS32, NULL) \
|
||||
PAMACRO(BF16BF16F32OF32, NULL) \
|
||||
PAMACRO(F32F32F32OF32, packa_mr6_f32f32f32of32_avx2) \
|
||||
KMACRO(BF16S4F32OF32, NULL) \
|
||||
PAMACRO(S8S8S32OS32, NULL) \
|
||||
|
||||
|
||||
Reference in New Issue
Block a user