Instructor’s guide

Learning outcomes

  • Write a CMake build system for C, C++, and Fortran projects producing libraries and/or executables.

  • Run tests for your code with CTest.

  • Ensure your build system will work on different platforms.

  • Detect and use external dependencies in your project.

  • Safely and effectively build mixed-language projects (Python+C/C++, Python+Fortran, Fortran+C/C++)

First iteration

Day 1 - Monday 8 November 2021

9:00 - 9:10

Welcome and introduction to the training course

9:10 - 9:40

What is SYCL?

9:40 - 9:45

Break

9:45 - 10:15

Device discovery

10:15 - 10:25

Break

10:25 - 10:55

Queues, command groups, and kernels

10:55 - 11:00

Break

11:00 - 11:30

Data management with buffers and accessors

11:30 - 11:35

Break

11:35 - 12:05

Data management with unified shared memory

12:05 - 12:15

Break

12:15 - 12:30

Wrap-up

Day 2 - Tuesday 9 November 2021

9:00 - 9:10

What did we cover yesterday?

9:10 - 9:50

Expressing parallelism with SYCL

9:50 - 10:00

Break

10:00 - 10:40

The task graph: data, dependencies, synchronization

10:40 - 10:50

Break

10:50 - 11:10

Heat equation mini-app

11:10 - 11:15

Break

11:15 - 11:55

Buffer-accessor model vs unified shared memory

11:55 - 12:00

Break

12:00 - 12:30

Wrap-up