Threadripper 2990WX Performance Regressions? Not so fast…



Let’s talk about the curious case of the 2990WX performance regressions vs the 2950X where the 2990WX performs worse *on windows* than Linux.

I think the issue goes deeper than scheduling — something else is broken with this many threads.

I’ve also seen the recent driver bugs in the nvidia driver for performance regressions there — it’s not as useful to look at that because it’s cross platform — but I suspect that (at least on windows, before “windows 10 for workstations” is a thing)…

26 thoughts on “Threadripper 2990WX Performance Regressions? Not so fast…

  1. Wendell please consider doing this on a fresh Windows 7 64bit installation? I really believe on W7 it will run properly on all cores with the standard "high perf. profile".
    Windows 10 introduced a lot of "smart" performance/resource management that actually reduced maximum utilization in many "full load" scenarios!
    Thanks! (in general Windows 7 is still really important to compare with in general)

  2. Sounds like this might be neat for me to pick up in ~a year.
    I used to notice Core 0 maximum usage causing problems, but on Intel Turbo Boost 3, if you don't have an all-core OC, you have 2 random cores that get maxed out by most stuff and performance can stutter and etc. despite other cores being open.
    All-core OC to balance out turboboosting, fixes it, but that was not fun on my i9

  3. I checked out this cpu mainly for extreme transcoding/encoding capabilities (x264 and x265) but for all those benchmarks it seems like the 2990wx regressed over many other cpu's. With this vid in mind it is quite difficult to know beforehand if this cpu will be better at for this specific workload because it might be the cause that it would perform better with some disabled cores.

    Curious how quickly this will evolve.

  4. If you have SVM enabled, the latest Windows 10 version will enable Virtualization Based Security by default, which uses Hyper-V (even on Home) to run a "secure kernel" to do various security and code integrity stuff. It configures Hyper-V to use a new scheduler called "root scheduler", which allows the NT kernel in the host partition to control CPU core scheduling. I'm fairly convinced that this messes with things, especially under load. One effect I've seen here is higher CPU usage at idle on my 2950X, like 4-6% for no reason, which went away when I switched Hyper-V to the "core scheduler" (ostensibly unsupported on client, but it works regardless). It also makes sure that logical threads land on the appropriate cores. I'm fairly certain that things are generally smoother now, but I couldn't be assed to test due to all the back and forth.

    So either you try the Hyper-V core scheduler ( https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/manage/manage-hyper-v-scheduler-types , delete the hypervisorschedulertype key to revert to the root scheduler) or try to disable VBS and prevent Hyper-V from booting (there's a bunch of tutorials for that, but the last time I tried this on an earlier version of W10, it broke the user session stuff and BSODed the machine whenever I locked the desktop or tried to logout/reboot/shutdown), and see what happens. –edit: Or maybe just disable SVM. Heh.

  5. Thanks for taking a deeper look into this! On Windows, the Nvidia drivers mentioned a fix in their recent driver update which improved the performance on the 2990WX significantly in games. So much for Nvidia and Microsoft ruining the launch reviews of this beast…

  6. I'd say Windows is being a pain and getting in the way of the processes slowing the whole thing down, which is literally 'doesn't play well with others'.

  7. long time viewer, first time poster, engagement yay – years ago (literally) when Ryzen first released and the whole windows scheduler "scandle" surfaced, I wrote (very rough) a tool for messing with thread scheduling – https://www.reddit.com/r/Amd/comments/5zcf1y/ryzen_and_the_windows_scheduler_thread_affinity/ – basically allows for easy thread loading "patterns" .. even in some games on a 4 or 6 core Intel CPU you can see a difference (for the better) ; would be very interested to see what would happen on a Threadripper.

  8. I've been using ProcessLasso for a few years now and I can't say enough about it. It does a lot of things very easily. I use it alongside ParkControl, although there is a basic version of it in PL. When people say you should just select affinity they're missing the point. You can set memory and disk affinity as well, or prioritize applications or processes. I tie power plans to high performance apps and let it fall back to Power Saver when web browsing. I have a very nimble PC that sit's at 0% CPU usage when not being used.

  9. One of the things I noticed in the reviews was the talk about how much TDP the infinity fabric used on the 2990wx compared to the actual cores. I'm curious to see how removing core 0 has any affect on the TDP on the other active cores in relation to the infinity fabric.

Leave a Comment

Your email address will not be published. Required fields are marked *