CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)
-
Upload
preston-kline -
Category
Documents
-
view
21 -
download
0
description
Transcript of CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)
![Page 1: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/1.jpg)
CSE 690CSE 690General-Purpose Computation on General-Purpose Computation on
Graphics HardwareGraphics Hardware(GPGPU)(GPGPU)
Courtesy David Luebke, University of Virginia
![Page 2: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/2.jpg)
![Page 3: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/3.jpg)
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
![Page 4: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/4.jpg)
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
![Page 5: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/5.jpg)
Motivation:Computational Power
Courtesy Naga Govindaraju
GPU
CPU
![Page 6: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/6.jpg)
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
![Page 7: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/7.jpg)
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
![Page 8: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/8.jpg)
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
![Page 9: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/9.jpg)
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!
![Page 10: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/10.jpg)
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
![Page 11: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/11.jpg)
Course Topics
• GPU building blocks
• Languages and tools
• Effective GPU programming
• GPGPU case studies
![Page 12: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/12.jpg)
Course Topics: Details
• GPU building blocks– Linear algebra– Sorting and searching– Database operations
• Languages and tools– High-level languages– Debugging tools
![Page 13: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/13.jpg)
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
![Page 14: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/14.jpg)
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
![Page 15: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/15.jpg)
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
![Page 16: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/16.jpg)
Course Schedule
• GPU-specific implementations of standard operations:
– sorting and searching
– linear algebra
– signal processing
– differential equations
– numerical solvers
![Page 17: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/17.jpg)
Course Schedule
• Numerical and scientific computations:
– non-linear optimization
– FFT
– differential equations for rigid body simulation
– statistics
– fluid dynamics
– molecular dynamics
![Page 18: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/18.jpg)
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
![Page 19: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/19.jpg)
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
![Page 20: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/20.jpg)
Course Schedule
• Computer graphics and visualization:
– raytracing
– photon-mapping
– shadows
– radiosity
– amorphous phenomena
– volume rendering
![Page 21: CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)](https://reader033.fdocuments.in/reader033/viewer/2022051620/56813435550346895d9b27f2/html5/thumbnails/21.jpg)
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