Table of Contents
Of the many (too many!) desktop CPU’s that Intel has released this year there are two that stand out — Skylake-X and Coffee-Lake. In this post I’ll look at the numerical computing performance of the Intel core i7-7800X and the 8th generation core i7-8700K.
For the impatient:
Skylake-X 6-core beats Coffee-Lake 6-core by about 40%
I judge CPU’s by the maximum raw compute performance they can deliver. For that judgment I can’t think of anything better than the Linpack benchmark. The Linpack benchmark optimized with the Intel Math Kernel Library (MKL) is very near the peak theoretical floating point performance for Intel CPU’s.
The Linpack benchmark is a numerical solution of a system of linear equations. It involves matrix operation that are typical in mathematical and scientific applications. It is efficiently parallel on individual multi-core processors and can scale well on large compute clusters. It can be optimized to take advantage of special processing hardware in a CPU like Intel’s AVX vector units and Fast Multiply Add (FMA) units. It is also the main benchmark that is used to rank the Top500 fastest supercomputers in the world. So, why not use it to see what modestly priced desktop processors can do!
I recently did a blog post titled Intel Core-i9 7900X and 7980XE Skylake-X Linux Linpack Performance. I was stunned by compute capability of the Skylake-X core i9 processors. They range in core count from 10 to 18 and provide 44 PCIe lanes. They are great processors but they are a little expensive. The core i7 processors we are looking at in this post are more modest 6-core processors that provide fewer PCIe lanes but are both priced nearly the same (under $400). They are tempting offerings for a desktop system that will occasionally get some serious compute workloads.
Brief comparison of the CPU’s
Intel Core i7-7800X and i7-8700 Features
|Cache||8.25 MB||12 MB|
|TDP||140 W||95 W|
|Max Mem||128 GB (512 Reg**)||64 GB|
|Max PCIe lanes||28||16|
The features that will have the biggest impact on compute performance are core clocks, AVX unit and Cache. The high clock speeds, fast memory, large cache and low power consumption of the Coffee-Lake processor is very compelling. However, the last item in the table above, AVX, can have a significant impact on numerical compute performance.
*Note: Clock frequency observed during 6-core benchmark run.
** Registered memory can be used on some X299 motherboards allowing up to 512GB memory
*** Hyper-threading is basically useless for this workload. However, in general, I recommend checking to see if there is a performance benefit.
Intel Core i7 7800X 3.5GHz Six Core
EVGA X299 Micro mATX Motherboard
64 GB DDR4-2400 Memory
Intel Core i7 8700K 3.7GHz Six Core
Gigabyte Z370 Motherboard
64GB DDR-2600 Memory
Ubuntu 16.04 kernel 4.13
Intel MKL 2018 (Math Kernel Library)
Intel optimized Linpack Benchmark
I’m running Linux for this testing but there is no reason to expect that the same workloads on Windows 10 would show any difference in performance.
The table below and the following chart makes it clear that the AVX512 vector unit on the Skylake-X processor is significantly more important than the higher clock frequencies on Coffee-Lake for this type of workload.
Intel Core i7-7800X and 8700K Linpack GFLOPS
|CPU Cores||i7-7800X GFLOPS||i7-8700K GFLOPS|
The following chart show the significantly better performance of the core i7-7800X over the i7-8700K when using 1, 2, 4, and 6 cores running the Linpack benchmark.
Which to choose?
It is not really as clear cut as the results above might suggest! The Coffee-Lake processor has a high clock frequency and fast memory and just with a desktop install it just “feels” fast. We have also done other testing that shows that it is indeed fast! Many applications perform very well on Coffee-Lake. The Skylake-X processors are probably better suited for workstation applications. It’s well suited for researchers that are using applications or writing code that makes heavy use of numerical linear algebra. Linking with Intel MKL for matrix operations or using the Intel compilers auto (or manual) vectorization tools could give a significant speed boost to programs when running on these new Skylake (or Xeon Purley) processors.
For me personally? Skylake-X! But, I want the core i9 versions with higher core count and more PCIe lanes. I may be getting myself a nice Christmas present this year 🙂
Happy computing –dbk