Why the need for CPUs?

At every other turn I'm hearing about how GPUs have overtaken CPUs massively as far as processing power, number of cores, etc. goes.
So why do we need CPUs exactly? Why not just two NVidia or AMD chips?
Is this all driven by legacy instruction sets in the OS?
CPUs are more flexible than GPUs in their instruction sets and capabilities. GPUs are dedicated to specific tasks, CPUs can do a lot more types of work.
 
The GPU in the system excels at a limited set of tasks. These tasks are:
* Video compression / decompression
* 3D graphics rendering, manipulation and calculations required

The system's processor is far more flexible and designed to host a wide variety of operating systems.

GPU has not overtaken the CPU massively. Rather, processing intensive tasks have been implemented in hardware in the GPU and offloaded to the GPU.
 
At every other turn I'm hearing about how GPUs have overtaken CPUs massively as far as processing power, number of cores, etc. goes.
So why do we need CPUs exactly? Why not just two NVidia or AMD chips?
Is this all driven by legacy instruction sets in the OS?
GPUS are like a Formula 1 car. It will absolutely blow everything else out of the water for a very specific task. However if an F1 car would be absolutely useless for going shopping with your family.
A CPU is like a big family SUV, it can pretty much do everything to a reasonable degree to some level. It can go quite fast, it can go a lot of places, you can put more people and items in it.

To get more technical, GPUS are processors optimised for parallel computing. The math required to calculate what a 3D object should look like on a screen is easily run in parallel, so GPUs were developed to take advantage of it. CPUs on the other hand can handle things like networking, AI, application state computations, IO and so on much better than a GPU can.

To get to a math level, which is really what computers are doing, GPUs are processors designed to perform matrix algebra as fast as possible, if you can express your problem in the form of matrices, a GPU will absolutely demolish it. If you cannot express your problem in terms of matrix operations, then a regular CPU will be much faster.

Why GPUs are getting a lot of attention is because a lot of problems can be expressed in the form of matrix operations. Simulations, machine learning, graphics, are all very matrix intensive calculations, thus faster GPUs means more powerful simulations, better graphics and more useful machine learning models.
 
Last edited:
Parallel vs serial processing, instruction sets, almost everything we use today has its origins firmly set because of IBM's work done in the 80's to develop the "PC" - couple that with the likes of Microsoft & Intel under Wintel systems, almost everything today is because of that fine fine x86 wine.

Rather think of a GPU as a co-processor, designed to do certain jobs really well, as far as maths goes, matrix multiplication.

The closest you'll get to a GPU running an operating system would probably be the likes of the Nvidia A30X or A100X cards, but those are technically still running the OS/networking/etc functions on an ARM CPU.
Basically Bluefield2 glued to a GPU.

The AI datacenter of the future is just gonna be chassis providing power to cards like these, and a lot of networking.
 
Parallel vs serial processing, instruction sets, almost everything we use today has its origins firmly set because of IBM's work done in the 80's to develop the "PC" - couple that with the likes of Microsoft & Intel under Wintel systems, almost everything today is because of that fine fine x86 wine.

x86 wasn't the finest wine, just the one that got the biggest foothold, kinda like betamax vs VHS etc.

The m68k was a better cpu at the time but here we are today.
 
At every other turn I'm hearing about how GPUs have overtaken CPUs massively as far as processing power, number of cores, etc. goes.
So why do we need CPUs exactly? Why not just two NVidia or AMD chips?
Is this all driven by legacy instruction sets in the OS?
You don't get a mathematician to do your dental work,or build your house
GPU's good at math,and little else
 
Parallel vs serial processing, instruction sets, almost everything we use today has its origins firmly set because of IBM's work done in the 80's to develop the "PC" - couple that with the likes of Microsoft & Intel under Wintel systems, almost everything today is because of that fine fine x86 wine.

Rather think of a GPU as a co-processor, designed to do certain jobs really well, as far as maths goes, matrix multiplication.

