SYCL* Programming for Accelerated Computing
Course Description
This introductory course explores the challenges of heterogeneous computing. Throughout the 11 modules, students learn how to use the SYCL* programming language and how it can target different types of accelerator devices like CPUs, GPUs, and FPGAs.
- SYCL is an open standard, cross-architecture and cross-vendor programming solution for heterogeneous, high-performance computing (HPC).
- SYCL breaks proprietary lock-in and gives you the freedom to choose the best accelerated technology for your project.
Included in this course:
- 11 modules (Estimated time to complete: 18 hours)
Modules
- Introduction to oneAPI and SYCL
- SYCL Program Structure
- SYCL Unified Shared Memory
- SYCL Sub Groups
- SYCL Kernel Reductions
- SYCL Buffers and Accessors in Depth
- SYCL Task Scheduling and Data Dependency
- Intel® oneAPI DPC++ Library (oneDPL)
- Intel® Advisor - Offload Advisor
- Intel® VTune™ Profiler
- Intel® Distribution for GDB* on Intel® Developer Cloud
Get the Assignments and Quizzes
11 modules with slide presentations and quizzes are available as a separate download.
Details
Learning Objectives
After completing this course, students will be able to:
- Understand the challenges of heterogeneous computing.
- Write a SYCL program that offloads computation to accelerator devices like CPUs, GPUs, or FPGAs.
- Perform analysis and profile the SYCL code to find performance bottlenecks.
- Gain familiarity using Intel® oneAPI tools to find performance and optimization opportunities.
Target Audience
Senior undergraduate and graduate students studying:
- Computer science
- Engineering
- Science and mathematics
Prerequisites
- C++ programming