diff --git a/cpuid_x86.c b/cpuid_x86.c index a65991041..6680b80ba 100644 --- a/cpuid_x86.c +++ b/cpuid_x86.c @@ -1239,13 +1239,19 @@ int get_cpuname(void){ return CPUTYPE_BULLDOZER; else return CPUTYPE_BARCELONA; //OS don't support AVX. - case 2: + case 2: //AMD Piledriver + case 3: //AMD Richland if(support_avx()) return CPUTYPE_PILEDRIVER; else return CPUTYPE_BARCELONA; //OS don't support AVX. case 0: switch(exmodel){ + case 1: //AMD Trinity + if(support_avx()) + return CPUTYPE_PILEDRIVER; + else + return CPUTYPE_BARCELONA; //OS don't support AVX. case 3: if(support_avx()) return CPUTYPE_STEAMROLLER; @@ -1718,7 +1724,8 @@ int get_coretype(void){ return CORE_BULLDOZER; else return CORE_BARCELONA; //OS don't support AVX. - case 2: + case 2: //AMD Piledriver + case 3: //AMD Richland if(support_avx()) return CORE_PILEDRIVER; else @@ -1726,6 +1733,12 @@ int get_coretype(void){ case 0: switch(exmodel){ + case 1: //AMD Trinity + if(support_avx()) + return CORE_PILEDRIVER; + else + return CORE_BARCELONA; //OS don't support AVX. + case 3: if(support_avx()) return CORE_STEAMROLLER; diff --git a/driver/others/dynamic.c b/driver/others/dynamic.c index c41164559..1c4a2293f 100644 --- a/driver/others/dynamic.c +++ b/driver/others/dynamic.c @@ -318,7 +318,7 @@ static gotoblas_t *get_coretype(void){ openblas_warning(FALLBACK_VERBOSE, BARCELONA_FALLBACK); return &gotoblas_BARCELONA; //OS doesn't support AVX. Use old kernels. } - }else if(model == 2){ + }else if(model == 2 || model == 3){ //AMD Bulldozer Opteron 6300 / Opteron 4300 / Opteron 3300 if(support_avx()) return &gotoblas_PILEDRIVER; @@ -327,7 +327,15 @@ static gotoblas_t *get_coretype(void){ return &gotoblas_BARCELONA; //OS doesn't support AVX. Use old kernels. } }else if(model == 0){ - if (exmodel == 3) { + if (exmodel == 1) { + //AMD Trinity + if(support_avx()) + return &gotoblas_PILEDRIVER; + else{ + openblas_warning(FALLBACK_VERBOSE, BARCELONA_FALLBACK); + return &gotoblas_BARCELONA; //OS doesn't support AVX. Use old kernels. + } + }else if (exmodel == 3) { //AMD STEAMROLLER if(support_avx()) return &gotoblas_STEAMROLLER;