CUDA Training: Basic and Advanced Levels
The last generation of Nvidia GPUs offers a tremendous computing power that can now benefit to not only graphics processing but also to scientific applications. Nvidia CUDA is a general purpose parallel computing architecture that leverages the parallel compute engine in Nvidia graphics processing units (GPUs) to solve many complex computational problems in a fraction of the time required on a CPU.
In this 3 day top-class CUDA workshop delivered by CAPS entreprise, the participants will learn the CUDA programming & streaming model and how to handle multi-GPU applications. The training includes hands-on practical labs where participants will be able to progressively build streamed and multi-GPU applications. This workshop is a must for those who wish to learn CUDA programming model and program high-performance computations with CUDA.
The participants will have a chance to obtain an Nvidia C2050 "Fermi" state-of-the-art GPGPU! One card will be given out as a prize in a competition declared during the course.
Prerequisites
Basic knowledge in C language is recommended.
Program
Day 1
8.30-9.00 Breakfast9.00-9.10 Welcome and introduction
9.10-12.00 Morning session - CUDA basics
- Introduction to GPU computing
- CUDA architechture and programming model
- CUDA API
- CUDA debugging
- Lab session: getting used to CUDA device
- Lab session: programming a basic addition
13.00-16.30 Afternoon session - CUDA kernel performance I
- Using 2D CUDA grid for large computation
- Lab session: programming 2D CUDA grid computation
- CUDA warps
- Data alignment & coalescing
- Lab session: ensuring coalescing
Day 2
8.30-9.00 Breakfast
9.00-12.00 Morning session - CUDA kernel performance II
- Texture memory & constant memory
- Shared memory
- Lab session: using CUDA shared memory as a cache
13.00-16.30 Afternoon session - CUDA grids optimization
- Maximizing occupancy
- Interpreting profiler counters
- CUDA performance tools
Day 3
8.30-9.00 Breakfast
9.00-12.00 Morning session - CUDA streaming
- CUDA data transfer & optimizations
- Asynchronism & overlapping
- CUDA streams
- Lab session: using CUDA streams
13.00-16.00 Afternoon session - CUDA with MPI
- Parallel CUDA
- MPI introduction
- Lab session: communications with MPI
- Mixing CUDA and MPI
- Multi-GPU computing with CUDA and MPI
- Lab session: splitting a Sobel filter computation onto two GPUs
About the trainers
CAPS is a leading provider of compliling technology and engineering services for hybrid parallel computations. Created in 2002 as a spinoff of the french INRIA compute lab, CAPS has a strong expertise in processor architecture and code generation tools. As a major supplier of solutions for applications deployment on manycore (GPU) systems, CAPS provides technology and software products enabling users of hybrid systems to safely and efficiently port, tune and scale their legacy applications.
Materials
Registration
Additional information
Please contact courses@csc.fi for further information.
