Hands-On HPC Application Development Using C++ and SYCL

Hands-On HPC Application Development Using C++ and SYCL

Sunday, May 12, 2024 2:00 PM to 6:00 PM · 4 hr. (Europe/Berlin)
Hall Y7 - 2nd floor
Tutorial
Compiler and Tools for Parallel ProgrammingDevelopment of HPC SkillsEducation and TrainingParallel Programming Languages

Information

Parallel programming can be used to take advantage of heterogeneous architectures including GPUs, FPGAs, XPUs, IPUs, TPUs or special units on CPUs to significantly increase the performance of applications. SYCL is an open standard programming model that is defined by the industry and lets developers support many of these processors from different vendors using a single code base and only modern standard C++ code. This tutorial will give software developers the knowledge they need to begin developing parallel applications using C++ and the SYCL programming model. Our goal is to equip attendees with the skills they need to build highly performant applications that can be used in the fields of HPC and AI and deployed to multiple hardware platforms. We will cover the fundamentals of the SYCL programming model before moving to more advanced topics. We will explore how SYCL can be used to write serious applications, covering intermediate to advanced features of SYCL as well as some of the tools and libraries that support SYCL application development. This is a hands-on tutorial, attendees will work through exercises that represent key design patterns encountered by people who program heterogeneous systems and deploy this code to multiple processors from different vendors.
Format
On-site
Targeted Audience
This tutorial is targeted at attendees who have some previous experience in writing C++ applications, and would like to expand this knowledge to using SYCL for parallel programming. In particular, this tutorial will be most useful for software developers who are writing HPC applications for highly parallel heterogeneous systems.
Beginner Level
40%
Intermediate Level
60%
Prerequisites
Laptop, internet connection, some C++ experience.