Merge pull request #2533 from martin-frbg/gemmdirect2

Use runtime check for AVX512 capability in DYNAMIC_ARCH builds made on SKX
This commit is contained in:
Martin Kroeker 2020-03-30 20:15:37 +02:00 committed by GitHub
commit 018bb3e433
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 1 deletions

View File

@ -658,6 +658,8 @@ void gotoblas_dynamic_quit(void);
void gotoblas_profile_init(void); void gotoblas_profile_init(void);
void gotoblas_profile_quit(void); void gotoblas_profile_quit(void);
int support_avx512(void);
#ifdef USE_OPENMP #ifdef USE_OPENMP
#ifndef C_MSVC #ifndef C_MSVC

View File

@ -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) #if !defined(COMPLEX) && !defined(DOUBLE) && defined(USE_SGEMM_KERNEL_DIRECT)
#ifdef DYNAMIC_ARCH #ifdef DYNAMIC_ARCH
if (gotoblas == &gotoblas_SKYLAKEX) if (support_avx512() )
#endif #endif
if (beta == 0 && alpha == 1.0 && order == CblasRowMajor && TransA == CblasNoTrans && TransB == CblasNoTrans && sgemm_kernel_direct_performant(m,n,k)) { 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); sgemm_kernel_direct(m, n, k, a, lda, b, ldb, c, ldc);