CPU Tests: SPEC

SPEC2017 and SPEC2006 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 for Linux, developed by our own Andrei Frumusanu. WSL has some odd quirks, with one test not running due to a WSL fixed stack size, but for like-for-like testing is good enough. SPEC2006 is deprecated in favor of 2017, but remains an interesting comparison point in our data. Because our scores aren’t official submissions, as per SPEC guidelines we have to declare them as internal estimates from our part.

For compilers, we use LLVM both for C/C++ and Fortan tests, and for Fortran we’re using the Flang compiler. The rationale of using LLVM over GCC is better cross-platform comparisons to platforms that have only have LLVM support and future articles where we’ll investigate this aspect more. We’re not considering closed-sourced compilers such as MSVC or ICC.

clang version 8.0.0-svn350067-1~exp1+0~20181226174230.701~1.gbp6019f2 (trunk)
clang version 7.0.1 (ssh://git@github.com/flang-compiler/flang-driver.git
 24bd54da5c41af04838bbe7b68f830840d47fc03)

-Ofast -fomit-frame-pointer
-march=x86-64
-mtune=core-avx2
-mfma -mavx -mavx2

Our compiler flags are straightforward, with basic –Ofast and relevant ISA switches to allow for AVX2 instructions. We decided to build our SPEC binaries on AVX2, which puts a limit on Haswell as how old we can go before the testing will fall over. This also means we don’t have AVX512 binaries, primarily because in order to get the best performance, the AVX-512 intrinsic should be packed by a proper expert, as with our AVX-512 benchmark. All of the major vendors, AMD, Intel, and Arm, all support the way in which we are testing SPEC.

To note, the requirements for the SPEC licence state that any benchmark results from SPEC have to be labelled ‘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.

For each of the SPEC targets we are doing, SPEC2006 rate-1, SPEC2017 speed-1, and SPEC2017 speed-N, rather than publish all the separate test data in our reviews, we are going to condense it down into a few interesting data points. The full per-test values are in our benchmark database.

(9-0a) SPEC2006 1T Geomean Total(9-0b) SPEC2017 1T Geomean Total(9-0c) SPEC2017 nT Geomean Total

There are some specific tests that the eDRAM gets a sizeable boost in performance for, such as 471.omnetpp in SPEC2006 (+23% over 6700K). The main gains are in SPEC2017 nT, in 510.parest_r (+49%), 519.lbm_r (+63%), and 554.roms_r (+46%). However, the lower power and lower frequency still hamper the processors in a lot of scenarios. 

CPU Tests: Synthetic CPU Tests: Microbenchmarks
Comments Locked

120 Comments

View All Comments

  • Leeea - Monday, November 2, 2020 - link

    great review

    sadly i7-5775C's are still selling for $100+ on ebay. Not quite worth the upgrade over the i7-4790K, with graphics cards continuing to be by far the largest factor.

    But to me it also shows there is no need to jump into the latest and greatest cpu, because these old cpus are still keeping up just fine.
  • plonk420 - Monday, November 2, 2020 - link

    > sadly i7-5775C's are still selling for $100+ on ebay

    ohhhh, that makes me curious as to how they compare to 3100/3300X chips now
  • Roy2002 - Monday, November 2, 2020 - link

    So the conclusion is Optane could play a big role in future?
  • Leeea - Monday, November 2, 2020 - link

    no.

    Optane is slower then normal RAM.

    Optane is a faster more limited version of an SSD. Specifically it has RAM like read performance in some areas, while having SSD like write performance in other areas.
  • Jorgp2 - Monday, November 2, 2020 - link

    SSDs are much slower than Optane in writes.

    The worst case performance for Optane is better than the best performance for an SSD in writes.
  • FunBunny2 - Monday, November 2, 2020 - link

    "The worst case performance for Optane is better than the best performance for an SSD in writes."

    may haps Optane will optimize when used with code compiled to use only memory-to-memory execution and no hard I/O?
  • Tomatotech - Monday, November 2, 2020 - link

    I would have loved to see Intel embed a couple of gig of Optane on every mobo or in every CPU - at scale it would have been cheap - and we would get the benefits of instant app start, damn fast reboot etc. That would make a bigger difference to the end user experience than 15% on benchmarks. But no, it came out with poorly implemented tiering software, via expensive almost unused add-in cards. Optane had so much mass-market potential, sadly I think it’s screwed now for use outside the datacentre. Intel of all people should know how tiered storage works, why did they screw it up so badly? They even had a shining example in Apple’s Fusion drive to follow (copy) but still messed it up.
  • Jorgp2 - Monday, November 2, 2020 - link

    Have you considered asking supermicro for a skylake GT4e review sample?
  • f00f - Monday, November 2, 2020 - link

    That's intel's vision of "embedded" DRAM which is only a kind of embedded, because it is on a separate die. If you look for a proper implementation, look at POWER7 processor (2010) with L3 as eDRAM on the same die as cores.
  • jospoortvliet - Wednesday, November 4, 2020 - link

    I am a bit surprised amd didn't embed 32 or 64mb memory in the i/o chip... that would probably be relatively easy and affordable.

Log in

Don't have an account? Sign up now