30

Basic Graphics Processing Unit (GPU) design concepts

 5 years ago
source link: https://www.tuicool.com/articles/hit/RNJNr2U
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

A graphics processing unit (GPU) is a processor like CPU and TPU for faster graphics processing. Specifically, it designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer to be displayed on a screen.

The parallel structure of a GPU makes it more efficient for algorithms where several components can be executed in parallel such as Machine Learning algorithms/ inference.

In this article, we have explored some of the basic architecture concepts in Graphics Processing Unit (GPU).

Graphics Pipeline

This image summaries the graphics pipeline in a GPU:

bQvYvuJ.jpg!web

You need to understand the following ideas:

  • Vector processing
  • Primitive Processing
  • Rasterization
  • Fragment processing
  • Pixel operations

Vector processing

Each vector is transformed in screen space and processed independently.

U73eEjV.jpg!web

Primitive Processing

The vertices are organized into primitives that are clipped.

Fvyyiab.jpg!web

Rasterization

Primitives are rasterized into “pixel fragments”. Each primitive is rasterized independently.

2Q3quma.jpg!web

Fragment processing

Fragments are shaded to compute a color at each pixel. Each fragment is processed independently.

NZZZ3iA.jpg!web

Pixel operations

Fragments are blended into the frame buffer at their pixel locations (z-buffer determines visibility).

EN7zmaY.jpg!web

There are five pipeline entities:

  • Vertices
  • Primitives
  • Fragments
  • Shaded fragments
  • Pixels
QFbAJzz.jpg!web

Graphics architectures

In this section, we will take a look at how the Graphics pipeline is implemented and how the independent nature of the operations are maintained.

This image demonstrates the architecture of NVIDIA GeForce 8800 developed in 2006:

ZZbqMvq.jpg!web

The above architecture uses the concept of unified shading which is a significant improvement over the basic CPU architecture and is one of the secrets of GPU's speed.

Shader programming model

Shader programming model follows the following ideas:

  • Fragments are processed independently but there is no explicit parallel programming

  • Independent logical sequence of control per fragment.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK