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

  • schujj07 - Thursday, August 8, 2024 - link

    Starting with 13th Gen Intel had a core and total thread count advantage on type vs type (Ryzen 5 vs i5 for example). However, when you compare Ryzen vs Core on thread counts the Ryzens tend to be faster for the same number of threads.
  • Targon - Friday, August 9, 2024 - link

    You are only partially correct. Intel has those "efficiency" cores, and includes those in the core count. E-cores are very low performance, so 16 Zen4 cores vs. 8 P-cores+16 E-cores is the comparison you are looking at, and at this point, a 7950X vs the 14900k makes for an interesting comparison in Cinebench with a generally stock configuration(turn on XMP/EXPO memory).
  • meacupla - Wednesday, August 7, 2024 - link

    is there an idle power draw graph?
  • Slash3 - Wednesday, August 7, 2024 - link

    4K gaming page still has a few rather unnecessary text padding entries at the bottom, FYI. :)
  • isthisavailable - Wednesday, August 7, 2024 - link

    The PS5/ Xbox series made 8c/16t the new minimum when they launched in 2020. It's 2024 and the new gen CPU is still launching with a 6c/12t part as the "baseline". No core count increase since the original Zen launch. It's high time AMD moves to 8/16 for the Ryzen 5
  • Khanan - Wednesday, August 7, 2024 - link

    Why, so 99.9% of games can ignore the 2 extra cores? Aside, the 6 core is a harvested 8 core product, it will always exist.

    You cry for more cores but don’t understand the way games work today and where the development goes. Game devs don’t like high core counts and rarely optimise for more than 4-6 cores.
  • erotomania - Thursday, August 8, 2024 - link

    Actually original Zen launched (or rather, the lineup was completed shortly after launch) with 4C/4T and 4C/8T and 6C/6T. Even the original Ryzen 5 was three months after Ryzen 7 - I know because I waited for a 1600.
  • schujj07 - Friday, August 9, 2024 - link

    Zen 1 topped out at 8c/16t and you could get 16c/32t if you got a Threadripper. Since Zen 2, the top CPU is 16c/32t before going to Threadripper. Really there aren't many consumer applications that use more threads than that. Now once Zen 6 comes we might see higher core counts per CCD as that will be on a smaller process node.
  • haukionkannel - Saturday, August 10, 2024 - link

    Not really… 8 core still is not much faster than 8 core and 10 core would be same speed as 8 core in ost normal use cases…
    When the core count becomes the bottleneck, then i agree that more cores would be nice to have. But we are not in there…
  • shabby - Wednesday, August 7, 2024 - link

    I think amd screwed up with the 9700x, this should have been a 105w processor, not a 65w one. The 7700 ran at 65w and had similar clocks, while the 7700x ran at 105w with much higher base clocks.

Log in

Don't have an account? Sign up now