Karl Rupp, a computational scientist, writes about CPU and GPU hardware trends and performance of numerical software.
HN cites his microprocessor trend data to show that single-thread performance gains have slowed while performance per watt keeps improving.
Excellent work!
From the latest data (https://www.karlrupp.net/2018/02/42-years-of-microprocessor-trend-data/) you can definitely see that single-threaded performance is still increasing but not at the exponential clip it was. The inflection point for that is around the mid-2000s. It is hard to eyeball because the chart is logarithmic but the rate of increase looks to be sub-exponential for the past decade or so.
MHz and Watts have clearly levelled off.
Number of logical cores looks to be on an exponential path so clearly we need to be tracking multi-threaded performance gains. Unlike your work this only needs to be backdated to the mid-2000s – multi-core ramps up when single-threaded starts ramping down – so it should be far easier.
Pretty much all applications take advantage of multi-threading now, be it multi-processing or multi-threading. Erlang is the only language I know of that has the multi-threaded paradigm baked into its core. Ruby has had Fibers since 2.2 so they are very much a tacked on idea. Perhaps what we need is to retrofit them to C, come up with an abstract machine model and language primitives that fits our multi-core world. We could call it C[].
> the new CPU it's about 20% faster then the old one
Source? I suspect you're being shown a few choice benchmarks which demonstrate some improvement, perhaps where something became newly vectorizable...but realistic and consistent benchmarking doesn't show nearly that level of improvement.
One area in which you may benefit is in peripherals - an M.2 SSD and DDR4 RAM will help, and those aren't available on 5 year old motherboards. Also, power savings may be found with newer systems if you're in a laptop form factor where that matters.
But let's not pretend that single-threaded performance has doubled in 5 years. Here's one article that goes back quite a ways....and 2012 SPECint comes in at about 60,000 while 2017 comes in at 83,600.
https://www.karlrupp.net/2018/02/42-years-of-microprocessor-trend-data/
firstly Google was founded in 1998 that is 23 years ago.
Secondly from 2000 - 2018 the internet went form having ~17.000.000 unique domains to having ~1.600.000.000 unique domains. see: https://www.internetlivestats.com/total-number-of-websites/
The performance for desktop computers have actually not increased as much as you would think: https://www.karlrupp.net/2015/06/40-years-of-microprocessor-trend-data/
Your assumption is correct if you look at supercomputers, where the fastest in the world in 1999 could produce ~2.3 TFLOPS and in 2018 it could produce 122 PFLOPS which is around 5000 times the increase in FLOPS.
But i doubt most of the people you would want to go through this index has access to a super computer.
Intel is in no way losing the HPC market. There are lots of algorithms (like all incompressible CFD, so all car/boat design, even sparse matrix multiply) that gets essentially zero benefit of GPU. At most, I'd say half the popular HPC use cases see significant GPU benefit.
Karl Rupp has a very good series of CPU and GPU performance comparisons, recently updated:
https://www.karlrupp.net/2013/06/cpu-gpu-and-mic-hardware-characteristics-over-time/
Most of the "no GPU benefit" stems from algorithms having low FLOPS per byte. Look up Collella's Seven Dwarves for more details.
And even if we assume GPUs become dominant, Intel is going to sell at least one Xeon for every two Teslas; those GPUs need host CPUs.
Performance/watt is improving greatly! Look at this plot [1] from about 2013 showing the theoretical perf/w of CPUs up to Ivy Bridge, and GPUs up to NVIDIA Kepler GK110 and AMD Hawaii XT. Since than both Intel with Haswell (and Skylake on Desktop) as well as NVIDIA Maxwell and AMD Fiji have improved tremendously
The same article [3] shows clearly [2] that max TDP has increased a bit.
[1] https://www.karlrupp.net/wp-content/uploads/2013/06/gflops-per-watt-sp.png
[2] https://www.karlrupp.net/wp-content/uploads/2013/06/tdp.png
[3] https://www.karlrupp.net/2013/06/cpu-gpu-and-mic-hardware-characteristics-over-time/
Actually not true. Perhaps surprisingly, CPUs and GPUs are progressing at about the same rate if you look at the high end. GPUs are all about massive parallelism, and if you compare against high end Xeons, the CPU core count increases plus things like AVX512 & FMA means they have been scaling similarly to GPUs over the past 10 years or so.
Nice analysis here (URL says 2013 but he has updated his numbers to end-2016). Looking at the graphs, you might even conclude that CPUs are improving faster in some respects.
https://www.karlrupp.net/2013/06/cpu-gpu-and-mic-hardware-characteristics-over-time/