CppCon 2018 has ended
Back To Schedule
Monday, September 24 • 16:45 - 17:45
A Modern C++ Programming Model for GPUs using Khronos SYCL

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Computer system architecture trends are constantly evolving to provide higher performance and computing power, to support an increasing demand for high-performance computing domains including AI, machine learning, image processing and automotive driving aids. The most recent being the move towards heterogeneity, where a system has more than one kind of processor working together in parallel. These kinds of systems are everywhere, from desktop machines and high-performance computing servers to mobile and embedded devices.

OpenCL is an open standard from the Khronos group which provides a low-level C API for compiling and offloading code to be executed on another heterogeneous architecture and moving data to and from the device. A more recent standard form the Khronos group; SYCL is a single source heterogeneous programming model which provides the performance portability of OpenCL with a high-level modern C++ programming interface.

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.

This talk will present the SYCL programming model. It will cover how to find an appropriate heterogeneous device to execute work on, how to defined data dependencies and construct task graphs using accessors and how to write C++ code which will execute on the device. It will cover other features of the interface including the host device, the fallback and templating device code. It will then present various ecosystem projects which are built on top of SYCL including Eigen / TensorFlow, Parallel STL and SYCBLAS.

avatar for Michael Wong

Michael Wong

Distinguished Engineer, VP, Codeplay
Michael Wong is Distinguished Engineer/VP of R&D at Codeplay Software. He is a current Director and VP of ISOCPP , and a senior member of the C++ Standards Committee with more then 15 years of experience. He chairs the WG21 SG5 Transactional Memory and SG14 Games Development/Low Latency/Financials... Read More →

Monday September 24, 2018 16:45 - 17:45 PDT
Steamboat (403)