GPU Programming

Presenters: Kevin Stratford and Neelofer Banglawala, EPCC,


Clone/fork this presentation at:

Creative Commons Licence

Slide content is available under under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

This means you are free to copy and redistribute the material and adapt and build on the material under the following terms: You must give appropriate credit, provide a link to the license and indicate if changes were made. If you adapt or build on the material you must distribute your work under the same license as the original.
Note that this presentation contains images owned by others. Please seek their permission before reusing these images.

Built using reveal.js

reveal.js is available under the MIT licence


ARCHER is the UK National Supercomputer Service

EPSRC Logo NERC Logo EPCC Logo Cray Inc. Logo
Picture of ARCHER machine itself

Day One

10:00 Introduction
10:20 GPU Concepts/Architectures
11:00 Break
11:20 CUDA Programming
12:00 A first CUDA exercise
13:00 Lunch

14:00 CUDA Optimisations
14:20 Optimisation Exercise
15:00 Break
15:20 Constant and Shared Memory
16:00 Exercises
17:00 Close

Day Two

10:00 Recap
10:10 OpenCL and OpenACC Directives
11:00 Break
11:30 OpenCL and / or Directives Exercises
12:00 Guest Lecture Kyle Jacobs (NVIDIA) Overview of NVIDIA Volta
13:00 Lunch

14:00 Performance portability and Kokkos
14:30 Exercise: Getting started with Kokkos patterns
15:00 Break
15:10 Kokkos memory management
15:30 Memory management exercises
16:00 Close

Local Information

  • Please take care of your personal belongings.


You will need an ssh client

You need a copy of the exercises:

git clone

If you want a copy of your solutions you will need to copy the relevant files to a safe location.