File tree Expand file tree Collapse file tree 2 files changed +43
-1
lines changed Expand file tree Collapse file tree 2 files changed +43
-1
lines changed Original file line number Diff line number Diff line change @@ -1398,6 +1398,17 @@ int get_cpuname(void){
1398
1398
return CPUTYPE_SANDYBRIDGE ;
1399
1399
else
1400
1400
return CPUTYPE_NEHALEM ;
1401
+ case 10 : // Ice Lake SP
1402
+ if (support_avx512_bf16 ())
1403
+ return CPUTYPE_COOPERLAKE ;
1404
+ if (support_avx512 ())
1405
+ return CPUTYPE_SKYLAKEX ;
1406
+ if (support_avx2 ())
1407
+ return CPUTYPE_HASWELL ;
1408
+ if (support_avx ())
1409
+ return CPUTYPE_SANDYBRIDGE ;
1410
+ else
1411
+ return CPUTYPE_NEHALEM ;
1401
1412
}
1402
1413
break ;
1403
1414
case 7 : // family 6 exmodel 7
@@ -2112,7 +2123,22 @@ int get_coretype(void){
2112
2123
#endif
2113
2124
else
2114
2125
return CORE_NEHALEM ;
2115
- #endif
2126
+ #endif
2127
+ if (model == 10 )
2128
+ #ifndef NO_AVX512
2129
+ if (support_avx512_bf16 ())
2130
+ return CORE_COOPERLAKE ;
2131
+ return CORE_SKYLAKEX ;
2132
+ #else
2133
+ if (support_avx ())
2134
+ #ifndef NO_AVX2
2135
+ return CORE_HASWELL ;
2136
+ #else
2137
+ return CORE_SANDYBRIDGE ;
2138
+ #endif
2139
+ else
2140
+ return CORE_NEHALEM ;
2141
+ #endif
2116
2142
break ;
2117
2143
case 7 :
2118
2144
if (model == 10 )
Original file line number Diff line number Diff line change @@ -621,6 +621,22 @@ static gotoblas_t *get_coretype(void){
621
621
return & gotoblas_NEHALEM ;
622
622
}
623
623
}
624
+ if (model == 10 ) {
625
+ // Ice Lake SP
626
+ if (support_avx512_bf16 ())
627
+ return & gotoblas_COOPERLAKE ;
628
+ if (support_avx512 ())
629
+ return & gotoblas_SKYLAKEX ;
630
+ if (support_avx2 ())
631
+ return & gotoblas_HASWELL ;
632
+ if (support_avx ()) {
633
+ openblas_warning (FALLBACK_VERBOSE , SANDYBRIDGE_FALLBACK );
634
+ return & gotoblas_SANDYBRIDGE ;
635
+ } else {
636
+ openblas_warning (FALLBACK_VERBOSE , NEHALEM_FALLBACK );
637
+ return & gotoblas_NEHALEM ;
638
+ }
639
+ }
624
640
return NULL ;
625
641
case 7 :
626
642
if (model == 10 ) // Goldmont Plus
You can’t perform that action at this time.
0 commit comments