I think we're already there. Ivy Bridge machines from 2012 can still get the job done today if paired with a solid complement of RAM and an SSD.
Graphics is really the only area where those older machines are starting to be a limfac, as their inability to drive the latest 4K+ displays is starting to be more of an issue for normal people.
Otherwise, I was very happy with it in terms of performance.
I kept upgrading GPU and seeing only 20-30% CPU use while gaming. It was fine.
Some changes to how we build these things would be nice.
The heavily integrated motherboard model should die. A PCI slot on my old board made the whole system flake.
Discrete components I can stack are more my dream design. If my old CPU had been a sealed unit of some kind with a physical connector to the GPU, power, and such, and I could have simply swapped out the faulty port expansion “module”, that would be slick.
But one PCI port flaking means I have to bail on an otherwise perfectly functional CPU, RAM, PSU, and cooling kit.
Depending on your needs, we're been there for at least 10 years. I don't expect to have to upgrade (not counting increasing memory or storage as "ugrading") or replace any of the systems I own right now until they're over 10 years old. About half of my current machines are approaching their 10 year anniversary. Two are older than that. None of them need upgrading.
It seems unlikely that hardware improvements have stalled out right at the point where the performance level was just good enough.
Sure, it requires work to move off the legacy single-thread paradigm but it's also the economics of the software business these days. When you combine the increased control/lockdown by the mainstream platform owners and the decreasing willingness of customers to pay for software in the era of no-cost software, there isn't much incentive for new applications to appear. Notice that all of the major players are mostly focused on services and server side for the heavy lifting these days. It's not because the user hardware can't do it (hell, on the server side, CPUs and GPUs tend to be less powerful per-core), it's that it makes more economic sense for them to not bother doing interesting things on the users device.
It’s no accident that the biggest advances in the last ten years have been in areas not limited by single thread performance; machine learning & cloud computing.
For my needs? No. It's not that more performant systems (including software) aren't available, it's that they don't offer me any real benefit that justifies the hassle of replacing and reconfiguring my existing systems.
However the popular "ultra" books and similar have to integrate more heavily to get close to 1". Even fans become hard to replace. Often there's no dimms (so you can't replace or add ram), even storage can be on the motherboard.
They are close to disposable unfortunately.
is it a consumer grade or corporate model?
If you consider how far CPUs went in the ten years of Pentium 4 to Sandy Bridge vs Sandy Bridge to now... we certainly arrived to a plateu.
Modern processors are faster than Sandy Bridge, but not by an overwhelming amount, and it's not clear how much of the improvement is due to smaller transistor sizes now that they no longer result in clock speed increases, rather than design improvements that are independent of transistor size.
There has to be a market for something with 80% of the performance and 2000% the reliability.
20 years ago we had Pentium 3 500MHz, 2 FLOPs/cycle, 1 GFlops.
GPU of my desktop PC computes 11 TFlops, that's 4+ orders of magnitude faster.
For CPUs alone it's indeed less impressive, $500 for that P3 inflated to $760, the comparable modern CPU is Threadripper 2920X, 16 flops/cycle * 12 cores * 3.5 GHz = 672 GFlops.
But they’re much lower quality (less flexible) FLOPs. If you don’t have much data parallelism or heavy conditional logic for each datum, you’re not going to come close to 11 teraflops.
Update: also, for other tasks, GPU flops are of higher quality than CPU.
VRAM bandwidth is ridiculous, much higher than system RAM, computations that are bound by RAM bandwidth will be much faster.
GPUs mask RAM latency with hardware multithreading, if your code is parallel and needs to access large amount of data randomly, a GPU will saturate these flops, a CPU will sleep most of the time waiting for data to arrive.
CPUs can be faster for RAM bandwidth-bound code, if there's not that much data and it fits in caches at least L3, CPU cache bandwidth is very good.
GPUs can be faster for heavily conditioned code. If it's the condition on RAM value, a CPU will stall or mispredict branches, both slow, a GPU will switch to another hardware thread which is very fast.
Despite these differences, I find flops quite useful in practice to compare performance of different computers across architectures of generations. Computers compute, flops measure how fast they do.
Using double precision SSE scaler ops, the Pentium III could execute one addition and one multiplication per cycle. (The throughput was the same with vector math because the Pentium III only had 64-bit SSE units. So a 128-bit packed multiply and a 128-bit packed add, four double precision operations, executed over two cycles.)
The only difference is that CPU computes stuff on 4-wide vectors of these numbers (modern CPUs up to 16), that GPU on 32-wide vectors (other modern GPUs up to 64).
But the comparison is against an old CPU, without big vector units.
Those non-vector calculations are very different, and far more flexible.
A brand new CPU core can do 3-4x as many separate operations per cycle, and is clocked 6-10x as fast.
Having more cores helps but it's still far behind.
Also for a fair price/performance ratio you probably want to compare to the 450MHz model at $230, so only a $350 CPU today ($280 equivalent by august). https://money.cnn.com/1999/08/23/technology/intel/
They’re both very flexible, just different.
For example, GPUs are better at vectorized condition code. CPUs were mostly fixed with AVX512 but these instructions are too new, only available on some servers.
Sure, there’re algorithms which don’t work on GPUs. A stream cipher would be very slow because requires single-thread performance, also GPUs don’t have AES hardware. A compiler is borderline impossible because inherently scalar and requires dynamic memory. Also GPUs don’t do double-precision math particularly fast.
Still, I think many users who need high-performance computing can utilize GPUs. They’re trickier to program, but this might be fixable with tools/languages, we have been programming classic computers for ~70 years, GPGPUs for just 12.
That's throughput, not flexibility. I would define flexibility in terms of how easily the instruction stream can vary per math operation. Full flexibility requires a lot more transistors per FLOP, which is why you can't use wildly different architectures to assess Moore's law, which is about transistor count.
And comparing transistors on Pentium 3 (including cache) to an RTX 2060 (including cache) it seems to be 34 million vs. 10800 million. That's two and a half orders of magnitude.
I used an i5-2500k for 7 years. Only retired it because the rest of the computer was falling apart and I had already had too many computers. I think that a CPU built in $CURRENT_YEAR will be completely usable in 10 years.
I think we're a year or two away before beefy, AAA games begin demanding 4 GHz minimum, and new CPUs barely offer over 4 GHz clocks as it is, so... we've already been there!
CPU power's been flatlined, especially when you compare it to GPU power.
Your overall point is accurate, but your metric is not.
But I'm far from an expert here (just an enthusiastic consumer), so what you're saying is news to me. The more flowers you can lay at what looks like the grave of Moore's law, the better. I don't like being a pessimist! :3
0: http://www.carestreamblog.com/blog/wp-content/uploads/2015/0...
1: https://images.anandtech.com/reviews/mac/MacPro2013/cpugpu.p...
CPU performance isn't increasing nearly as quickly as it used to, but it isn't stagnant. AMD's Zen 2 architecture looks incredibly promising. Credible leaks suggest a 16c/32t Ryzen 9 running at 4.3GHz base, with a 25% IPC improvement over the previous generation.