Graphics Processing Unit (GPU) system.ppt

TeddyIswahyudi1 48 views 16 slides Jul 12, 2024
Slide 1
Slide 1 of 16
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16

About This Presentation

A graphics processing unit (GPU) is a specialized electronic circuit initially designed to accelerate computer graphics and image processing (either on a video card or embedded on motherboards, mobile phones, personal computers, workstations, and game consoles). After their initial design, GPUs were...


Slide Content

Introduction
What is GPU?
•It is a processor optimized for 2D/3D graphics, video,
visual computing, and display.
•It is highly parallel, highly multithreaded multiprocessor
optimized for visual computing.
•It provide real-time visual interaction with computed
objects via graphics images, and video.
•It serves as both a programmable graphics processor
and a scalable parallel computing platform.
•Heterogeneous Systems: combine a GPU with a CPU

GPU Evolution
•1980’s –No GPU. PC used VGA controller
•1990’s –Add more function into VGA controller
•1997 –3D acceleration functions:
Hardware for triangle setup and rasterization
Texture mapping
Shading
•2000 –A single chip graphics processor ( beginning of GPU
term)
•2005 –Massively parallel programmable processors
•2007 –CUDA (Compute Unified Device Architecture)

GPU Graphic Trends
•OpenGL –an open standard for 3D programming
•DirectX –a series of Microsoft multimedia programming
interfaces
•New GPU are being developed every 12 to 18 months
•New idea of visual computing:
combines graphics processing and parallel computing
•Heterogeneous System –CPU + GPU
•GPU evolves into scalable parallel processor
•GPU Computing: GPGPU and CUDA
•GPU unifies graphics and computing
•GPU visual computing application: OpenGL, and DirectX

GPU System Architectures
•CPU-GPU system architecture
–The Historical PC
–contemporary PC with Intel and AMD CPUs
•Graphics Logical Pipeline
•Basic Unified GPU Architecture
–Processor Array

Historical PC
FIGURE A.2.1 Historical PC.VGA controller drives graphics display from framebuffer memory. Copyright © 2009
Elsevier, Inc. All rights reserved.

Intel and AMD CPU
FIGURE A.2.2 Contemporary PCs with Intel and AMD CPUs.See Chapter 6 for an explanation of the components and
interconnects in this figure. Copyright © 2009 Elsevier

Graphics Logical Pipeline
FIGURE A.2.3 Graphics logical pipeline.Programmable graphics shader stages are blue, and fixed-function blocks are white.
Copyright © 2009 Elsevier, Inc. All rights reserved.

Basic Unified GPU Architecture
FIGURE A.2.4 Logical pipeline mapped to physical processors.The programmable shader stages execute on the
array of unified processors, and the logical graphics pipeline dataflow recirculates through the processors. Copyright ©
2009 Elsevier, Inc. All rights reserved.

Processor Array
FIGURE A.2.5 Basic unified GPU architecture.Example GPU with 112 streaming processor (SP) cores organized in 14
streaming multiprocessors (SMs); the cores are highly multithreaded. It has the basic Tesla architecture of an NVIDIA
GeForce 8800. The processors connect with four 64-bit-wide DRAM partitions via an interconnection network. Each SM
has eight SP cores, two special function units (SFUs), instruction and constant caches, a multithreaded instruction unit,
and a shared memory. Copyright © 2009 Elsevier, Inc. All rights reserved.

Compare CPU and GPU
Nemo-3D
•Written by the CalTech Jet Propulsion Laboratory
•NEMO-3D simulates quantum phenomena.
•These models require a lot of matrix operations on very large
matrices.
•We are modifying the matrix operation functions so they use
CUDA instead of that slow CPU.

Nemo-3D
Simulation Visualization
NEMO-3D VolQD
Computation
Module
CUDA
kernel

Testing -Matrices
•Test the multiplication of two matrices.
•Creates two matrices with random floating point values.
•We tested with matrices of various dimensions…

Results:
Dim\Time CUDA CPU
64x64 0.417465 ms 18.0876 ms
128x128 0.41691 ms 18.3007 ms
256x256 2.146367 ms 145.6302 ms
512x512 8.093004 ms 1494.7275 ms
768x768 25.97624 ms 4866.3246 ms
1024x1024 52.42811 ms 66097.1688 ms
2048x2048 407.648 msDidn’t finish
4096x4096 3.1 secondsDidn’t finish

In visible terms:CPU versus GPU
y = 10.682e
0.0085x
R
2
= 0.9813
y = 0.3526e
0.0053x
R
2
= 0.9575
0
10000
20000
30000
40000
50000
60000
70000
0 200 400 600 800 1000 1200
Matrix side dimension
Execution time (ms)
CUDA CPU
CPU regression CUDA regression

Test results:Function Execute Time
y = 0.0228x - 0.5522
R
2
= 1
y = 0.0015x - 0.3449
R
2
= 0.9996
0
50
100
150
200
250
300
350
400
450
500
0 5000 10000 15000 20000 25000
Number of Atoms
Milliseconds
CUDA
CPU
CPU trendline
CUDA trendline
Tags