Add CPUIDs for Alder Lake and other recent Intel cpus
This commit is contained in:
parent
faae86fba2
commit
08f8bb66c0
|
@ -624,7 +624,7 @@ static gotoblas_t *get_coretype(void){
|
||||||
return &gotoblas_NEHALEM;
|
return &gotoblas_NEHALEM;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (model == 10) {
|
if (model == 10 || model == 12){
|
||||||
// Ice Lake SP
|
// Ice Lake SP
|
||||||
if(support_avx512_bf16())
|
if(support_avx512_bf16())
|
||||||
return &gotoblas_COOPERLAKE;
|
return &gotoblas_COOPERLAKE;
|
||||||
|
@ -644,7 +644,7 @@ static gotoblas_t *get_coretype(void){
|
||||||
case 7:
|
case 7:
|
||||||
if (model == 10) // Goldmont Plus
|
if (model == 10) // Goldmont Plus
|
||||||
return &gotoblas_NEHALEM;
|
return &gotoblas_NEHALEM;
|
||||||
if (model == 14) {
|
if (model == 13 || model == 14) {
|
||||||
// Ice Lake
|
// Ice Lake
|
||||||
if (support_avx512())
|
if (support_avx512())
|
||||||
return &gotoblas_SKYLAKEX;
|
return &gotoblas_SKYLAKEX;
|
||||||
|
@ -661,7 +661,6 @@ static gotoblas_t *get_coretype(void){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
case 9:
|
|
||||||
case 8:
|
case 8:
|
||||||
if (model == 12 || model == 13) { // Tiger Lake
|
if (model == 12 || model == 13) { // Tiger Lake
|
||||||
if (support_avx512())
|
if (support_avx512())
|
||||||
|
@ -689,6 +688,50 @@ static gotoblas_t *get_coretype(void){
|
||||||
return &gotoblas_NEHALEM; //OS doesn't support AVX. Use old kernels.
|
return &gotoblas_NEHALEM; //OS doesn't support AVX. Use old kernels.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (model == 15){ // Sapphire Rapids
|
||||||
|
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;
|
||||||
|
|
||||||
|
|
||||||
|
case 9:
|
||||||
|
if (model == 7 || model == 10) { // Alder Lake
|
||||||
|
if(support_avx2()){
|
||||||
|
openblas_warning(FALLBACK_VERBOSE, HASWELL_FALLBACK);
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (model == 14 ) { // Kaby Lake, Coffee Lake
|
||||||
|
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; //OS doesn't support AVX. Use old kernels.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
case 10:
|
case 10:
|
||||||
if (model == 5 || model == 6) {
|
if (model == 5 || model == 6) {
|
||||||
if(support_avx2())
|
if(support_avx2())
|
||||||
|
|
Loading…
Reference in New Issue