Intel Tutorial: Let us SYCL

20 December, 2022, 10:00 AM - 12:00 PM

Speaker 1: Subarnarekha Ghosal, Technical Consulting Engineer, Intel

 

Bio and Pic:

Spealer: Subarnarekha

 

Subarnarekha is a Software Technology Consulting Engineer responsible for helping internal and external customers succeed on Intel platforms through the use of Intel software development tools specifically for Intel compilers. She uses code modernization techniques for optimal code performance on the Intel Central Processing Unit (CPU) and Intel Graphics Processing Unit (GPU). Subarna has a master’s degree in computer science from the Vellore Institute of Technology.

 

 

Speaker 2: Nitya Hariharan, Software Enabling and Optimization Engineer, Intel

 

Bio and Pic:

Nitya Intel Speaker

 

Nitya is a Software Enabling and Optimization Engineer at Intel. She collaborates with external customers to port and optimize their HPC applications to Intel platforms (both CPU and GPU) using Intel software tools. She holds a PhD in Informatics from TU Munich, in collaboration with the Max Planck Institute for Astrophysics.

 

 

Tutorial Name: Let us SYCL

Summary: SYCL (pronounced ‘sickle’) programing standard is royalty-free, template based, cross-platform abstraction, targeting heterogeneous computing architecture with a host connected to various types of accelerators, typically GPU, CPU, and FPGA. SYCL enables code written in a “single-source” style using completely standard C++, where C++ template functions can contain both host and device code to construct complex algorithms and then re-use them throughout their source code on different types of data. This tutorial aims to teach you the fundamentals of SYCL through the explanation of a simple application.

 

Agenda:

  • Memory Model
  • Execution Model (ND-Range, Work groups, Work Items)
  • SYCL Queues
  • Manage Data in SYCL Using Buffers
  • Control Device Execution
  • Compute Kernels and Buffers
  • Write Your First SYCL Program
  • SYCL 2020 USM
  • SubGroups
  • Simplified Reduction

 

Expected Outcome:

This tutorial is for programmers who already have a decent understanding of C++ and parallelism.

Teaching C++ and parallelism is hard, and many materials already exist. There’s far less information on SYCL itself so that is this tutorial’s focus.

 

Organizers:

Subarnarekha Ghosal, Technical Consulting Engineer, Intel

Nitya Hariharan, Application Engineer, Intel

 

Workshop prerequisites:

  1. Laptop is a Mandatory Pre-Requisite for this workshop
  2. All participants should have prior access to Devcloud to participate in the hands-on session
  3. Please find the Devcloud URLand for the Devcloud setup guide click here
  4. Compile and Run Module 1 – “Introduction_to_Jupyter.ipynb”.
  5. Have Basic Knowledge of C++.