Use logical count for everything newer than dozer#4
Use logical count for everything newer than dozer#4Artoria2e5 wants to merge 2 commits intoGPUOpen-LibrariesAndSDKs:masterfrom
Conversation
we should tell people why this matters at all
| if ((0 == strcmp(vendor, "AuthenticAMD")) && (0x15 == getCpuidFamily())) { | ||
| // AMD "Bulldozer" family microarchitecture | ||
| if ((0 == strcmp(vendor, "AuthenticAMD")) && (0x15 <= getCpuidFamily())) { | ||
| // AMD "Bulldozer" family microarchitecture or newer |
|
Wait, when does AMD start having logical/core differences anyways? Isn't it just dozer with the clusters? What is this function good for anyways "usually" then, if all these SMT usually gets better performance? Shouldn't a README change be enough? Eff this. |
|
This patch is wrong. It should return logical core count when family is greater or equal than 0x15 not less or equal. Example: https://www.cpu-world.com/CPUs/Zen/AMD-Ryzen%207%201700.html |
That’s exactly what the patch does.... |
|
Sorry, You're right, I replaced sides in my mind ;-), sorry! |
It probably doesn't make sense to kill the whole core detection completely, but we can still make everything a bit better by not limiting ourselves to dozer only. After all, Ken Mitchell 2017 does state that SMT is useful most of the time.
Fixes #2. Should be more in the spirit of @ThomasTheGerman's suggestion.