The closest you'll get to a GPU running an operating system would probably be the likes of the Nvidia A30X or A100X cards, but those are technically still running the OS/networking/etc functions on an ARM CPU.
Basically Bluefield2 glued to a GPU.

The AI datacenter of the future is just gonna be chassis providing power to cards like these, and a lot of networking.
NVIDIA Tegra, Jetson and other families are that. GPU married to an ARM CPU. I run Ubuntu on the CPU and load NVIDIA's proprietary blobs for the GPU to work as it should.
 
At every other turn I'm hearing about how GPUs have overtaken CPUs massively as far as processing power, number of cores, etc. goes.
So why do we need CPUs exactly? Why not just two NVidia or AMD chips?
Is this all driven by legacy instruction sets in the OS?
Afreed. We don't need our fpu either :mad:
 
Afreed. We don't need our fpu either :mad:
The FPU was integrated into the CPU in the x86 architecture from the 80486 onwards...

The x86 architecture is inefficient both from a processing and power point of view. This is why the world is going the ARM route, Apple took the first step.
 
The FPU was integrated into the CPU in the x86 architecture from the 80486 onwards...

The x86 architecture is inefficient both from a processing and power point of view. This is why the world is going the ARM route, Apple took the first step.
ag oulik. is jy niet so fokken slim..

/toffee
 
I haven't read all the responses, but I feel like the question is the wrong way around. Why do we still need GPU's? Well, basically with APU's we don't. Even when it comes to graphic rendering a lot of technologies make use of CPU. GPU's are good at a single task, CPU's are good at multi tasks. I do think there is of course a place for both. But if need be, we don't neet GPU's. I am not as clever as you folks, but that is how I understand it. Would hate to run a system only of a GPU, no matter how strong it is. I won't be surprised if GPU's start coming with CPU's.

Anyways, that'd too much for my brain today.
 
At every other turn I'm hearing about how GPUs have overtaken CPUs massively as far as processing power, number of cores, etc. goes.
So why do we need CPUs exactly? Why not just two NVidia or AMD chips?
Is this all driven by legacy instruction sets in the OS?
GPUs are 10-100x slower at running a single series of dependent instructions than a CPU. This is because the clocks are slower, the instruction latency is much longer, the cache latency is much longer, the caches are much smaller (per core). They also have relatively immature support for things such as out of order execution, branch prediction and speculative execution. Their cores also always execute a “warp” (instruction running on 16-64 data elements) regardless of how many threads are actually being used, which makes it power inefficient for single instruction single data logic.

There are a lot of apps that are performance limited by a single chain of dependent instructions, which is why a GPU is a poor choice for them.

When you’ve got a series of single instruction that you need to run on a lot of data, this is where GPUs shine. This is common for graphics, linear algebra, and many other mathematical operations, which is why GPUs shine here.
 
The GPU in the system excels at a limited set of tasks. These tasks are:
* Video compression / decompression
* 3D graphics rendering, manipulation and calculations required

The system's processor is far more flexible and designed to host a wide variety of operating systems.

GPU has not overtaken the CPU massively. Rather, processing intensive tasks have been implemented in hardware in the GPU and offloaded to the GPU.
GPUs can do far more than that. They’ve been doing general compute for the last 16 years or so.

There are graphics operations implemented in hardware (eg texture filtering, rasterization, etc), but the vast amount of die area are cores dedicated to running software.
 
I haven't read all the responses, but I feel like the question is the wrong way around. Why do we still need GPU's? Well, basically with APU's we don't. Even when it comes to graphic rendering a lot of technologies make use of CPU. GPU's are good at a single task, CPU's are good at multi tasks. I do think there is of course a place for both. But if need be, we don't neet GPU's. I am not as clever as you folks, but that is how I understand it. Would hate to run a system only of a GPU, no matter how strong it is. I won't be surprised if GPU's start coming with CPU's.

Anyways, that'd too much for my brain today.
An APU is just a GPU and a CPU on the same die. That’s a bit like saying, why do we still need trucks when we have SUVs. ;)
 
Top
Sign up to the MyBroadband newsletter
X