Skip to main content

Advanced SYCL Techniques and Best Practices


May 30, 12:00 pm-4:00 pm ET.
Virtual-only event hosted by NERSC

The SYCL programming model means heterogeneous programming using C++ is now more accessible than ever. SYCL uses modern standard C++, and it’s a programming model that lets developers support a wide variety of devices (CPUs, GPUs, FPGAs, and more) from a single code base. The growing popularity of this programming model means that developers are eager to understand how to use all the features of SYCL and how to achieve great performance for their code.

While the tutorial assumes existing knowledge and some experince with using SYCL to develop code for accelerators such as GPUs, video recordings of more introductory SYCL trainings that may help prepare you for this training are available on this YouTube Playlist.

Concepts covered in this training include strategies for optimizing code, managing data flow, how to use different memory access patterns, understanding work group sizes, using vectorization, the importance of ND ranges, and making the most of the multiple devices available on your architecture.

This training is hosted by NERSC. ALCF and OLCF users are welcome to this training. NERSC training accounts will be provided if needed.

Workshop Leader: Rod Burns, Software Engineer, Codeplay Software

Course Outline

  • Brief introduction
  • In order queues
  • Multiple devices
  • Using key SYCL features
  • Image convolution introduction
  • Coalesced global memory
  • Vectorization
  • Local memory tiling


Please use this form to register.

Other Information

Please join Slack for Q&A (#general channel):

Please help us with answering the survey:


May 30 2023


12:00 pm - 4:00 pm


Suzanne Parete-Koon
[email protected]
QR Code