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.
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.
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.
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.
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.