AMD Ryzen Threadripper 2990WX perf boosted 2X by CorePrio tool

by Mark Tyson on 3 January 2019, 13:51

Tags: AMD (NYSE:AMD), Microsoft (NASDAQ:MSFT), Windows 10

Quick Link: HEXUS.net/qad233

Add to My Vault: x

The AMD Ryzen Threadripper 2990WX is an awesome processor from AMD, sporting 32 cores and 64 threads for those that need them, at a competitive price. The launch put AMD "in a different HEDT league to Intel," declared the HEXUS editor back in August. There were only a couple of slight negatives about the processor spotted during our day-0 review; its single thread competitiveness, and gaming (if you didn't turn on Game Mode). However, subsequently it became apparent that systems packing this processor faced (depending upon the task) performance regressions under Windows.

Initially the processor chiplet architecture - how the multiple dies communicated with system memory - was blamed for the performance regressions. It was thought this was the problem as the Threadripper 2990WX has only 4 memory channels, but subsequent testing showed the AMD EPYC 7551 32 core 64 thread processor suffered from "the same performance regressions issue and it has 8 memory channels," notes HardOCP.

Further clues to what was taking place came from Threadripper 2990WX tests using Linux as the OS. It was noticed that performance regressions seem in Windows would be absent on Linux systems in the Linux native equivalent apps. This, and some other observations, effectively eliminated the issue being something within the chip design and pointed the finger squarely at Windows, likely the Windows Kernel.

LevelOneTechs recently shared a blog post sketching out their observations, detective work, and (nicely) a solution for the Threadripper performance regressions. Wendell, from LevelOneTechs, notes that programs such as Adobe Premiere, Indigo's Renderer, Blender, 7zip, plus gamers using Nvidia drivers were treated to patches with varying degrees of success - while some haven't enjoyed performance uplifts from such application developer activity.

In some tests with the Indigo renderer Wendell noticed that "taking a single thread out of the list of available threads to run the program on (called CPU Affinity) via the windows task manager would improve performance to similar levels as I was seeing on Linux". With this weird behaviour more or less isolated, Wendell got together with Jeremy Collake at Bitsum to create a utility called CorePrio. In the utility there is a checkbox for 'NUMA Dissociater' which effectively eliminates the Windows vs Linux performance disadvantage by automating the thread tweaking.

To read more about the zeroing-in on this Windows kernel bug and the CorePrio utility please check the respective links (or simply sit back and watch Wendell talk through everything in the LevelOneTechs video above). Programs that previously suffered from performance regressions on Windows should be able to almost double their performance after using this tool.



HEXUS Forums :: 33 Comments

Login with Forum Account

Don't have an account? Register today!
Wow! Nice catch
Scary that it wasn't Microsoft that caught this. Hopefully MS will be embarrassed enough to get a fix in the Windows 10 1903 update; March isn't that far off!

But then I want one to run Linux on, perhaps there aren't that many users affected.
I'm still not sure what the actual problem is for MS to fix? It sounds like they've found a workaround but they don't know why it works. Kind of reminds me of the early days of multi-core processors when we did the same.
So it seems that essentially AMD needs to work with Microsoft to get a kernel level fix so that the cpu works as intended…. so why didn't AMD pick up on this before release, surely they've got a better understanding of their cpu and better testing tools than the ‘home user’.
LSG501
So it seems that essentially AMD needs to work with Microsoft to get a kernel level fix so that the cpu works as intended…. so why didn't AMD pick up on this before release, surely they've got a better understanding of their cpu and better testing tools than the ‘home user’.

I thought they did, and called it “game mode”.

Why should AMD have to fix Microsoft's bugs? For all we know AMD may well have passed on the info and example hardware to Microsoft to reproduce and fix the issue, but at the end of the day the owner of the buggy code has to fix the buggy code. AMD don't control Windows.