Senior IBM Software Developer Relations Manager
Part 1: Introduction to GPU Acceleration
This session will assume no prior knowledge of GPU accelerated computing. By the end of the session, attendees will have learned what GPU acceleration is, how and why it works, and when it may (and may not) be useful. The NVIDIA roadmap will be covered, especially as it pertains to Power system architecture hosts
Supplemental materials: Companion Self-Paced Lab
- Introduction to GPU Computing
Part 2: GPU Acceleration of Scientific Computing
This session will cover the four main methods of accelerating applications using GPUs – using already accelerated applications, using GPU accelerated libraries, using OpenACC directives, and CUDA extended C/C++, Thrust and other programming languages. A brief recap of GPU Accelerated computing will be provided prior to the discussion of programming topics. We will also discuss the potential impacts of NVLINK and stacked memory on expected performance for future architectures.
Supplemental materials: Companion Self Paced Labs
- Accelerating Applications with GPU-Accelerated Libraries in C/C++ or Fortran or Python
- OpenACC – 2X in 4 Steps in C/C++ or Fortran
- Accelerating Applications with CUDA C/C++ or Fortran or Python
- Using Thrust to Accelerate C/C++
Part 3: GPU Accelerated Application Performance Tuning
This session will cover a selection of performance tuning techniques for GPU programming. While aimed at intermediate to advanced GPU programmers, the material should be accessible to anyone with a basic understanding of programming.
Supplemental material: Companion Self Paced Labs
- GPU Memory Optimizations in C/C++ or Fortran