Skip to content

csc-training/high-level-gpu-programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

Agenda

Day 1, Wednesday 14.2.

Time Topic
09:00-09:15 Welcome
09:15-10:00 Introduction to GPUs
10:00-10:40 GPU execution model
10:40-11:20 GPU memory hierarchy
11:20-12:00 Refresher of C++ concepts
12:00-13:00 Lunch break
13:00-13:30 Mahti and LUMI Computing Platforms
13:30-15:00 SYCL I(a)
15:00-15:30 Coffee break
15:30-16:45 SYCL I(b)
16:45-17:00 Day 1 wrap-up

Day 2, Thursday 15.2.

Time Topic
09:00-12:00 SYCL II
12:00-13:00 Lunch break
13:00-15:00 SYCL III
15:00-15:30  Coffee Break
15:30-16:45 Heat equation, cuda to sycl demo 
16:45-17:00 Day 2 wrap-up

Day 3, Friday 16.2.

Time Topic
09:00-09:30 Kokkos
09:30-11:00 Kokkos exercises
11:00-12:00 Memory optimizations Jacobi Iterations, Matrix-Matrix multiply & Reductions
12:00-13:00 Lunch break
13:00-13:30 Memory optimization
13:30-15:00 Interoperability with mpi ping-pong & pi
15:00-15:30  Coffee Break
15:30-16:00 Interoperability with third-party libraries
15:30-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 exercise are based on Intel copyrighted work and they have their own license.

Link to HedgeDoc

Exercises

General instructions

SYCL Essentials

SYCL Performance and Optimization

SYCL Migrate from CUDA to SYCL

Syclomatic

Memory Optimization

Kokkos

SYCL and MPI

SYCL interoperability