SPEC CPU 2017 Performance

SPEC CPU 2017 is a series of standardized tests used to probe the overall performance between different systems, different architectures, different microarchitectures, and setups. The code has to be compiled, and then the results can be submitted to an online database for comparison. It covers a range of integer and floating point workloads, and can be very optimized for each CPU, so it is important to check how the benchmarks are being compiled and run.

We run the tests in a harness built through Windows Subsystem 1 for Linux, developed by Andrei Frumusanu. WSL1 has some odd quirks, with one test not running due to a fixed stack size, but for like-for-like testing it is good enough. Because our scores aren’t official submissions, as per SPEC guidelines we have to declare them as internal estimates on our part.

For the launch of the Ryzen 9000 desktop chips, we've built a fresh set of binaries to better take advantage of the Zen 5 architecture. Specifically, as these are the first consumer chips since 2021's Rocket Lake (11th Gen Core) to offer AVX-512 support with a full, 512-bit wide SIMD backing it, we've built a new set of binaries to make use of the feature.

For compilers, we use LLVM/Clang for the C/C++ tests, and for Fortran tests we’re using GCC's GFortran. Ont he whole, LLVM offers better cross-platform comparisons, especially to platforms that only have LLVM support. However LLVM's modern Fortran compiler, LLVM Flang (aka Flang-new), is not production ready, whereas GFortran is. As always, we’re not considering closed-source compilers such as MSVC or ICC.

clang version 18.1.8
gfortran version 14.2.0

