GPUs - Graphics Perspective

0.0(0)
studied byStudied by 1 person
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/13

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

14 Terms

1
New cards

What is a Graphics Processing Unit (GPU)?

  • Designed to handle more complex mathematical and geometric calculations required for graphics rendering

  • On average, have more transistors and a larger density of computing cores with more ALU than a normal CPU

  • It is a specialised processor designed to handle computations related to images, video, and graphics rendering

  • Also used in AI, data science, and scientific computing

  • Like "graphic engines" that help computers draw faster

2
New cards

GPU vs CPU

Feature

CPU (Central)

GPU (Graphics)

Purpose

General-purpose processor designed to handle a wide variety of tasks

Optimised for sequential task execution and complex logical operations

Ideal for running OSes, apps, and general computing tasks

Specialized processor designed for parallel data processing

Developed for rendering graphics but now used for ML and video processing

Optimized for tasks requiring high throughput

Architecture

Fewer cores (2–64)

Each core is highly powerful and optimized for single-threaded performance

Features a large cache memory for faster access to frequently used data

Thousands of smaller, less powerful cores

Designed for parallel processing of large data sets

Limited cache per core compared to CPUs(high-speed memory)

Performance

Performs better for tasks requiring high sequential processing or logic

Handles I/O operations and general-purpose tasks effectively

Delivers superior performance for tasks that can be parallelized

High floating-point calculation performance - ideal for simulations and AI workloads

Parallelism

Designed for low to moderate levels of parallelism (multi-threading or multi-core)

Massively parallel architecture, ideal for handling thousands of threads simultaneously

Memory

Access to large system memory (RAM) and a larger cache per core for fast data retrieval

Lower memory bandwidth compared to GPUs

Uses high-speed, specialized memory

High memory bandwidth enables fast data transfers during parallel processing tasks

Power Consumption

Consumes less power compared to GPUs for equivalent workloads

Consumes more power than CPUs, especially under heavy loads

Applications

Best for general-purpose tasks like running OS, browsing, word processing, and sequential applications

Best for specialized, parallel tasks like gaming, video rendering, machine learning &simulations

Used in AI, NNs & high-performance computing

Cost

Relatively cheaper for general-purpose computing

More expensive, especially high-end GPUs used in gaming, AI, or data centers

<table style="min-width: 75px"><colgroup><col style="min-width: 25px"><col style="min-width: 25px"><col style="min-width: 25px"></colgroup><tbody><tr><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:1.0368in;padding:4pt 4pt 4pt 4pt"><p>Feature</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.4131in;padding:4pt 4pt 4pt 4pt"><p>CPU (Central)</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:2.9854in;padding:4pt 4pt 4pt 4pt"><p>GPU (Graphics)</p></td></tr><tr><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:1.0368in;padding:4pt 4pt 4pt 4pt"><p>Purpose</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.4131in;padding:4pt 4pt 4pt 4pt"><p>General-purpose processor designed to handle a wide variety of tasks</p><p>Optimised for sequential task execution and complex logical operations</p><p>Ideal for running OSes, apps, and general computing tasks</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.1173in;padding:4pt 4pt 4pt 4pt"><p>Specialized processor designed for parallel data processing</p><p>Developed for rendering graphics but now used for ML and video processing</p><p>Optimized for tasks requiring high throughput</p></td></tr><tr><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:1.0368in;padding:4pt 4pt 4pt 4pt"><p>Architecture</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.4131in;padding:4pt 4pt 4pt 4pt"><p>Fewer cores (2–64)</p><p>Each core is highly powerful and optimized for single-threaded performance</p><p>Features a large cache memory for faster access to frequently used data</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.1173in;padding:4pt 4pt 4pt 4pt"><p>Thousands of smaller, less powerful cores</p><p>Designed for parallel processing of large data sets</p><p>Limited cache per core compared to CPUs(high-speed memory)</p></td></tr><tr><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:1.0493in;padding:4pt 4pt 4pt 4pt"><p>Performance</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.4131in;padding:4pt 4pt 4pt 4pt"><p>Performs better for tasks requiring high sequential processing or logic</p><p>Handles I/O operations and general-purpose tasks effectively</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.0131in;padding:4pt 4pt 4pt 4pt"><p>Delivers superior performance for tasks that can be parallelized</p><p>High floating-point calculation performance - ideal for simulations and AI workloads</p></td></tr><tr><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:1.0368in;padding:4pt 4pt 4pt 4pt"><p>Parallelism</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.4131in;padding:4pt 4pt 4pt 4pt"><p>Designed for low to moderate levels of parallelism (multi-threading or multi-core)</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.0381in;padding:4pt 4pt 4pt 4pt"><p>Massively parallel architecture, ideal for handling thousands of threads simultaneously</p></td></tr><tr><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:1.0368in;padding:4pt 4pt 4pt 4pt"><p>Memory</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.4305in;padding:4pt 4pt 4pt 4pt"><p>Access to large system memory (RAM) and a larger cache per core for fast data retrieval</p><p>Lower memory bandwidth compared to GPUs</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.0131in;padding:4pt 4pt 4pt 4pt"><p>Uses high-speed, specialized memory</p><p>High memory bandwidth enables fast data transfers during parallel processing tasks</p></td></tr><tr><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:1.0562in;padding:4pt 4pt 4pt 4pt"><p>Power Consumption</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.4131in;padding:4pt 4pt 4pt 4pt"><p>Consumes less power compared to GPUs for equivalent workloads</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.0131in;padding:4pt 4pt 4pt 4pt"><p>Consumes more power than CPUs, especially under heavy loads</p></td></tr><tr><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:1.0368in;padding:4pt 4pt 4pt 4pt"><p>Applications</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.4131in;padding:4pt 4pt 4pt 4pt"><p>Best for general-purpose tasks like running OS, browsing, word processing, and sequential applications</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.1173in;padding:4pt 4pt 4pt 4pt"><p>Best for specialized, parallel tasks like gaming, video rendering, machine learning &amp;simulations</p><p>Used in AI, NNs &amp; high-performance computing</p></td></tr><tr><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:1.0368in;padding:4pt 4pt 4pt 4pt"><p>Cost</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.4131in;padding:4pt 4pt 4pt 4pt"><p>Relatively cheaper for general-purpose computing</p></td><td colspan="1" rowspan="1" style="border-style:solid;border-border-width:1pt;
  vertical-align:top;width:3.1173in;padding:4pt 4pt 4pt 4pt"><p>More expensive, especially high-end GPUs used in gaming, AI, or data centers</p></td></tr></tbody></table><p></p>
