Skip to content

csc-training/portable-gpu-programming

Repository files navigation

Portable GPU Programming

Course material for the CSC course "Portable GPU Programming". The course is part of the EuroCC training activities at CSC.

Presentation slides

The slides are available here.

Agenda

Day 1, Tuesday 21.10

Time Topic
09:00-09:15 Welcome
09:15-09:45 Parallel Computing & Supercomputers
09:50-10:00 Intro & GPU execution model
10:00-10:20 GPU memory hierarchy
10:40-12:00 Mahti and LUMI Computing Platforms & Profiling
12:00-13:00 Lunch break
13:00-14:10 Refresher of C++
14:30-15:20 MPI basics
15:20-16:30 Break and Exercises
16:30-16:45 Day 1 wrap-up

Day 2, Wednesday 22.10

Time Topic
09:15-09:30 Introduction to SYCL
09:30-10:00 Simple SYCL
10:25-11:00 SYCL Exercises
11:00-11:20 Advanced SYCL
11:20-12:00 SYCL Exercises
12:00-13:00 Lunch break
13:00-13:30 Other SYCL Features
13:30-14:00 SYCL Exercises
14:00-15:00 Memory Optimizations
15:00-15:45 SYCL and MPI
15:45-16:30 Interoperability
16:30-16:45 Day 2 wrap-up

Day 3, Thursday 23.10

Time Topic
09:15-12:00 Kokkos I (with exercises)
12:00-13:00 Lunch break
13:00-15:00 Kokkos II (with exercises)
15:00-16:30 Kokkos III (with exercises)
16:30-16:45 Day 3 wrap-up

Day 4, Friday 24.10

Time Topic
09:15-12:00 OpenMP offload (with exercises)
12:00-13:00 Lunch break
13:00-16:00 OpenMP offload (with exercises)
16:00-16:45 Portable GPU programming frameworks wrap-up

The lectures in this repository are published under CC-BY-SA license. Some of the lectures and exercises are based on Intel copyrighted work and they have their own license (MIT).

SYCL Book

Data Parallel C++ Programming Accelerated Systems Using C++ and SYCL

Book Examples

Exercises

General instructions