Core Features
Feature |
Status |
---|---|
multiple devices in a context |
no |
sub-group |
yes |
group functions/algorithms |
yes |
integer functions |
yes |
math functions (scalar) |
yes |
math functions (vector) |
yes |
math functions (marray) |
no |
common functions |
yes |
geometric functions |
yes |
relational functions |
yes |
atomic ref |
yes |
Operating systems |
Linux |
reinterpret buffer |
yes |
stream |
yes |
device event |
yes |
group async copy |
yes |
platform get info |
yes |
kernel get info |
yes |
|
yes |
device selector |
yes |
hierarchical parallelism |
yes |
host task |
yes |
in-order queue |
yes |
reductions |
yes |
queue shortcuts |
yes |
vec |
yes |
marray |
yes |
errc |
yes |
anonymous kernel lambda |
yes |
feature test macros |
yes |
sycl::span |
yes |
sycl::dynamic_extent |
no [1] |
sycl::bit_cast |
yes |
aspect_selector |
no |
kernel bundle |
no |
specialization constants |
yes |
Non-core Features
Feature |
Status |
---|---|
image |
no (yes with |
fp16 data types |
yes |
fp64 data types |
yes |
prefetch |
yes |
USM |
host, device, shared |
USM atomic host allocations |
no |
USM atomic shared allocations |
yes |
USM system allocations |
yes |
SYCL_EXTERNAL |
yes |
atomic memory orders |
relaxed, acquire, release, acq_rel, seq_cst |
atomic fence memory orders |
no |
atomic memory scopes |
sub_group, work_group, device, system |
atomic fence memory scopes |
no |
64 bit atomics |
yes |
binary format |
NVPTX and SASS |
device partitioning |
no |
host debuggable device |
no |
online compiler |
no |
online linker |
yes |
queue profiling |
yes |
mem_advise |
read_mostly, preferred location, accessed by |
backend spec |
WIP [2] |
application backend interop |
partial [2] |
kernel backend interop |
no |
host task (with interop handle) |
yes |
reqd_work_group_size |
partial [3] |
cache build result |
no |
build log |
no |
built-in kernel functions |
none |
Extensions
Feature |
Status |
---|---|
uniform |
no |
USM address spaces (device, host) |
partial |
use pinned host memory |
yes |
sub-group mask (+group ballot) |
yes |
static local memory usage query |
no |
sRGB images |
no |
default platform context |
partial |
memory channels |
no |
max work group queries |
partial |
joint matrix |
full [^jointmatrix, experimental] |
restrict all |
no |
property list |
no |
kernel properties |
no |
invoke SIMD |
no |
low level device info |
no |
kernel cache config |
no |
FPGA lsu |
no |
FPGA reg |
no |
data flow pipes |
no |
enqueue barrier |
no |
filter selector |
yes |
group sort |
yes |
free function queries |
yes |
explicit SIMD |
no |
discard_queue_events |
yes |
device_if |
no |
device_global |
no |
C and C++ Standard libraries support |
yes (with clang++, not icpx) |
assert in kernels |
yes |
buffer_location |
no |
accessor_property_list (+no_offset, no_alias) |
yes |
group local memory |
yes |
printf |
yes |
ext_oneapi_bfloat16 |
yes |
extended device info |
no |
sycl_ext_oneapi_cuda_tex_cache_read |
yes |
sycl_ext_oneapi_native_math |
yes |
sycl_ext_oneapi_bfloat16_math_functions |
yes |
sycl_ext_oneapi_cuda_async_barrier |
yes |
sycl_ext_oneapi_bindless_images |
yes |
sycl_ext_oneapi_graph |
experimental |
sycl_ext_oneapi_non_uniform_groups |
yes (excluding tangle_group) |
sycl_ext_oneapi_peer_access |
yes |