AMD Ryzen 9 5900X + Ryzen 9 5950X Dominate On Linux

Written by Michael Larabel in Processors on 5 November 2020. Page 1 of 8. 145 Comments

The AMD Ryzen 9 5900X and Ryzen 9 5950X are hands-down incredible winners. While processor company marketing claims are sometimes dubious and not necessarily relevant to Linux users and their open-source workloads/software, after testing the Ryzen 9 5900X and 5950X the past several weeks the performance has been incredibly compelling with significant single and multi-threaded performance uplift over Zen 2 and easily thrashing Intel's current desktop offerings with over 200 benchmarks conducted for launch-day.

Zen 3 when revealed last month looked good, but after running extensive Linux benchmarks with the Ryzen 9 5900X and 5950X I would classify it as very good or even exceptionally good in many areas. The IPC uplift is certainly there and the cache improvements and other architectural enhancements are indeed paying off big time. For single-threaded Linux workloads, the Ryzen 9 5900 series is leading over Intel now in nearly all of the workloads by healthy margins and a big upgrade over the Ryzen 3000 series.

But before getting to these exciting Linux figures a few words more broadly on the Ryzen 5000 series / Zen 3 from the Linux perspective.

The private AMD briefings did confirm Zen 3 supporting Control-Flow Enforcement Technology (CET) and new instructions of memory protection keys (MPK) and AVX2 VAES/VPCLMULQD as the new instructions with this generation of processors. We have known of the new instructions for Zen 3 since AMD sent out the znver3 patch for GNU Binutils. That Binutils patch only came out in October while as of writing AMD unfortunately hasn't provided any patches to the LLVM/Clang or GCC compilers for the "znver3" target for enabling these new instructions supported by Zen 3 or any optimized scheduler model, etc. It's looking like that will come imminently, but unfortunate they have waited until launch to provide the znver3 compiler support.

Intel is known for providing their compiler/toolchain support often years in advance and for some past launches AMD has also prepped their compiler support ahead of time. But in this case Znver3 isn't coming until after the product launch. In turn we likely won't see the optimized Znver3 compiler support until GCC 11 and LLVM/Clang 12 that will both be out in the March~April timeframe. Or AMD will presumably issue their own AOCC compiler update soon with their LLVM znver3 support. But in terms of finding these compilers used out-of-the-box by major Linux distributions, for the likes of Ubuntu that won't be now until the second half of 2021 due to the release alignment of Zen 3, the compilers, and the cadence for most distribution vendors in being conservative in moving to major compiler updates. So hopefully for Zen 4 and beyond we'll see more optimal timing of AMD pushing out their compiler support.

Granted, the untimely Znver3 support isn't too pressing for a majority of users. Aside from the let down of Znver3 not yet merged for GCC and LLVM/Clang, the Linux support for the Ryzen 5000 series should be in good standing. Particularly with no new chipsets and existing motherboards supporting Zen 3, there isn't as much to worry about from the Linux perspective. With the Ryzen 9 5900X and 5950X I didn't encounter any other odd issues like with some previous issues around buggy RdRand or other launch quirks.

The only other caveat to point out is for more of the enthusiast support if you are a tweaker or overclocker. The temperature monitoring support for Zen 3 CPUs is coming with the Linux 5.10 kernel. If you like monitoring your CPU temperatures during operation, that support in k10temp is coming next month with Linux 5.10 stable. If you are wanting to monitor your CPU package power consumption, sadly, the amd_energy Linux driver introduced this year to the kernel does not currently support the Zen 3 desktop CPUs nor is in Linux 5.10... So that is an unknown waiting game if wanting to monitor your CPU power consumption but hopefully will come to a kernel release in early 2021.

For this launch-day testing I have been using Ubuntu 20.04 LTS with Linux 5.9. Tests on other distributions and kernel comparisons and other software tuning fun will come in due course. More than two hundred benchmarks were completed via the Phoronix Test Suite and even more tests are coming soon.

Related Articles