3
New cards

What do GPUs Accelerate?

  • Rendering 2D & 3D images

  • Image transformations

  • Lighting, shading, textures

  • Motion and frame calculation

  • Real-time updates (for games, simulations, etc)

4
New cards

GPU Architecture Basics

  • Thousands of small cores for parallel processing

  • Memory blocks (VRAM – Video RAM) to store pixel & vertex data

  • Shaders: Small programs run on GPU to determine lighting, colour, etc

5
New cards

Types of GPU

Dedicated GPU :

  • Separate hardware (card) installed in desktops

  • NVIDIA RTX 4080

Integrated GPU:

  • Built into the CPU

  • Uses shared memory

  • Intel UHD Graphics

Cloud GPUs:

  • Provided by cloud services for remote computing

  • Used in AI and large simulations

6
New cards

Shaders

Programs which run on the graphics card to do something and there are lots of different kinds

7
New cards

Types of Shaders

  • Pixel/fragment shaders: these are run for every pixel on the screen; eg, change colour or brightness

  • Vertex shader: run for every vertex being rendered to transform the 3D coord into a 2D screen coord; eg, normal perspective transform, distortion effect

  • Geometry shader: run for every primitive (eg, triangle); eg, tessellate for smoother curves, do tricks for shadows

8
New cards

Why are Shaders important?

They allow developers to:

  • Simulate lighting and shadows

  • Create water, fire, fog, and glass effects

  • Apply textures (images) to 3D models

  • Animate objects in real-time

9
New cards

Shader Languages

Language

Used With

Purpose

GLSL

OpenGL

High-level shading language based on C

Widely used in games and simulations

HLSL

DirectX (Windows)

Used in many PC/console games

Cg

NVIDIA GPUs

Cross-platform (now outdated)

10
New cards

Rendering

converting 3D models into 2D images

11
New cards

How do GPUs support in Rendering

  • Project 3D → 2D

  • Handle colour blending

  • Light/shadow calculation

  • Frame buffering

Result: Smooth, real-time visual output in games and software

12
New cards

Popular GPUs in Graphics

Nvidia GeForce

  • Common in gaming and rendering

  • Technologies: RTX (Ray tracing), DLSS (AI upscaling)

AMD Radeon

  • Good performance for budget

  • Supports OpenCL and DirectX

<p>Nvidia GeForce</p><ul><li><p><span>Common in gaming and rendering</span></p></li><li><p><span>Technologies: RTX (Ray tracing), DLSS (AI upscaling)</span></p></li></ul><p>AMD Radeon</p><ul><li><p><span>Good performance for budget</span></p></li><li><p><span>Supports OpenCL and DirectX</span></p></li></ul><p></p>
13
New cards

General Purpose GPU (GPGPU)

  • This was the idea that you could accelerate non-graphics programs using a graphics card if they happened to use the same calculations

  • This had to be done via “tricks” like encoding values into textures, uploading them, calculating the answer into a new texture, and downloading and decoding that into your data

  • Lots of overhead but could still be faster

  • Very quickly people and manufacturers realised this was a good thing and create ways of doing this without “tricks”

14
New cards

Why GPU is Important for you

  • Essential to Modern AI and ML due to their ability to manipulate large data efficiently

  • Essential for graphics and game development, understanding them is key in game development area

  • Used in Cloud & Data Center Environments, it helps to use cloud resources efficiently

  • Understand parallel algorithms (write GPU code using OpenCL) helps to understand parallel algorithms, memory hierarchy, and optimization, which are highly valuable for performance-critical applications

  • Expands Career Opportunities  Proficiency in GPU computing opens doors in: AI/ML engineering, Data science, Scientific computing and Graphics and visualization

  • Foundation for Future Technologies - Emerging fields like quantum simulation and AR/VR systems rely on GPU - Understanding GPUs prepares for future tech trends