SYCL* Essentials: An Introduction to oneAPI Heterogeneous Computing
SYCL* Essentials: An Introduction to oneAPI Heterogeneous Computing
Subscribe Now
Stay in the know on all things CODE. Updates are delivered to your inbox.
Overview
This workshop introduces SYCL*, an open-standard, cross-architecture programming language that supports the oneAPI programming model for heterogeneous computing across targets: CPU, GPU, FPGA, and more.
This session covers:
- oneAPI and how it can solve the challenges of programming in a heterogeneous world
- The SYCL language for high-performance computing (HPC) applications, a free download available as part of the Intel® oneAPI Base Toolkit
- SYCL buffers and accessors for data and memory management between host and device
- The basics of graphs and dependencies
- Intel® Developer Cloud for testing Intel® tools and performance libraries
- Hands-on training through simple SYCL code with a Jupyter* notebook on Intel Developer Cloud
Highlights
0:00 Speaker introductions
2:00 Objectives
3:10 Agenda
4:20 Programming challenges
5:05 What is oneAPI?
6:45 Overview of Intel® toolkits
10:00 How the Intel® DPC++ Compatibility Tool minimizes code migration
11:03 A look at Intel® VTune™ Profiler
12:10 Intel® Advisor—a design assistant
13:43 Get set up on Intel Developer Cloud and Jupyter environments
19:44 Intel oneAPI implementation of SYCL
22:03 A peek at a complete SYCL program
23:30 Buffer memory model
24:54 What happens when you submit to a device?
26:19 Important classes in SYCL
28:05 Accessor modes
29:20 How to write basic parallel kernels
32:58 A SYCL application example
36:35 An implementation of sub buffers
37:34 Asynchronous running
40:00 Host accessors
41:10 Buffer destruction
41:49 Custom device selector
43:30 Run graph scheduling
44:15 Read after write (RAW)
45:28 Write after read and write after write
46:28 Linear-dependency chain graphs and Y-pattern graphs
48:00 Hands-on lab
54:45 Module 1: Introduction to oneAPI and SYCL
1:02:45 Module 2: SYCL program structure
1:12:52 Another look at Intel Advisor
1:23:20 Q&A
Develop high-performance, data-centric applications for CPUs, GPUs, and FPGAs with this core set of tools, libraries, and frameworks including LLVM*-based compilers.
Related On-Demand Webinar