General-purpose graphics-processing units (GPGPUs) have a growing presence in high-performance computing, as demonstrated by the latest Top 500 listing (November 2010) that lists three GPGPU-powered supercomputers in the top four. For computational science, GPGPUs offer the potential for a step-change in capability for a range of applications — facilitating faster, larger, and more complex simulations. However, to achieve this potential, one needs to invest effort to understand and apply GPU-specific programming models: this is both non-trivial and quite distinct from CPU-based programming. NAIS is providing a training course, delivering overview-level training for numerical analysts and applications scientists who wish to include GPGPU support in their algorithm/application code. The course - which runs over three half-days - will consider CUDA programming (at the time of writing, the most popular model for GPGPU programming); performance and optimisation techniques; and parallel programing for multi-GPGPU computations. The course will also introduce some alternative programming models such as directives-based, OpenCL, and MATLAB for GPUs. The course includes a mix of taught sessions and hands-on practicals. To get the most from the course, one should be familiar with Unix/Linux-based systems (e.g. use of batch systems and command-line interface), and be reasonably competent in either C or FORTRAN90.
Monday, September 26, 2011 to Monday, October 10, 2011