"SYCL™ is an open, royalty-free standard
specification from the Khronos Group which defines a single source C++
programming layer that is built on top of
OpenCL™.
SYCL™ allows developers to leverage C++ features on
a wide range of heterogeneous devices supported by OpenCL, providing a
foundation for creating efficient, portable and reusable middleware libraries
and applications.
SYCL is aimed at developers who want to create or integrate OpenCL
applications and libraries with C++ programs. Dispatching device kernels
from C++ applications is a widely used method for dealing with
heterogeneous platforms in various programming models, such as CUDA,
C++AMP, HCC, OpenACC, or OpenMP. SYCL brings this capability to a wide
range of accelerators supporting OpenCL. This lets developers create powerful,
performance portable template libraries that can take advantage of a wide
range of heterogeneous hardware and software platforms.
SYCL fully supports OpenCL interoperability and ease of integration with
existing OpenCL frameworks. SYCL supports and exposes all of the OpenCL 1.2
features and capabilities. The SYCL API accepts OpenCL pre-built programs,
libraries, kernels and memory objects. The SYCL OpenCL interoperability API
allows the execution of OpenCL and SYCL kernels to be interleaved.
Integrating existing OpenCL libraries with a SYCL program is the suggested way
to re-use and retain highly optimized OpenCL code for specific devices, but
also have the capability of SYCL portable code for other devices
without needing to provide all of the possible highly tuned OpenCL libraries."
https://github.com/codeplaysoftware/computecpp-sdk
No comments:
Post a Comment