Download the Official Conference Flyer:
PDF (with printer marks):
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)
Abstract
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?
Topics
| 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.
PDF (with printer marks):