Expand your SYCL* coding knowledge and skill with a two-hour session that covers:

  • Pointer-based memory management using unified shared memory (USM)
  • Handling data dependencies between running kernels
  • The advantages of using subgroups and subgroup algorithms
  • Using SYCL reduction to simplify reduction with parallel kernels


0:00 Introductions

1:38 SYCL 2020 features

2:37 Learning objectives

3:00 What is oneAPI Implementation of SYCL?

3:37 Extend the SYCL standard

3:51 C++ and SYCL extensions

4:07 Language simplification

5:55 USM

6:12 A developer view of USM

7:20 USM syntax

9:54 SYCL buffers method

10:53 Why use USM?

12:00 Types of USM

13:07 Example of a USM explicit data transfer

14:06 Example of a USM implicit data transfer

14:58 Create an Intel® Developer Cloud account for the hands-on lab

17:08 Step-by-step getting started

18:48 How to update your Intel Developer Cloud content

19:57 Welcome notebook

20:49 SYCL USM

30:14 When to use USM

31:50 Q&A

34:47 USM data dependency in Tasks

35:35 Example of data dependency

39:40 Hands-on example of data dependency

52:34 Where to find the solution file

54:55 USM summary slide

55:10 Subgroups

55:32 Maps to hardware

56:25 Why are subgroups important?

57:02 A high-level look at subgroups in ND_Ranges

57:29 Subgroup syntax

58:00 Example of a subgroup shuffle operation

59:08 Example of subgroup algorithms

59:55 Specify the subgroup size

1:00:55 SYCL subgroups

1:10:53 Reductions

1:12:10 Example of a simple reduction

1:13:02 Parallelizing reductions

1:13:25 Workgroup reduction

1:14:34 Simplified reduction

1:15:32 Multiple reductions in one kernel

1:16:16 Reductions

1:22:33 Summary

1:23:04 Q&A


Intel® oneAPI Base Toolkit

Get started with this core set of tools and libraries for developing high-performance, data-centric applications across diverse architectures.

Get It Now
See All Tools