diff --git a/common.h b/common.h index a9fe8d911..762968e6f 100644 --- a/common.h +++ b/common.h @@ -657,6 +657,8 @@ void gotoblas_dynamic_init(void); void gotoblas_dynamic_quit(void); void gotoblas_profile_init(void); void gotoblas_profile_quit(void); + +int support_avx512(void); #ifdef USE_OPENMP diff --git a/interface/gemm.c b/interface/gemm.c index 8a1d50f4e..0b18d9a8c 100644 --- a/interface/gemm.c +++ b/interface/gemm.c @@ -273,7 +273,7 @@ void CNAME(enum CBLAS_ORDER order, enum CBLAS_TRANSPOSE TransA, enum CBLAS_TRANS #if !defined(COMPLEX) && !defined(DOUBLE) && defined(USE_SGEMM_KERNEL_DIRECT) #ifdef DYNAMIC_ARCH - if (gotoblas == &gotoblas_SKYLAKEX) + if (support_avx512() ) #endif if (beta == 0 && alpha == 1.0 && order == CblasRowMajor && TransA == CblasNoTrans && TransB == CblasNoTrans && sgemm_kernel_direct_performant(m,n,k)) { sgemm_kernel_direct(m, n, k, a, lda, b, ldb, c, ldc);