Download the Official Conference Flyer:
PDF (with printer marks):
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;
|4. OpenCL||- Comparison with CUDA structure
|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|
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.