This article was reprinted with permission from Superpower.com.
The GPU cannot replace the CPU. Similarly, the CPU cannot replace the GPU.
If the image is understood, A GPU is like a group of ants. These ants all do the same thing. The CPU is like a monkey. The monkey is doing different things.
Fundamentally, CPUs and GPUs have different purposes, and they have different focuses. They also have different performance characteristics. In some jobs, the CPU executes faster. In another job, the GPU may be better.
When you need to do the same thing with a lot of data, the GPU is more appropriate. When you need to do a lot of things with the same data, the CPU is just right.
However, in practical applications, the latter situation is more, that is, the CPU is more flexible and capable of more tasks. What can GPU do? Regarding graphics and large-scale matrix operations, such as machine learning algorithms, mining, and brute force cracking. Passwords, etc. The GPU will help.
general speaking, The CPU is good at complex operations such as branch prediction. The GPU is good at simple operations on large amounts of data. One is complex labor, and the other is a lot of parallel work.
in fact GPU can be seen as a dedicated CPU , designed for single instruction work on large blocks of data, these data are the same operation.
To know that processing a large block of data is more efficient than processing one data at a time, the overhead of executing instructions will be greatly reduced. Because processing large blocks of data means that more transistors are needed to work in parallel, flagship graphics cards are now worth more than 10 billion. The transistor.
The purpose of the CPU is to execute a single instruction on a single data as fast as possible. Because it only requires a single instruction for a single data, the number of transistors needed is much less.
Current mainstream desktop CPU transistors are all under one billion, which is more than ten times higher than top-level GPUs, but it requires a larger instruction set, more complex ALU (Arithmetic Logic Unit), better branch prediction, and better virtualization architecture. , Lower delays, etc.
In addition, like our operating system Windows, which is written for x86 processors, it needs to do the task execution process, it is certainly more efficient on the CPU, you want each thread's task is not the same, basically difficult to parallel The GPU can not fully play its strengths.
Then, it can be foreseen that in the future, as the CPU further strengthens the ability to process data blocks, we will see a convergence between CPU and GPU architectures, and with the advancement of manufacturing technology and the shrinking of chips, GPUs can also undertake more complex instruction.
Although the division of labor between the CPU and the GPU is still quite different, the intersection between the two will undoubtedly be more.