The provisional specification of the SYCL™ 1.2 standard was officially announced and released to the public on Wednesday 19th of March, at the San Francisco Game Developers Conference 2014.
SYCL is a royalty-free, cross-platform C++ programming layer that is currently being standardized by the Khronos™ Group. The new standard builds on the underlying concepts, portability and efficiency of OpenCL™, while adding the ease-of-use and flexibility of C++. It allows developers to leverage C++ features such as inheritance, operator overloading and templates on the range of heterogeneous platforms supported by OpenCL. SYCL builds on top of SPIR™, the standard OpenCL intermediate representation, also developed by the Khronos Group, which enables a whole new ecosystem of languages and programming models to be built on top of OpenCL.
Developers have long requested a solution allowing them to use C++ for OpenCL, and SYCL 1.2 provides a platform that allows them to build and port reusable and efficient C++ libraries to OpenCL. SYCL provides a subset of C++, consisting of a wide range of programming techniques and abstractions that form the foundation for C++ template libraries and high level models to be built on.
SYCL 1.2 is a provisional specification with the intention of engaging with the growing community of OpenCL developers along with the C++ community to provide feedback and ideas for this new model. The specification and links to feedback forums can be found here: www.khronos.org/opencl/sycl.
Codeplay is pleased to announce that it is working on an implementation of this new exciting technology.
If you are interested in learning more about SYCL, further follow-up blog posts will be published shortly, with a more in-depth description of the SYCL programming model, as well as some practical examples.
The following are quotes from the Press Release that went live this morning:
“Developers have been requesting C++ for OpenCL to help them build large applications quickly and efficiently and there are lots of useful C++ libraries that they want to port to OpenCL. SYCL makes this possible and we are looking forward to the community feedback to help drive the final release and future roadmap. We are especially keen to work with C++ library developers who want to accelerate their libraries using the performance of OpenCL devices.”
Andrew Richards, Chair of the SYCL working group and CEO at Codeplay.
“The Khronos OpenCL working group is methodically building a complete open standards-based stack for heterogeneous parallel programming, first the core OpenCL cross-platform specification, then the SPIR cross-vendor intermediate representation – and now SYCL that builds on both those previous innovations to enable single source C++ development. This is a significant milestone in enabling industrial-grade applications to harness OpenCL acceleration.”
Neil Trevett, Chair of the OpenCL working group, President of the Khronos Group and Vice President, Mobile Content at NVIDIA.
“SYCL represents a tremendous step forward for C++ programmers wishing to maximize performance of their applications, at AMD, we believe the key to unlocking the full potential of modern platforms lies in delivering familiar programming models and non-proprietary APIs to target the major programmable elements available on today’s SOCs and processors. We are excited about SYCL’s potential to expose these capabilities to such a large class of programmers.”
Gregory Stoner, Managing Director of the HSA Foundation, Senior Director and Chief Evangelist for HSA at AMD.
“Qualcomm Technologies, Inc. worked with Khronos on the provisional specification of SYCL 1.2 in order to help enable mobile developers to utilize C++ for programming OpenCL-supporting GPUs. SYCL 1.2 has the potential to enable the development of portable libraries that abstract away the host/device boundary, delivering the necessary flexibility to use higher-level C++ abstractions in mobile devices that use Snapdragon™ processors.”
Eric Demers, Vice President of GPU Hardware at Qualcomm Technologies, Inc.
Khronos, SPIR and SYCL are trademarks of the Khronos Group Inc. OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.