SYCL
E653476
SYCL is a C++-based, cross-platform abstraction layer for heterogeneous parallel programming, designed to enable single-source development for CPUs, GPUs, and other accelerators.
Statements (51)
| Predicate | Object |
|---|---|
| instanceOf |
C++-based programming abstraction
ⓘ
heterogeneous computing framework ⓘ parallel programming model ⓘ |
| basedOnLanguage | C++ ⓘ |
| canTarget |
CUDA devices
NERFINISHED
ⓘ
HIP devices ⓘ Level Zero devices ⓘ OpenCL devices ⓘ |
| compatibleWith | standard C++ toolchains (with SYCL extensions) ⓘ |
| designedFor |
cross-platform development
ⓘ
heterogeneous parallel programming ⓘ single-source C++ programming ⓘ |
| fullName | SYCL NERFINISHED ⓘ |
| governingBody | Khronos Group NERFINISHED ⓘ |
| hasImplementation |
ComputeCpp
NERFINISHED
ⓘ
triSYCL NERFINISHED ⓘ |
| hasOpenSourceImplementation |
DPC++
NERFINISHED
ⓘ
Open SYCL NERFINISHED ⓘ hipSYCL NERFINISHED ⓘ |
| hasProgrammingModelFeature |
asynchronous error handling
ⓘ
buffer-accessor memory model ⓘ command group submission ⓘ data-parallel kernels ⓘ device selection mechanism ⓘ queue-based execution model ⓘ single-source programming model ⓘ task graph execution ⓘ template-based generic programming ⓘ unified shared memory ⓘ |
| hasVersion |
SYCL 1.2
NERFINISHED
ⓘ
SYCL 1.2.1 NERFINISHED ⓘ SYCL 2020 NERFINISHED ⓘ |
| introducedYear | 2014 ⓘ |
| primaryUseCase |
graphics and vision workloads
ⓘ
high-performance computing ⓘ machine learning workloads ⓘ scientific simulations ⓘ |
| relatedStandard | OpenCL NERFINISHED ⓘ |
| standardizedBy | Khronos Group NERFINISHED ⓘ |
| supportsExecutionModel |
data parallelism
ⓘ
task parallelism ⓘ |
| supportsLanguageStandard |
C++11
ⓘ
C++14 ⓘ C++17 ⓘ C++20 ⓘ |
| supportsMemoryModel |
explicit data movement
ⓘ
unified shared memory ⓘ |
| supportsPlatform |
CPU
NERFINISHED
ⓘ
FPGA ⓘ GPU ⓘ accelerator ⓘ |
Referenced by (3)
Full triples — surface form annotated when it differs from this entity's canonical label.