diff --git a/config/mic/bli_config.h b/config/mic/bli_config.h index 31aaa64c5..565c12050 100644 --- a/config/mic/bli_config.h +++ b/config/mic/bli_config.h @@ -39,6 +39,10 @@ #define BLIS_TREE_BARRIER #define BLIS_TREE_BARRIER_ARITY 4 +#define BLIS_DGEMM_UKERNEL_PREFERS_CONTIG_ROWS +#define BLIS_ENABLE_MULTITHREADING +#define BLIS_ENABLE_OPENMP + // -- OPERATING SYSTEM --------------------------------------------------------- diff --git a/config/mic/bli_kernel.h b/config/mic/bli_kernel.h index 9799c4fb5..5a396a4f4 100644 --- a/config/mic/bli_kernel.h +++ b/config/mic/bli_kernel.h @@ -56,18 +56,12 @@ #define BLIS_DEFAULT_MC_S 240 #define BLIS_DEFAULT_KC_S 240 -#define BLIS_DEFAULT_NC_S 9600 +#define BLIS_DEFAULT_NC_S 14400 #define BLIS_DEFAULT_MC_D 120 #define BLIS_DEFAULT_KC_D 240 #define BLIS_DEFAULT_NC_D 14400 -#define BLIS_DEFAULT_4M_MC_C BLIS_DEFAULT_MC_S -#define BLIS_DEFAULT_4M_KC_C BLIS_DEFAULT_KC_S - -#define BLIS_DEFAULT_3M_MC_C BLIS_DEFAULT_MC_S -#define BLIS_DEFAULT_3M_KC_C BLIS_DEFAULT_KC_S - /* #define BLIS_DEFAULT_MC_C 120 #define BLIS_DEFAULT_KC_C 240 @@ -77,6 +71,7 @@ #define BLIS_DEFAULT_KC_Z 240 #define BLIS_DEFAULT_NC_Z 9600 */ + // -- Register blocksizes -- #define BLIS_DEFAULT_MR_S 30 @@ -108,9 +103,9 @@ // enlarged if such an extension would encompass the remaining portion of // the matrix dimension. -//#define BLIS_MAXIMUM_MC_S (BLIS_DEFAULT_MC_S + BLIS_DEFAULT_MC_S/4) -//#define BLIS_MAXIMUM_KC_S (BLIS_DEFAULT_KC_S + BLIS_DEFAULT_KC_S/4) -//#define BLIS_MAXIMUM_NC_S (BLIS_DEFAULT_NC_S + BLIS_DEFAULT_NC_S/4) +#define BLIS_MAXIMUM_MC_S (BLIS_DEFAULT_MC_S + BLIS_DEFAULT_MC_S/4) +#define BLIS_MAXIMUM_KC_S (BLIS_DEFAULT_KC_S + BLIS_DEFAULT_KC_S/4) +#define BLIS_MAXIMUM_NC_S (BLIS_DEFAULT_NC_S + 0) #define BLIS_MAXIMUM_MC_D (BLIS_DEFAULT_MC_D + BLIS_DEFAULT_MC_D/4) #define BLIS_MAXIMUM_KC_D (BLIS_DEFAULT_KC_D + BLIS_DEFAULT_KC_D/4) diff --git a/kernels/mic/3/bli_dgemm_opt_30x8.c b/kernels/mic/3/bli_dgemm_opt_30x8.c index aa6f7d339..68e03bdda 100644 --- a/kernels/mic/3/bli_dgemm_opt_30x8.c +++ b/kernels/mic/3/bli_dgemm_opt_30x8.c @@ -264,6 +264,8 @@ void bli_dgemm_opt_30x8( auxinfo_t* data ) { + if( k == 0) return; + double * a_next = bli_auxinfo_next_a( data ); double * b_next = bli_auxinfo_next_b( data ); diff --git a/kernels/mic/3/bli_sgemm_opt_30x16.c b/kernels/mic/3/bli_sgemm_opt_30x16.c index 2f2f09419..7709922bf 100644 --- a/kernels/mic/3/bli_sgemm_opt_30x16.c +++ b/kernels/mic/3/bli_sgemm_opt_30x16.c @@ -264,6 +264,8 @@ void bli_sgemm_opt_30x16( auxinfo_t* data ) { + if( k == 0 ) return; + float * a_next = bli_auxinfo_next_a( data ); float * b_next = bli_auxinfo_next_b( data );