Presentation is loading. Please wait.

Presentation is loading. Please wait.

GPUs – Graphics Processing Units Applications in Graphics Processing and Beyond COSC 3P93 – Parallel ComputingMatt Peskett.

Similar presentations


Presentation on theme: "GPUs – Graphics Processing Units Applications in Graphics Processing and Beyond COSC 3P93 – Parallel ComputingMatt Peskett."— Presentation transcript:

1 GPUs – Graphics Processing Units Applications in Graphics Processing and Beyond COSC 3P93 – Parallel ComputingMatt Peskett

2 What We’ll Cover Today COSC 3P93 – Parallel ComputingMatt Peskett A Brief History of the GPU GPU – Definition and difference from CPU Memory – DDR vs. GDDR Uses of GPUs in graphics processing Uses of GPUs outside of graphics processing

3 History of the GPU COSC 3P93 – Parallel ComputingMatt Peskett Whirlwind Flight Simulator (1951) One of the first ventures into digital computing (previously analog)

4 History of the GPU COSC 3P93 – Parallel ComputingMatt Peskett Lincoln Laboratory at MIT Whirlwind flight simulator

5 History of the GPU COSC 3P93 – Parallel ComputingMatt Peskett Whirlwind Flight Simulator (1951) One of the first ventures into digital computing (previously analog) Atari 2600 (1977) Major enhancement in consumer-oriented graphics hardware

6 History of the GPU COSC 3P93 – Parallel ComputingMatt Peskett Atari 2600 console Basketball (1978)

7 History of the GPU COSC 3P93 – Parallel ComputingMatt Peskett Whirlwind Flight Simulator (1951) One of the first ventures into digital computing (previously analog) Atari 2600 (1977) Major enhancement in consumer-oriented graphics hardware IBM Monochrome Display Adapter (1981) Produced 720 x 350 resolution

8 History of the GPU COSC 3P93 – Parallel ComputingMatt Peskett Character set of the MDA IBM 5151 with green monochrome text from MDA Basketball (1978) MDA Card

9 What makes a GPU a GPU? COSC 3P93 – Parallel ComputingMatt Peskett Specialized for SIMD operations

10 What makes a GPU a GPU? COSC 3P93 – Parallel ComputingMatt Peskett A visual distinction: https://www.youtube.com/watch?v=-P28LKWTzrI

11 What makes a GPU a GPU? COSC 3P93 – Parallel ComputingMatt Peskett CPU processing core (left) vs. GPU processing core (right)

12 What makes a GPU a GPU? COSC 3P93 – Parallel ComputingMatt Peskett GPUs are optimized for floating point operations

13 What makes a GPU a GPU? COSC 3P93 – Parallel ComputingMatt Peskett Minimal control infrastructure to enhance throughput

14 What makes a GPU a GPU? COSC 3P93 – Parallel ComputingMatt Peskett CPUs can handle a lot of what a GPU does – but not nearly as well

15 Why have both a GPU and CPU? COSC 3P93 – Parallel ComputingMatt Peskett Executing serial code with a GPU is slower than on a CPU Operating systems and user applications have a large portion of serial code Rewriting applications to utilize GPU is often not worth the investment in time Too much variety in operations; some are best handled by the CPU and others by the GPU

16 GPU Memory vs. CPU Memory COSC 3P93 – Parallel ComputingMatt Peskett DDR – Double Data Rate GDDR – Graphics Double Data Rate

17 GPU Memory vs. CPU Memory COSC 3P93 – Parallel ComputingMatt Peskett Memory architectures (UMA, NUMA, and hUMA)

18 Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett The graphics pipeline

19 Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett 1) Vector shader

20 Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett 2) Projection

21 Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett 3) Clipping

22 Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett 4) Rasterization

23 Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett 5) Pixel shader

24 Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett Texture mapping

25 Graphical Applications of GPUs COSC 3P93 – Parallel ComputingMatt Peskett Coherence

26 General Purpose GPUs COSC 3P93 – Parallel ComputingMatt Peskett Origins

27 General Purpose GPUs COSC 3P93 – Parallel ComputingMatt Peskett GPGPU models: Brook+, OpenCL & CUDA

28 CUDA Example COSC 3P93 – Parallel ComputingMatt Peskett

29 CUDA Example COSC 3P93 – Parallel ComputingMatt Peskett

30 CUDA Example COSC 3P93 – Parallel ComputingMatt Peskett

31 CUDA Example COSC 3P93 – Parallel ComputingMatt Peskett

32 CUDA Example COSC 3P93 – Parallel ComputingMatt Peskett

33 CUDA Example COSC 3P93 – Parallel ComputingMatt Peskett

34 Additional Resources COSC 3P93 – Parallel ComputingMatt Peskett Intro to Parallel Programming – Using CUDA to Harness the Power of GPUs https://www.udacity.com/course/intro-to-parallel-programming--cs344 GPU Programming for the Rest of Us http://www.clustermonkey.net/Applications/gpu-programming-for-the-rest-of-us.html OpenGL Tutorials (Basic to advanced) http://www.opengl-tutorial.org/ Parallel Computing for Graphics: Beyond Programmable Shading (Course delivered at SIGGRAPH Asia 2008, very interesting and still relevant) http://sa08.idav.ucdavis.edu/


Download ppt "GPUs – Graphics Processing Units Applications in Graphics Processing and Beyond COSC 3P93 – Parallel ComputingMatt Peskett."

Similar presentations


Ads by Google