Go to JKU Homepage
Institute of Computer Graphics
What's that?

Institutes, schools, other departments, and programs create their own web content and menus.

To help you better navigate the site, see here where you are at the moment.

 GPU Programming for Visual Computing

This intensive-course will be held in three blocks. It is limited to 15 participants (first-come, first-served).

Introduction

The possibilities of parallel programming on modern GPUs (graphics processing units) can greatly improve the performance of tasks in the field of visual computing (i.e., computer graphics and computer vision). Participants will learn concepts, methodologies and usage of GPU architectures to implement efficient algorithms in OpenGL/GLSL and CUDA/OpenCL. After this course, students will be able to apply common graphics boards to develop their own performance-optimized applications that run partially or fully accelerated on the GPU.
Several techniques are explained in detail, including a hands-on training as well as exercises in which the students are encouraged to come up with the most efficient implementation of common problems in the fields of visual computing.

Contents

In particular, the following topics will be discussed in this course: Introduction into OpenGL, GLSL, CUDA and OpenCL, efficient usage of texture up- and downloads as well as data management, dependent texture lookups, occlusion queries, texture arrays, blending techniques, performance optimizations, optimized caching and alignment, frame- and pixelbuffer objects, specialized geometry shader techniques, effective multi-pass methods, parallel architectures and algorithms, image processing optimizations with examples such as convolution, deconvolution, image statistics, histogram calculations, GPU accelerated CAMShift tracking, etc.
Prior knowledge in OpenGL or CUDA is not required. The presented advanced topics will also be valuable to students GPU-programming experiences.

Selected Readings

  1. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Addison-Wesley Professional, ISBN-10: 0321481003
  2. OpenGL Shading Language (3rd Edition), Addison-Wesley Professional, ISBN-10: 0321637631
  3. GPU Gems 3, Addison-Wesley Professional, ISBN-10: 0321515269
  4. GPU Gems 2: Programming Techniques for High-Performance Graphics and General-Purpose Computation, Addison-Wesley Professional, ISBN-10: 0321335597
  5. ShaderX7: Advanced Rendering Techniques, Charles River Media, ISBN-10: 1584505982
  6. NVIDIA CUDA Programming Guide, www.nvidia.com/object/cuda_develop.html, opens an external URL in a new window
  7. NVDIA CUDA Best Practice Guide. developer.download.nvidia.com/compute/cuda/2_3/toolkit/docs/NVIDIA_CUDA_BestPracticesGuide_2.3.pdf, opens an external URL in a new window