Andrew Richards, Paul Keir and Lukas Kuklinek of Codeplay will attend the summer meeting of the SICSA-sponsored SPLS on Wednesday 18th June. Andrew will present an overview of the upcoming Khronos SYCL standard. Here is the abstract of his talk:
The New SYCL for OpenCL Standard: C++ Metaprogramming for Heterogeneous Systems
Andrew Richards, CEO, Codeplay
We have just finished the first provisional release of a standard we have been working on with a group of semiconductor companies and software developers. It's called SYCL and it enables C++ metaprogramming on a wide range of heterogeneous processors supported by OpenCL. This talk will cover some of the problems standardizing a programming model on a range of heterogeneous devices and operating systems and how as a group we overcame those problems with SYCL. We came up with some interesting new solutions to the challenges posed by heterogeneous systems, such as:
How do you provide a standard way for different compilers for very different devices to interoperate and compile the same integrated source file?
How do you expose the multiple levels of parallelism that exist in OpenCL's execution model in an easy-to-use way?
How do you handle the differences in data access between the "host" CPU and different devices in the system?
How does the type system handle the difference in pointer types between host and device?
We also had a lot of discussions about asynchronous error-handling, which is a hard problem in C++ right now.
The entire program for SPLS can be found here. .