Tutorials Program

An Introduction to GPU Computing for Astronomy

Christopher Fluke (Swinburne CAS), Ben Barsdell (Swinburne CAS), Amr Hassan (Swinburne CAS),   Gernot Ziegler (NVIDIA)

Date: Sunday 6 November 2011, 14:30 - 17:30 (exact time TBC)


In this tutorial, we will introduce the basics of GPU programming, including astronomy-related demonstrations of how to use the CUDA and OpenCL programming libraries. By the end of the tutorial, participants should be in a better position to answer the question: Will GPUs help me with my computational problem?


1. GPU Basics - What is a GPU? How do they work?
- Why use GPUs?
- Key principles (Serial vs. paralel algorithms; Ahmdal's Laws; Kernels; Threads; Stream processing; Memory)
2. Does my problem need a GPU? - Algorithmic considerations: approaches to identifying relevant problems (with astronomy-related examples)
3. CUDA - Introduction to CUDA; structure of codes;
- Optimization
- Examples
4. OpenCL - Comparison with CUDA structure
- Pros/cons
- Examples
5. The N-body example - Speeding up your code with OpenMP
- Speeding up your code with GPUs
6. Distributed Multiple-GPU Systems - Scheduling
- Message passing
- Volume rendering example
7. Discussion - Questions and interaction will be encouraged throughout

Author Biographies

Christopher Fluke (Swinburne CAS)

Ben Barsdell (Swinburne CAS)

Amr Hassan (Swinburne CAS)

Dr. Gernot Ziegler is an Austrian engineer with a PhD in Computer Science from University of Saarbrücken, Germany, and an MSc degree in Computer Science and Engineering from Linköping University, Sweden. He pursued his PhD studies at the Max-Planck-Institute for Computer Science, where he specialized in GPU algorithms for computer vision and data-parallel algorithms for spatial data structures. As a member of NVIDIA's Developer Technology (Compute) team, Gernot consults in high-performance scientific computing on graphics processors.

Latest News

Quick links

ADASS XXI Conference Poster

Download the Official Conference Flyer:

JPG:   A4  A3

PDF (with printer marks):

8.5in x 11in  11in x 17in  A4  A3  A2