More tileconfig/tilerelease guards for spr bf8/hf8 via stack
@@ -2046,6 +2046,11 @@ void libxsmm_generator_gemm_amx_kernel( libxsmm_generated_code* io_ge
/* Adjust descriptor to perform GEMM with BF16 inputs and F32 output */
if ((bf8_gemm_via_stack_alloc_tensors > 0) || (hf8_gemm_via_stack_alloc_tensors > 0) ) {
+ if (!( (((LIBXSMM_GEMM_FLAG_NO_RESET_TILECONFIG & l_xgemm_desc->flags) == 0) && ((LIBXSMM_GEMM_FLAG_NO_SETUP_TILECONFIG & l_xgemm_desc->flags) == 0)) ||
+ (((LIBXSMM_GEMM_FLAG_NO_RESET_TILECONFIG & l_xgemm_desc->flags) != 0) && ((LIBXSMM_GEMM_FLAG_NO_SETUP_TILECONFIG & l_xgemm_desc->flags) != 0)) )){
+ return;
+ }
+
l_xgemm_desc->datatype = LIBXSMM_GETENUM(LIBXSMM_DATATYPE_BF16, LIBXSMM_DATATYPE_F32);
l_xgemm_desc->lda = l_xgemm_desc->m;
l_xgemm_desc->k = i_xgemm_desc->k*2;
@@ -2148,7 +2153,7 @@ void libxsmm_generator_gemm_amx_kernel( libxsmm_generated_code* io_ge
if ((((LIBXSMM_GEMM_FLAG_NO_RESET_TILECONFIG & l_xgemm_desc->flags) != 0) && ((LIBXSMM_GEMM_FLAG_NO_SETUP_TILECONFIG & l_xgemm_desc->flags) == 0)) ||
(((LIBXSMM_GEMM_FLAG_NO_RESET_TILECONFIG & l_xgemm_desc->flags) == 0) && ((LIBXSMM_GEMM_FLAG_NO_SETUP_TILECONFIG & l_xgemm_desc->flags) == 0)) ||
- (n_gemm_code_blocks > 1) ) {
+ (n_gemm_code_blocks > 1) || (bf8_gemm_via_stack_alloc_tensors > 0) || (hf8_gemm_via_stack_alloc_tensors > 0) ) {
libxsmm_x86_instruction_tile_control( io_generated_code,
0,
l_micro_kernel_config.instruction_set,
@@ -2182,7 +2187,7 @@ void libxsmm_generator_gemm_amx_kernel( libxsmm_generated_code* io_ge
/* Conditionally perform a tilerelease */
if ( (((LIBXSMM_GEMM_FLAG_NO_RESET_TILECONFIG & l_xgemm_desc->flags) == 0) && ((LIBXSMM_GEMM_FLAG_NO_SETUP_TILECONFIG & l_xgemm_desc->flags) != 0)) ||
(((LIBXSMM_GEMM_FLAG_NO_RESET_TILECONFIG & l_xgemm_desc->flags) == 0) && ((LIBXSMM_GEMM_FLAG_NO_SETUP_TILECONFIG & l_xgemm_desc->flags) == 0)) ||
- (n_gemm_code_blocks > 1) ) {
+ (n_gemm_code_blocks > 1) || (bf8_gemm_via_stack_alloc_tensors > 0) || (hf8_gemm_via_stack_alloc_tensors > 0)) {
libxsmm_x86_instruction_tile_control( io_generated_code,
0,
l_micro_kernel_config.instruction_set,
