Developing parallel applications with SYCL, an open standards alternative to CUDA

Duncan McBain

Thursday 27 February 2020
16:15 - 17:15
EM 1.83


Computer system architecture trends are constantly evolving to provide higher performance and computing power, to support the increasing demand for high-performance computing domains including AI, machine learning, image processing and automotive driving aids.

This talk will introduce application development using the SYCL programming model. SYCL allows users to write standard C++ code which is then executed on a range of heterogeneous architectures including CPUs, GPUs, DSPs, FPGAs and other accelerators. On top of this SYCL also provides a high-level abstraction which allows users to describe their computations as a task graph with data dependencies, while the SYCL runtime performs data dependency analysis and scheduling. SYCL also supports a host device which will execute on the host CPU with the same execution and memory model guarantees as OpenCL for debugging purposes, and a fallback mechanism which allows an application to recover from failure.


Duncan is a software engineer at Codeplay where he has worked on ComputeCpp and contributed to some of the open source SYCL libraries that are available for accelerating complex algorithms.

Host: Rob Stewart