PPAM 2011 GPU Tutorial

Scientific Computing on GPUs

Welcome to the course notes for the full-day  PPAM 2011 GPU Computing Tutorial!

GPUs are now an established platform for high-performance scientific computing, and a multitude of general and domain-specific programming environments, libraries and tools have emerged. The goal of this tutorial is to provide an overview of GPU Computing for applied mathematicians and computational scientists trying to harness the power of GPUs in their work. In particular, we aim at providing rules of thumb on which particular avenue of GPU Computing to pursue for various problem classes and particular problems to be solved. The tutorial addresses both complete beginners as well as practitioners in the field.

The course presenters are experts on GPU Computing from academia and industry, and have presented papers and tutorials on the topic at various conferences over the past several years.

The tutorial was held at PPAM 2011 in Torun, Poland, on Sunday, September 11, 2011.

Course Organizers

Course Speakers

  • Dominik Göddeke
  • André Heidekrüger, AMD
  • Jakub Kurzak
  • Tim Schröder, NVIDIA
  • Jan-Philipp Weiß

Course Material:

  1. Introduction (Göddeke) [PDF]
  2. Ready-to-use GPU-accelerated libraries (Weiß) [PDF]
  3. GPU Architecture (Göddeke)  [PDF]
  4. Introduction to OpenCL (Heidekrüger) [PDF]
  5. Hands-on Examples [PDF] [CODE]
  6. NVIDIA CUDA ecosystem (Schröder) [PDF]
  7. GPU memory optimizations (Schröder) [PDF]
  8. AMD ecosystem, tools and hands-on examples (Heidekrüger)
  9. ASTRA: Automatic stencil tuner for accelerators (Kurzak) [PDF]
  10. Aspects of numerical algorithms, iterative solvers and preconditioners on GPUs (Weiß) [PDF]