Home | english  | Impressum | Datenschutz | Sitemap | KIT

Praktikum General-Purpose Computation on Graphics Processing Units

Praktikum General-Purpose Computation on Graphics Processing Units
Typ: Praktikum
Semester: Wintersemester 2011/12

Mittwoch, 14:00 - 15:30 wöchentlich
Raum 148 (1. Stock)

50.34 Informatik,
Kollegiengebäude am Fasanengarten



SWS: 2
LVNr.: 24297




Exploiting the vast horse power of contemporary GPUs for general purpose applications has become a must for any realtime or interactive application nowadays. Current computer games use the GPUs not only for rendering graphics, but also for collision detection, physics, or artificial intelligence. General purpose computing on GPUs (GPGPU) has also penetrated the field of scientific computing enabling realtime experience of large scale fluid simulations, medical visualization, or signal processing.

This lecture introduces the concepts of programming graphics cards for non-graphical applications, such as data sorting, image filtering (e.g. denoising, sharpening), or physically based simulations. During the course, students familiarize themselves with the architecture of the current GPUs (NVIDIA GTX 480, ATI Radeon 5870) and develop parallel programming skills using the OpenCL and CUDA language.

The practical assignments will cover the following topics:

  • The architecture of contemporary GPUs (execution model, memory model, etc.)
  • Introduction to the OpenCL programming language
  • Introduction to the CUDA programming language
  • Reduction, scanning, and sorting parallel algorithms
  • Efficient parallel algebraic operations (matrix multiplication, linear equations)
  • Image filtering via separable convolution kernels
  • Physics simulation (cloth simulation using particles and springs)
  • Introduction to optimization and profiling on the GPU
Course materials
Introduction     General-Purpose Computation on Graphics Processing Units
Assignment 1     GPGPU: Introduction
    Deadline:  November 2, 2011, 14:00
    Topic:  The basic concepts of the OpenCL programming language wrapped in a simple framework.
Assignment 2     Data-Parallel Algorithms
    Deadline:  November 30, 2011, 14:00
    Topic:  The two fundamental data-parallel algorithms that are often used as building blocks.
Assignment 3     Image Convolution
    Deadline:  December 21, 2011, 14:00
    Topic:  Discrete non-separable and separable convolution.
Assignment 4     Physics Simulation
    Deadline:  January 25, 2011, 14:00
    Topic:  A particle system in a force field with collision detection, and a cloth simulation using a spring model and constraint relaxation.