Skip to content

csc-training/high-level-gpu-programming

Repository files navigation

High-Level GPU Programming

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

Presentation slides

The slides are available here.

Agenda

Day 1, Wednesday 27.11

Time Topic
09:00-09:15 Welcome
09:15-10:00 Introduction to GPUs
10:00-10:30 GPU execution model
10:30-11:00 GPU memory hierarchy
11:00-11:30 Mahti and LUMI Computing Platforms
11:30-12:00 C++ Refresher
12:00-13:00 Lunch break
13:00-14:00 C++ Standard Parallelism
14:20-15:10 Kokkos and Kokkos exercises
15:10-15:30 Coffee break
15:30-16:45 Kokkos and Kokkos exercises
16:45-17:00 Day 1 wrap-up

Day 2, Thursday 28.11

Time Topic
09:00-10:30 Kokkos and Kokkos exercises
10:30-12:00 SYCL Essentials
12:00-13:00 Lunch break
13:00-14:00 SYCL exercises (Essentials)
14:00-15:00 SYCL advance features
15:00-15:30  Coffee break
15:30-16:45 SYCL exercises (Advance Features & Essentials)
16:45-17:00 Day 2 wrap-up

Day 3, Friday 29.11

Time Topic
09:00-09:30 SYCL Review
09:30-11:00 Converting CUDA to SYCL
11:00-12:00 Memory optimizations
12:00-13:00 Lunch break
13:30-15:00 Interoperability with mpi, ping-pong and pi
15:00-15:30  Coffee break
15:30-16:00 Interoperability with third-party libraries
16:00-16:45 Exercises & Bring your own code
16:45-17:00 Day 3 wrap-up & Course closing

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).

Exercises

General instructions

Kokkos

SYCL Essentials

SYCL Advanced Features

SYCL Memory Optimizations

SYCL and MPI

SYCL interoperability