1 / 21

CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)

CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU). Courtesy David Luebke, University of Virginia. Introduction. The GPU on commodity video cards has evolved into an extremely flexible and powerful processor Programmability Precision Power

snana
Download Presentation

CSE 690 General-Purpose Computation on Graphics Hardware (GPGPU)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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

  4. Motivation:Computational Power GPU CPU Courtesy Naga Govindaraju

  5. 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

  6. 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

  7. 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

  8. 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!

  9. 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

  10. Course Topics • GPU building blocks • Languages and tools • Effective GPU programming • GPGPU case studies

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

  12. 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

  13. 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

  14. 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

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

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

  17. 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

  18. 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

  19. Course Schedule • Computer graphics and visualization: • raytracing • photon-mapping • shadows • radiosity • amorphous phenomena • volume rendering

  20. 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

More Related