SYCL Summer Sessions 2021

A week long series of online talks from SYCL™ developers for SYCL developers starting September 6th and ending September 9th.

In 2020 we launched "SYCL Summer Sessions", an online event series designed to help you learn how to write better code using SYCL. We brought expert SYCL developers together to share their in depth knowledge of developing highly parallel software. The videos from last year are online and available on demand covering some great topics useful for both experienced and new SYCL developers.

If you don't already know what SYCL is, there are lots of resources available on this page.

Monday 6th 4pm GMT+1/10am CT/8am PT

Context Matters

Presenter: Thomas Applencourt, Argonne National Laboratory

In SYCL, contexts are used for memory isolation. This is a common source of error, mainly when using SYCL2020 Unified Shared Memory. In particular, a kernel submitted to a queue (Q1 for example) can only access memory that has been allocated in the same context as the one used to create Q1.

This 30min talk will illustrate those contexts subtleties via small reproducers extracted from real-life examples and provide recommendations on how one can avoid those pitfalls.

Tuesday 7th 4pm GMT+1/10am CT/8am PT

A case study on SYCL productivity with a realtime 3D fluid simulation miniapp

Presenter: Tom Lin, University of Bristol

Developer productivity is one of the core factor influencing the success of a software project. SYCL represents a huge improvement on the productivity front over traditional platforms such as OpenCL: with improved type safety and simplified kernel-host API.

In this talk, I'll present an interactive realtime 3D fluid simulation miniapp implemented using the Smoothed-Particle Hydrodynamics (SPH) method with surface reconstruction via Marching Cubes (MC) and Metaballs. The simulation covers both traditional HPC workloads (SPH) with a focus on realtime visualisation (MC).

The miniapp is first implemented using OpenCL 1.2, where I progressively present the changes needed to port the miniapp to SYCL. I'll compare performance results on different SYCL implementations and provide a summary on productivity improvements with the reduced SLOC (lines of code) needed for SYCL.

Wednesday 8th 4pm GMT+1/10am CT/8am PT

Fundamentals of porting code from CUDA to SYCL

Presenter: Zheming Jin, Oak Ridge National Laboratory

Memory management is crucial in getting the best performance from CUDA and SYCL code. If you plan to port code from CUDA to SYCL, you need to understand the fundamentals of memory management using SYCL. In this lightning talk, I will introduce my SYCL work and focus on my experience of the use of SYCL buffers when porting code from CUDA.

Download the slide deck

Thursday 9th 4pm GMT+1/10am CT/8am PT

Practical lessons porting from CUDA to SYCL

Presenter: Michel Migdal, ENSIIE

The DPC++ compatibility tool does a lot of the heavy lifting when it comes to porting your code from CUDA to SYCL and there are also guides to help you understand and compare these programming models. In this talk I will help you to understand how to use some techniques to get the best performance out of your ported SYCL code.