Khronos Releases Conformance Test Suite For SYCL 1.2.1
July 11, 2018

Khronos Releases Conformance Test Suite For SYCL 1.2.1

BEAVERTON, OR — The Khronos Group, an open consortium of leading hardware and software companies creating advanced acceleration standards, has announced the availability of the SYCL Adopters Program for the C++-based programming framework for parallel programming. Under the Adopters Program, implementers of SYCL 1.2.1 can access an extensive conformance test suite, and then upload their test results to Khronos for review and the opportunity to become officially conformant. Together with the SYCL Adopters Program, Khronos also announces the release of a maintenance update for SYCL 1.2.1, delivering specification clarifications that enable enhanced run-time optimizations. 
"A decade since OpenCL's inception, we now have the SYCL high-level, modern C++ language for parallel processing with complete conformance tests and an official Adopter's Package," says Michael Wong, SYCL Working Group Chair at Khronos. "The Adopters Package is an invaluable resource for implementers and will help ensure consistency between multiple SYCL implementations. We expect the first official SYCL 1.2.1-conformant implementations to ship in the coming months."
SYCL 1.2.1 was released in December 2017 and is layered over OpenCL 1.2. It incorporates significant experience gained from three 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. The SYCL Working Group today also released a specification maintenance update to provide requested developer features and enable enhanced run-time optimizations.
“Khronos conformance tests continue to play a key role in protecting the integrity of our standards by ensuring consistency and reliability across multiple vendor implementations,” says Neil Trevett, Khronos president. “The new Adopters Package and tests for SYCL 1.2.1 will help Khronos continue our mission to support OpenCL-based multi-vendor parallel programming and machine learning acceleration. SYCL is also key to Khronos helping the industry to bring heterogeneous parallel programing to modern ISO C++.”
The SYCL 1.2.1 Adopters Package includes the standard’s first conformance test suite, enabling adopters to test their implementations prior to submitting the results for review to the Khronos SYCL Working Group. Once an Adopter’s results are successfully approved, they are able to label their product as SYCL conformant, use a royalty-free trademark license for the SYCL name and logo in association with their implementation, gain protection from the Khronos IP framework, and enjoy marketing promotion from the Khronos Group.
“Developers can now be confident that their use of SYCL to port their C++ code to parallel processors is leveraging an open standard protected by a well-defined conformance process,” said Andrew Richards, CEO of Codeplay. “This will increase practical portability between different devices and vendors, and protect the SYCL-based software investment made by developers throughout the industry.”
SYCL 1.2.1, layered over OpenCL 1.2, enables code for heterogeneous parallel processors to be written in a single-source style using completely standard modern C++. SYCL 1.2.1 single-source programming enables the host and kernel code for an application to be contained in the same source file, in a type-safe way and with the simplicity of a cross-platform asynchronous task graph. A multi-vendor, royalty-free standard, SYCL 1.2.1 furthers Khronos’s work to support machine learning acceleration, promote parallel processing in safety-critical markets, and encourage the C++ ISO standard to support heterogeneous parallel programming.  Leveraging the ongoing work of Khronos working groups, SYCL 1.2.1 is interoperable with OpenGL®, Vulkan®, OpenVX, and other vendor APIs including DirectX.