Skip to content

Latest commit

 

History

History
50 lines (42 loc) · 3.96 KB

bluebox.md

File metadata and controls

50 lines (42 loc) · 3.96 KB

SYCL 1.2.1

SYCL 1.2.1 revision 7 is now the latest release as of April 27, 2020, is based on OpenCL 1.2, and is a major update representing 5 years of work by Khronos members. The new specification incorporates significant experience gained from 5 separate implementations and feedback from developers of machine learning frameworks such as TensorFlow, which now supports SYCL alongside the original CUDA accelerator back-end.

SYCL 1.2.1 builds on the features of C++11, with additional support for C++14 and C++17, enabling ISO C++17 Parallel STL programs to be accelerated on OpenCL devices. To support this effort, Khronos is backing an open-source project to support Parallel STL on top of SYCL, running on OpenCL devices. This project is hosted on Github. So, while SYCL brings the power of single-source modern C++ to the OpenCL and SPIR world, it also prepares the convergence with other standards such as Khronos' Vulkan, OpenVX and NNEF and ISO C++ (SG1, SG6, SG12, SG14, SG19).

SYCL 1.2

These SYCL 1.2 specification and conformance tests were released on May 11, 2015 and includes the following features:

  • Templates and lambda functions for higher-level application software that can be cleanly coded for optimized acceleration across the extensive range of shipping OpenCL 1.2 implementations.
  • Can be implemented to work with a variety of existing and new C++ compilers and layers over OpenCL 1.2 implementations from diverse vendors.
  • Builds on the features of C++11, with additional support for C++14 and also will enable C++17 Parallel STL programs to be accelerated on OpenCL devices in the future.
  • Developers can program at a higher level than OpenCL C, but always have access to existing code through seamless integration with OpenCL programs, C/C++ libraries and frameworks such as OpenMP
  • OpenCL's interop capability is inherited by SYCL to enable applications to use SYCL in conjunction with OpenGL, DirectX and the upcoming Vulkan API without memory-copy overhead.
  • Can be implemented to work with a variety of existing and new C++ compilers and layers over OpenCL 1.2 implementations from diverse vendors.

Builds on the features of C++11, with additional support for C++14 and also will enable C++17 Parallel STL programs to be accelerated on OpenCL devices in the future.