Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU) Courtesy David Luebke, University of Virginia.

Similar presentations


Presentation on theme: "CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU) Courtesy David Luebke, University of Virginia."— Presentation transcript:

1 CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU) Courtesy David Luebke, University of Virginia

2

3 Introduction The GPU on commodity video cards has evolved into an extremely flexible and powerful processor –Programmability –Precision –Power This course will address how to harness that power for general-purpose computation

4 Motivation: Computational Power GPUs are fast… –3 GHz Pentium4 theoretical: 6 GFLOPS, 5.96 GB/sec peak –GeForceFX 5900 observed: 20 GFLOPs, 25.3 GB/sec peak GPUs are getting faster, faster –CPUs: annual growth  1.5×  decade growth  60× –GPUs: annual growth > 2.0×  decade growth > 1000 Courtesy Kurt Akeley, Ian Buck & Tim Purcell, GPU Gems

5 Motivation: Computational Power Courtesy Naga Govindaraju GPU CPU

6 An Aside: Computational Power Why are GPUs getting faster so fast? –Arithmetic intensity: the specialized nature of GPUs makes it easier to use additional transistors for computation not cache –Economics: multi-billion dollar video game market is a pressure cooker that drives innovation

7 Motivation: Flexible and precise Modern GPUs are deeply programmable –Programmable pixel, vertex, video engines –Solidifying high-level language support Modern GPUs support high precision –32 bit floating point throughout the pipeline –High enough for many (not all) applications

8 Motivation: The Potential of GPGPU The power and flexibility of GPUs makes them an attractive platform for general-purpose computation Example applications range from in-game physics simulation to conventional computational science Goal: make the inexpensive power of the GPU available to developers as a sort of computational co-processor

9 The Problem: Difficult To Use GPUs designed for and driven by video games –Programming model is unusual & tied to computer graphics –Programming environment is tightly constrained Underlying architectures are: –Inherently parallel –Rapidly evolving (even in basic feature set!) –Largely secret Can’t simply “port” code written for the CPU!

10 Course Goals A detailed introduction to general-purpose computing on graphics hardware Emphasize: –Core computational building blocks –Strategies and tools for programming GPUs –Tips & tricks, perils & pitfalls of GPU programming Several case studies to bring it all together

11 Course Topics GPU building blocks Languages and tools Effective GPU programming GPGPU case studies

12 Course Topics: Details GPU building blocks –Linear algebra –Sorting and searching –Database operations Languages and tools –High-level languages –Debugging tools

13 Course Topics: Details Effective GPU programming –Efficient data-parallel programming –Data formatting & addressing –GPU computation strategies & tricks Case studies in GPGPU Programming –Physically-based simulation on GPUs –Ray tracing & photon mapping on GPUs –Tone mapping on GPUs –Level sets on GPUs

14 Intended Audience Anyone interested in accelerated computing –from all academic disciplines No graphics background required –will cover all necessary and relevant detail in the course What is required… –working knowledge of C/C++ –linear algebra –enthusiasm and an open mind

15 Course Schedule Understanding the fabric: computer graphics basics Overview of GPUs –architecture –features –programming model –some simple applications System issues –cache and data management, –languages and compilers –stream processing –GPU-CPU load balancing

16 Course Schedule GPU-specific implementations of standard operations: –sorting and searching –linear algebra –signal processing –differential equations –numerical solvers

17 Course Schedule Numerical and scientific computations: –non-linear optimization –FFT –differential equations for rigid body simulation –statistics –fluid dynamics –molecular dynamics

18 Course Schedule Geometric computations: –proximity and collision computations –Voronoi diagrams and distance fields –motion planning and navigation Image processing: –automatic and user-guided interactive segmentation –level-set operations –visual feedback (coupling computational and visualization aspects) Medical imaging: –computed tomography –functional imaging

19 Course Schedule Computer vision and AI: –real-time tracking –surface, shape, and scene reconstruction –reasoning and belief propagation Database computations: –database queries: predicates, booleans, aggregates –streaming databases –data mining and visual data mining

20 Course Schedule Computer graphics and visualization: –raytracing –photon-mapping –shadows –radiosity –amorphous phenomena –volume rendering

21 Course Schedule GPU Clusters –parallel computing environments for GPUs –comparison with other high performance specialized hardware (playstation2 cluster from UIUC) Project presentations –at the end of the term


Download ppt "CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU) Courtesy David Luebke, University of Virginia."

Similar presentations


Ads by Google