This event is a part of the "Best Practices for HPC Software Developers" webinar series, produced by the IDEAS Productivity Project. The HPC Best Practices webinars address issues faced by developers of computational science and engineering (CSE) software on high-performance computers (HPC) and occur approximately monthly.
Resource Information | Details |
---|---|
Webinar Title | SYCL – Introduction and Best Practices |
Date and Time | 2020-06-17 01:00 pm EDT |
Presenter | Thomas Applencourt (Argonne National Laboratory) |
Registration, Information, and Archives | https://ideas-productivity.org/resources/series/hpc-best-practices-webinars/#webinar041 |
Webinars are free and open to the public, but advance registration is required through the Event website. Archives (recording, slides, Q&A) will be posted at the same link soon after the event.
Abstract
SYCL is a single-source heterogeneous programming model based on standard C++. It uses C++ templates and lambda functions for host and device code. SYCL builds on the underlying concepts of portability and efficiency of OpenCL that enable code for heterogeneous processors; however, it is less verbose than OpenCL. The single-source programming enables the host and kernel code for an application to be contained in the same source file, in a type-safe way and with the simplicity of a cross-platform asynchronous task graph. We will provide an overview of the SYCL concepts, compilation, and runtime. No prior knowledge of OpenCL is required for this webinar. Once we have reviewed the core concepts of SYCL, we will walk through several code examples to highlight its key features and illustrate best practices. SYCL by design is hardware agnostic and offers the potential to be portable across many of DOE’s largest machines.
Presenter Bio
Thomas Applencourt is an Assistant Computational Scientist at Argonne National Laboratory interested in HPC. He is working now on Aurora, the first exascale US system that will be delivered in 2021. He is interested in various programming models (OpenMP, SYCL) and low-level programming.