Advanced SYCL Techniques and Best Practices, May 30, 2023
Introduction
The SYCL programming model means heterogeneous programming using C++ is now more accessible than ever. SYCL uses modern standard C++ and 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 experience with using SYCL to develop code for accelerators such as GPUs, video recordings of more introductory SYCL training 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.
ALCF and OLCF users are welcome to this training. NERSC training accounts will be provided if needed.
Workshop Leader: Hugh Delaney, Codeplay Software
Workshop Instructors: Thomas Applencourt and Abhishek Bagusetty, Argonne National Laboratory
Course Outline
- Brief introduction
- In order queues
- Multiple devices
- Using key SYCL features
- Image convolution introduction
- Coalesced global memory
- Vectorization
- Local memory tiling
Date and Time: 9:00 am - 1:00 pm (Pacific time), Tuesday, May 30, 2023
The format of this event will be online only.
Other Information
Please join Slack for Q&A (#general channel).
Please help us by answering the survey:https://tinyurl.com/sycl-training-survey