GPU Programming

Presenters: Kevin Stratford, Rupert Nash
kevin@epcc.ed.ac.uk, r.nash@epcc.ed.ac.uk

EPCC Logo

https://epcced.github.io/archer-gpu-course/

Clone/fork this presentation at: https://github.com/EPCCed/archer-gpu-course

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 Logo

http://www.archer.ac.uk

ARCHER is the UK National Supercomputer Service

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

Timetable 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

Timetable 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 by Alan Gray (NVIDIA)
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.
  • Bayes Centre Fire alarm test is 11:30 Thursdays.

Exercises

You will need an ssh client

$ ssh -l ACCOUNT-NAME [-X|-Y] login.cirrus.ac.uk

Please take care with password (e.g., case sensitive)

You need a copy of the exercises:

$ git clone https://github.com/EPCCed/archer-gpu-course/

Once:

$ module load gcc cuda pgi
$ cd archer-gpu-course/exercises/cuda-intro/src_c

Edit the file (method of your choice):

$ qsub submit.sh