-Ofast -fomit-frame-pointer
-march=[x86-64-3 or x86-64-4, depending on chip's supported ISA]

Our compiler flags are straightforward, with basic –Ofast and relevant ISA switches. Because it's not possible to build a single set of binaries that offer AVX-512 support while still gracefully falling back to AVX2 on platforms that lack the feature, we're technically running two sets of binaries on x86 platforms. AVX-512 processors get binaries compbiled with the -march=x86-64-4 flag, while all other x86 platforms get -march=x86-64-3. And note that while scores are similar overall, the results from these new binaries are not comparable to our previous binaries, due to the significant compiler changes in the last few years.

To note, the requirements for the SPEC license state that any benchmark results from SPEC have to be labeled ‘estimated’ until they are verified on the SPEC website as a meaningful representation of the expected performance. This is most often done by the big companies and OEMs to showcase performance to customers, however is quite over the top for what we do as reviewers.

Single-Threaded (Rate-1) Results

SPEC2017 Rate-1 Estimated Total

With the new binaries, we've not yet had time to run the much longer multithreaded Rate-N tests, so for today's launch all we have is single-threaded results. Which is fine in this case, as we're primarily using SPEC as a means of evaluating IPCs and core architectural improvements.

And starting at a high level with the geomean scores, things look good for AMD's latest chip architecture. Even though we've already taken a preliminary look at Zen 5 with the Ryzen AI 300 launch last week, looking at the desktop chips gives us much more of a focused comparison, since the underlying AM5 platform hasn't changed from the Ryzen 7000 generation. Other than supporting slightly faster memory (DDR5-5600 vs DDR5-5200), the Ryzen 7 9700X and Ryzen 7 7700 are about as close as can be. The only thing keeping this from being strictly an IPC comparison is that the 9700X is clocked a bit higher, at 5.5GHz versus the 5.3GHz of the 7700 (a 3.8% advantage).

The actual performance advantage we find is easily in Zen 5's favor. Whereas the Zen 4 based Ryzen 7 7700 barely edged out the Core i5-1400K in integer performance, and trailed it in floating point performance, the Zen 5 Ryzen 7 9700X is ahead on all fronts. AMD's chip is a generation newer, and it certainly shows here.

By the numbers, the performance uplift in SPEC CPU 2017 over the 7700 is 13.2% for integer performance, and an impressive 25.8% for floating point performance. This is a greater uplift in both integer and floating point performnace than we saw with the mobile chips; the desktop chips show a distinct integer performnace improvement, and the floating point performance gains are even greater than before. In our preview piece, we theorized that Zen 5 is going to provide a greater floating point performance uplift than it will integer performance, and this seems to be validated by our benchmark results here.

We've not yet had the chance to run our x86_64-v3 (non-AVX-512) binaries on AMD's chips, so I won't speculate too much on the impact of a 512-bit SIMD in these scores. But the SPEC CPU benchmark suite is not known for being particularly sensitive on SIMD width to begin with, as it uses plenty of serial code.

SPECint2017 Rate-1 Estimated Scores

Looking at the individual integer sub-test scores, we find a near-consistent performance improvement for the 9700X. With the exception of stubborn 505.mcf, the Zen 5 chip is always improving on its predecessor. The biggest gains coming in 500.perlbench, 525.x264, and the Forfran-focused 548.exchange2. Overall, the sub-tests tend to cluster in to two groups: about half the tests show minimal performance uplift, and the other half show extensive performance uplifts. This reflects the wide variety of workloads used by the sub-tests, and how not every workload is going to extensively benefit from AMD's architectural advances.

SPECfp2017 Rate-1 Estimated Scores

Coming from our geomean averages, where we saw that the 9700X beat the 7700 by 25%, looking at our individual scores we can see that AMD has significantly improved their floating point performance across virtually the entire board. Not only does the 9700X cleanly beat the 7700 in every last test here, but no sub-test score improves by less than 10%. So based on these results, there's little reason not to expect virtually all floating point workloads to benefit similarly.

The only caveat to improved floating point performance is that it's not as applicable to day-to-day productivity workloads, which historically are integer dominated. On the flip side, however, games are traditionally FP-bound, so Ryzen 9000's gaming performance should prove very interesting.

In the meantime, we'll bave updating this section later on this week with SPEC Rate-N (multi-threaded) results once those benchmarks have completed.

Power Consumption CPU Benchmark Performance: Productivity and Web
Comments Locked

70 Comments

View All Comments

  • Ryan Smith - Wednesday, August 7, 2024 - link

    This is an area where technical specifications and casual nomenclature have drifted apart.

    DDR5 channels are 32-bits each. A DIMM offers two 32-bit channels, for 64-bits altogether.

    So AM5 takes two DIMMs. But it's technically four independent DDR5 channels.
  • Kevin G - Wednesday, August 7, 2024 - link

    This is going to be more divergent with DDR6 as the draft specs have four 16 bit sub channels for a 64 bit DIMM. However the DIMM format might only bee seen in servers with consumer products likely moving to a version CAMM which would ultimately have eight 16 bit sub channels for a 128 bit wide CAMM product.
  • phoenix_rizzen - Tuesday, August 13, 2024 - link

    If CAMM is ever going to take off in desktops they're going to have to come up with a vertical-oriented version (similar to how DIMMs are inserted vertically into a motherboard). There's just not enough horizontal space on ATX motherboards for multiple CAMM boards to be attached.

    Would also be nice if someone came up with a vertical M.2 slot for NVMe drives.

    Either that or extended ATX (or larger) motherboards are going to have to make a comeback. :)
  • 'nar - Friday, August 16, 2024 - link

    Get off my lawn! Geez I feel old now. These are "Dual Inline Memory Modules," but otherwise just as Ryan already explained. What threw me was that they've been called dual channel for so long calling them quad channel now is misleading.

    The DIMMs started back in the x486 days I think, maybe the Pentium? From 8086, 286, 386, 486, Intel increased the channel width(or the word length that the CPU can process), 8-bit, 16-bit, 32-bit, then 32-bit x2. Processors calculated smaller chunks back then, but have mostly stayed at 32-bit, which are four 8-bit bytes, so it is a 4-byte word that equals 32-bit. The Processor is much faster than the memory, so they decided to double up on the data, hence, Dual inline memory modules. Before this they were SIMMs. But I don't believe we got "dual channel" (where we got A and B channels) until 64-bit CPU's, which use twice the data, And Quad channel is mostly found in servers and HEDT systems. So, in the end this seems to be a marketing decision meant to confuse people. Sales guys don't need us to understand, just buy, and we all like MOWAR Power eh? Even if we just think it is.
  • Terry_Craig - Wednesday, August 7, 2024 - link

    This architecture has some very serious bottlenecks. It performs slightly better than Zen4 or the same in almost everything, except where AVX512 is used (DL/AI software) there the performance shoots ahead.

    Disappointed to see such a wide design not deliver what it promised.
  • yeeeeman - Wednesday, August 7, 2024 - link

    yes, exactly
  • Bulat Ziganshin - Wednesday, August 7, 2024 - link

    It was my first thought, but just look at Zen1-4 history. It kept the same width, but increased IPC 1.5x by going deeper (i.e. larger ROB and so on). It's the way AMD reduces their expenses - they increase width once and then slowly make CPU deeper to get small gains every year. So, I expect that Zen8 or so will be 1.5x faster that Zen4 by finally making it as wide as Apple M1.
  • Bulat Ziganshin - Wednesday, August 7, 2024 - link

    sorry, I meant "Zen8 will be 1.5x faster than Zen4 by making it as DEEP as M1 while keeping the same width as Zen5"
  • Khanan - Wednesday, August 7, 2024 - link

    Did we read the same article? Maybe you shouldn’t comment if you didn’t read or understand the article.

    And if you’re only about games, 5 games are nothing, go for the reviews where 20 games are tested (at least).
  • Bulat Ziganshin - Wednesday, August 7, 2024 - link

    Zen5 has 6 ALUs - 1.5x more than Zen4. e.g. Apple M1 also had 6 ALUs, but Zen5 is nowhere near M1 IPC or 1.5x Zen4 IPC. even in the official benchmarks IPC improved only by 16% on average

Log in

Don't have an account? Sign up now