What is GPU (Graphics Processing Unit)?
“The GPU is a processor that is made up of many smaller and more specialized cores. By working together, the cores deliver massive performance when a processing task can be divided up and processed across many cores.” – intel.in
In simple words, GPU (Graphics Processing Unit) is a processor which has many cores and it is designed to perform a specific task e.g. graphics processing/rendering.
CPU is ideal for most of the general purpose tasks such as surfing the web, creating documents, basic gaming, etc. but CPU performance is good with serial processing. But when tasks like heavy graphics rendering, image and video processing, heavy graphics gaming CPU fails to keep up, here is when GPU comes into the scene with its many cores it can process all the tasks parallely.
GPU helps us with heavy graphics rendering, it improves gaming experiences, it also improves image and video processing/rendering.
CPU vs GPU
Although both CPU and GPU are designed for computing, both of them are silicon based microprocessors, but both are designed for different purposes.
|Low latency||High Throughput|
|Compute density is low||Compute density is high|
|Ideal for serial processing||Best for parallel processing|
|Few execution units (ALU)||Many parallel execution units (ALU)|
|Shallow pipeline||Deep pipeline|
|Designed for general purposes like surfing the web, creating documents, etc.||Primarily designed for heavy graphics rendering example 3D gaming, image and video editing and rendering.|
Basic structure of GPU
ALU – Arithmetic Logical Unit
DRAM – Dynamic Random Access Memory
What is the need of GUP?
Earlier our CUPs were capable of rendering images/videos and graphics. As we know that back then the quality of graphics, videos, images and games was very low, and processing/rendering was possible with CPU.
As the quality of graphics increased, video quality was also increasing e.g. now we were talking about 4K videos.
Gaming industries started using ray tracing, high quality texturing, etc. VR (Virtual Reality), AR (Augmented Reality) were making their ways in the market.
Now processing/rendering all of these was very tough for CUP because CUP was built for more general purpose uses, since GPU became a necessity.
Please allow us to explain.
Suppose we want to move this which is in 3D space to another position, then we have to perform something called matrix calculation.
E.g. In Image 1, the current position of this point is (x,y,z) these coordinates values are stored in matrix format, now if we want to move this point then we have to multiply it’s positional matrix with 3D translation matrix.
In calculation shown in Image 2, the first matrix is 3D translation matrix, second matrix is which stores current position of matrix and resultant matrix is the new positional matrix for that point.
We know that to perform transformation (moving in all directions, increasing and decreasing size and rotation) on any object in game we need to perform matrix calculations. We also know that every object in the game is created using many small planes(triangles or squares).
Following are the 3D transformation matrices.
Let's take an example
We can see that the above car model is designed using square planes, and there are so many vertices, now if we want to move this car in our game then each and every vertex’s positional matrix must be multiplied with 3D translation matrix.
Now a car is just one model in the game there are many other models like surroundings e.g. streets, mountains, trees, roads, etc. and these will also have many vertices.
As the car moves there will be change in surrounding so we have to perform transformation matrix all the time on all the objects in the scene.
This is where things get difficult for the CPU, because the CPU is designed for serial processing and performing matrix calculation continuously needs parallel processing.
Here is when GPU comes into the scene with its parallel processing and many ALUs it can handle continuous matrix calculation and also other aspects like FPS, Ray tracing, etc.
Types of GPU
There are two types of GPU
As the name says, GPU is built into the same motherboard with CPU. Here CPU and GPU share the same memory.
It’s also known as IGPs (Integrated Graphics Processors). Integrated GPU are hard to update. This type of GPU can be found in laptops, and Desktop computers/PC.
This GPU is a separate component which is added on the motherboard to enhance the performance of the system. Discrete GPU has its own memory, which results in great graphics processing/rendering.
Advantages of GPU
- Drastic improvement in system performance.
- Increase in graphics performance(Processing/Rendering).
- It will enhance gaming experience.
- We can smoothly connect and run multiple monitors.
- Much better VR (Virtual Reality) performance.