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:
commit
018bb3e433
2
common.h
2
common.h
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue