Separate Skylake X from Skylake
This commit is contained in:
parent
5a92b311e0
commit
5a51cf4576
|
@ -79,6 +79,11 @@ extern gotoblas_t gotoblas_EXCAVATOR;
|
||||||
#else
|
#else
|
||||||
extern gotoblas_t gotoblas_HASWELL;
|
extern gotoblas_t gotoblas_HASWELL;
|
||||||
extern gotoblas_t gotoblas_ZEN;
|
extern gotoblas_t gotoblas_ZEN;
|
||||||
|
#ifndef NO_AVX512
|
||||||
|
extern gotoblas_t gotoblas_SKYLAKEX;
|
||||||
|
#else
|
||||||
|
#define gotoblas_SKYLAKEX gotoblas_HASWELL;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
//Use NEHALEM kernels for sandy bridge
|
//Use NEHALEM kernels for sandy bridge
|
||||||
|
@ -286,8 +291,21 @@ 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 == 5) {
|
||||||
|
// Intel Skylake X
|
||||||
|
#ifndef NO_AVX512
|
||||||
|
return $gotoblas_SKYLAKEX;
|
||||||
|
#else
|
||||||
|
if(support_avx())
|
||||||
|
return &gotoblas_HASWELL;
|
||||||
|
else {
|
||||||
|
openblas_warning(FALLBACK_VERBOSE, NEHALEM_FALLBACK);
|
||||||
|
return &gotoblas_NEHALEM;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
//Intel Skylake
|
//Intel Skylake
|
||||||
if (model == 14 || model == 5) {
|
if (model == 14) {
|
||||||
if(support_avx())
|
if(support_avx())
|
||||||
return &gotoblas_HASWELL;
|
return &gotoblas_HASWELL;
|
||||||
else{
|
else{
|
||||||
|
@ -447,7 +465,8 @@ static char *corename[] = {
|
||||||
"Haswell",
|
"Haswell",
|
||||||
"Steamroller",
|
"Steamroller",
|
||||||
"Excavator",
|
"Excavator",
|
||||||
"Zen"
|
"Zen",
|
||||||
|
"SkylakeX"
|
||||||
};
|
};
|
||||||
|
|
||||||
char *gotoblas_corename(void) {
|
char *gotoblas_corename(void) {
|
||||||
|
@ -475,7 +494,7 @@ char *gotoblas_corename(void) {
|
||||||
if (gotoblas == &gotoblas_STEAMROLLER) return corename[21];
|
if (gotoblas == &gotoblas_STEAMROLLER) return corename[21];
|
||||||
if (gotoblas == &gotoblas_EXCAVATOR) return corename[22];
|
if (gotoblas == &gotoblas_EXCAVATOR) return corename[22];
|
||||||
if (gotoblas == &gotoblas_ZEN) return corename[23];
|
if (gotoblas == &gotoblas_ZEN) return corename[23];
|
||||||
|
if (gotoblas == &gotoblas_SKYLAKEX) return corename[24];
|
||||||
return corename[0];
|
return corename[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -505,6 +524,7 @@ static gotoblas_t *force_coretype(char *coretype){
|
||||||
|
|
||||||
switch (found)
|
switch (found)
|
||||||
{
|
{
|
||||||
|
case 24: return (&gotoblas_SKYLAKEX);
|
||||||
case 23: return (&gotoblas_ZEN);
|
case 23: return (&gotoblas_ZEN);
|
||||||
case 22: return (&gotoblas_EXCAVATOR);
|
case 22: return (&gotoblas_EXCAVATOR);
|
||||||
case 21: return (&gotoblas_STEAMROLLER);
|
case 21: return (&gotoblas_STEAMROLLER);
|
||||||
|
|
Loading…
Reference in New Issue