Skip to content

Commit dfe1eef

Browse files
committed
Merge branch 'yuyichao-skylake-id' into develop
2 parents 22353b1 + cc7cab8 commit dfe1eef

File tree

2 files changed

+60
-0
lines changed

2 files changed

+60
-0
lines changed

cpuid_x86.c

+42
Original file line numberDiff line numberDiff line change
@@ -1133,6 +1133,16 @@ int get_cpuname(void){
11331133
return CPUTYPE_HASWELL;
11341134
#else
11351135
return CPUTYPE_SANDYBRIDGE;
1136+
#endif
1137+
else
1138+
return CPUTYPE_NEHALEM;
1139+
case 14:
1140+
//Skylake
1141+
if(support_avx())
1142+
#ifndef NO_AVX2
1143+
return CPUTYPE_HASWELL;
1144+
#else
1145+
return CPUTYPE_SANDYBRIDGE;
11361146
#endif
11371147
else
11381148
return CPUTYPE_NEHALEM;
@@ -1147,6 +1157,17 @@ int get_cpuname(void){
11471157
return CPUTYPE_HASWELL;
11481158
#else
11491159
return CPUTYPE_SANDYBRIDGE;
1160+
#endif
1161+
else
1162+
return CPUTYPE_NEHALEM;
1163+
case 5:
1164+
case 14:
1165+
// Skylake
1166+
if(support_avx())
1167+
#ifndef NO_AVX2
1168+
return CPUTYPE_HASWELL;
1169+
#else
1170+
return CPUTYPE_SANDYBRIDGE;
11501171
#endif
11511172
else
11521173
return CPUTYPE_NEHALEM;
@@ -1608,6 +1629,16 @@ int get_coretype(void){
16081629
return CORE_HASWELL;
16091630
#else
16101631
return CORE_SANDYBRIDGE;
1632+
#endif
1633+
else
1634+
return CORE_NEHALEM;
1635+
case 14:
1636+
//Skylake
1637+
if(support_avx())
1638+
#ifndef NO_AVX2
1639+
return CORE_HASWELL;
1640+
#else
1641+
return CORE_SANDYBRIDGE;
16111642
#endif
16121643
else
16131644
return CORE_NEHALEM;
@@ -1622,6 +1653,17 @@ int get_coretype(void){
16221653
return CORE_HASWELL;
16231654
#else
16241655
return CORE_SANDYBRIDGE;
1656+
#endif
1657+
else
1658+
return CORE_NEHALEM;
1659+
case 5:
1660+
case 14:
1661+
// Skylake
1662+
if(support_avx())
1663+
#ifndef NO_AVX2
1664+
return CORE_HASWELL;
1665+
#else
1666+
return CORE_SANDYBRIDGE;
16251667
#endif
16261668
else
16271669
return CORE_NEHALEM;

driver/others/dynamic.c

+18
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,15 @@ static gotoblas_t *get_coretype(void){
252252
return &gotoblas_NEHALEM; //OS doesn't support AVX. Use old kernels.
253253
}
254254
}
255+
//Intel Skylake
256+
if (model == 14) {
257+
if(support_avx())
258+
return &gotoblas_HASWELL;
259+
else{
260+
openblas_warning(FALLBACK_VERBOSE, NEHALEM_FALLBACK);
261+
return &gotoblas_NEHALEM; //OS doesn't support AVX. Use old kernels.
262+
}
263+
}
255264
return NULL;
256265
case 5:
257266
//Intel Broadwell
@@ -263,6 +272,15 @@ static gotoblas_t *get_coretype(void){
263272
return &gotoblas_NEHALEM; //OS doesn't support AVX. Use old kernels.
264273
}
265274
}
275+
//Intel Skylake
276+
if (model == 14 || model == 5) {
277+
if(support_avx())
278+
return &gotoblas_HASWELL;
279+
else{
280+
openblas_warning(FALLBACK_VERBOSE, NEHALEM_FALLBACK);
281+
return &gotoblas_NEHALEM; //OS doesn't support AVX. Use old kernels.
282+
}
283+
}
266284
return NULL;
267285
}
268286
case 0xf:

0 commit comments

Comments
 (0)