Merge pull request #3233 from martin-frbg/issue3230
Add autodetection for Intel Ice Lake SP
This commit is contained in:
commit
5af510081d
26
cpuid_x86.c
26
cpuid_x86.c
|
@ -1398,6 +1398,17 @@ int get_cpuname(void){
|
||||||
return CPUTYPE_SANDYBRIDGE;
|
return CPUTYPE_SANDYBRIDGE;
|
||||||
else
|
else
|
||||||
return CPUTYPE_NEHALEM;
|
return CPUTYPE_NEHALEM;
|
||||||
|
case 10: // Ice Lake SP
|
||||||
|
if(support_avx512_bf16())
|
||||||
|
return CPUTYPE_COOPERLAKE;
|
||||||
|
if(support_avx512())
|
||||||
|
return CPUTYPE_SKYLAKEX;
|
||||||
|
if(support_avx2())
|
||||||
|
return CPUTYPE_HASWELL;
|
||||||
|
if(support_avx())
|
||||||
|
return CPUTYPE_SANDYBRIDGE;
|
||||||
|
else
|
||||||
|
return CPUTYPE_NEHALEM;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 7: // family 6 exmodel 7
|
case 7: // family 6 exmodel 7
|
||||||
|
@ -2112,6 +2123,21 @@ int get_coretype(void){
|
||||||
#endif
|
#endif
|
||||||
else
|
else
|
||||||
return CORE_NEHALEM;
|
return CORE_NEHALEM;
|
||||||
|
#endif
|
||||||
|
if (model == 10)
|
||||||
|
#ifndef NO_AVX512
|
||||||
|
if(support_avx512_bf16())
|
||||||
|
return CORE_COOPERLAKE;
|
||||||
|
return CORE_SKYLAKEX;
|
||||||
|
#else
|
||||||
|
if(support_avx())
|
||||||
|
#ifndef NO_AVX2
|
||||||
|
return CORE_HASWELL;
|
||||||
|
#else
|
||||||
|
return CORE_SANDYBRIDGE;
|
||||||
|
#endif
|
||||||
|
else
|
||||||
|
return CORE_NEHALEM;
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
|
|
|
@ -621,6 +621,22 @@ static gotoblas_t *get_coretype(void){
|
||||||
return &gotoblas_NEHALEM;
|
return &gotoblas_NEHALEM;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (model == 10) {
|
||||||
|
// Ice Lake SP
|
||||||
|
if(support_avx512_bf16())
|
||||||
|
return &gotoblas_COOPERLAKE;
|
||||||
|
if (support_avx512())
|
||||||
|
return &gotoblas_SKYLAKEX;
|
||||||
|
if(support_avx2())
|
||||||
|
return &gotoblas_HASWELL;
|
||||||
|
if(support_avx()) {
|
||||||
|
openblas_warning(FALLBACK_VERBOSE, SANDYBRIDGE_FALLBACK);
|
||||||
|
return &gotoblas_SANDYBRIDGE;
|
||||||
|
} else {
|
||||||
|
openblas_warning(FALLBACK_VERBOSE, NEHALEM_FALLBACK);
|
||||||
|
return &gotoblas_NEHALEM;
|
||||||
|
}
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
case 7:
|
case 7:
|
||||||
if (model == 10) // Goldmont Plus
|
if (model == 10) // Goldmont Plus
|
||||||
|
|
Loading…
Reference in New Issue