Skip to content

Commit ab304cc

Browse files
authored
Merge pull request #3547 from martin-frbg/issue3540-2
More build fixes for CooperLake with BFLOAT16 and DYNAMIC_ARCH
2 parents 522f809 + 9c626e4 commit ab304cc

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

kernel/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -678,7 +678,7 @@ endif ()
678678
set(SBGEMM_SMALL_K_B0_TN ../generic/gemm_small_matrix_kernel_tn.c)
679679
endif ()
680680
if (NOT DEFINED SBGEMM_SMALL_K_B0_TT)
681-
set($SBGEMM_SMALL_K_B0_TT ../generic/gemm_small_matrix_kernel_tt.c)
681+
set(SBGEMM_SMALL_K_B0_TT ../generic/gemm_small_matrix_kernel_tt.c)
682682
endif ()
683683
GenerateNamedObjects("${KERNELDIR}/${SBGEMM_SMALL_M_PERMIT}" "" "gemm_small_matrix_permit" false "" "" false "BFLOAT16")
684684
GenerateNamedObjects("${KERNELDIR}/${SBGEMM_SMALL_K_NN}" "" "gemm_small_kernel_nn" false "" "" false "BFLOAT16")

kernel/setparam-ref.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1824,6 +1824,13 @@ static void init_parameter(void) {
18241824
fprintf(stderr, "L2 = %8d DGEMM_P .. %d\n", l2, TABLE_NAME.dgemm_p);
18251825
#endif
18261826

1827+
#if BUILD_BFLOAT16==1
1828+
TABLE_NAME.sbgemm_r = (((BUFFER_SIZE -
1829+
((TABLE_NAME.sbgemm_p * TABLE_NAME.sbgemm_q * 4 + TABLE_NAME.offsetA
1830+
+ TABLE_NAME.align) & ~TABLE_NAME.align)
1831+
) / (TABLE_NAME.sbgemm_q * 4) - 15) & ~15);
1832+
#endif
1833+
18271834
#if BUILD_SINGLE==1
18281835
TABLE_NAME.sgemm_r = (((BUFFER_SIZE -
18291836
((TABLE_NAME.sgemm_p * TABLE_NAME.sgemm_q * 4 + TABLE_NAME.offsetA

kernel/x86_64/sbgemm_microk_cooperlake_template.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
#define ONE 1.e0f
1414
#define ZERO 0.e0f
1515

16+
#define SHUFFLE_MAGIC_NO (const int) 0x39
17+
1618
#undef STORE16_COMPLETE_RESULT
1719
#undef STORE16_MASK_COMPLETE_RESULT
1820
#undef SBGEMM_BLOCK_KERNEL_NN_32x8xK
@@ -356,7 +358,6 @@ void sbgemm_block_kernel_nn_32xNx32_one(BLASLONG m, BLASLONG n, BLASLONG k, floa
356358
bfloat16 * B_addr = B;
357359
float * C_addr = C;
358360

359-
int SHUFFLE_MAGIC_NO = 0x39;
360361
BLASLONG tag_k_32x = k & (~31);
361362

362363
#ifndef ONE_ALPHA
@@ -465,7 +466,6 @@ void sbgemm_block_kernel_nn_16xNx32_one(BLASLONG m, BLASLONG n, BLASLONG k, floa
465466
bfloat16 * B_addr = B;
466467
float * C_addr = C;
467468

468-
int SHUFFLE_MAGIC_NO = 0x39;
469469
BLASLONG tag_k_32x = k & (~31);
470470

471471
#ifndef ONE_ALPHA
@@ -1192,7 +1192,6 @@ void sbgemm_block_kernel_tn_32xNx32_one(BLASLONG m, BLASLONG n, BLASLONG k, floa
11921192
bfloat16 * B_addr = B;
11931193
float * C_addr = C;
11941194

1195-
int SHUFFLE_MAGIC_NO = 0x39;
11961195
BLASLONG tag_k_32x = k & (~31);
11971196

11981197
#ifndef ONE_ALPHA
@@ -1291,7 +1290,6 @@ void sbgemm_block_kernel_tn_16xNx32_one(BLASLONG m, BLASLONG n, BLASLONG k, floa
12911290
bfloat16 * B_addr = B;
12921291
float * C_addr = C;
12931292

1294-
int SHUFFLE_MAGIC_NO = 0x39;
12951293
BLASLONG tag_k_32x = k & (~31);
12961294

12971295
#ifndef ONE_ALPHA

0 commit comments

Comments
 (0)