SYCL* 2020 Specification Features and DPC++ Language Extensions Supported in Intel® oneAPI DPC++/C++ Compiler

ID 660322
Updated 3/15/2024
Version Latest
Public

author-image

By

The DPC++ Compiler compiles C++ and SYCL source files with code for both CPU and a wide range of compute accelerators such as GPU and FPGA. This article describes the availability and version of DPC++ Compiler where support for the SYCL 2020 specification features or DPC++ language extensions was added. 

SYCL 2020 Support

Starting from 2024.1, we are officially conformant with SYCL 2020 and supporting all SYCL 2020 APIs. Please refer to https://github.com/intel/llvm/tree/sycl/sycl/doc/extensions for detailed extension enabling status. 

DPC++ Extensions

Please refer https://github.com/intel/llvm/tree/sycl/sycl/doc/extensions for detailed extension enabling status.

SYCL 1.2.1 Features Deprecation

Following is the status of deprecation and removal of SYCL 1.2.1 features in dpcpp Compiler:

Feature Deprecated? Removed?
OpenCL interoperability APIs 2021.3  2022.0 
SYCL 1.2.1 image (incl sampler) No No
C++14 support 2022.0 Yes
Attribute propagation 2021.4 2022.0
vector_class, string_class, function_class, mutex_class, shared_ptr_class, weak_ptr_class, hash_class and exception_ptr_class aliases 2021.4 2022.0
program class, some APIs of kernel class 2021,3 2022.0
mem_fence 2022.0 Yes
nd_item::barrier No No
sycl::exception 2021.4 Yes
parallel_for taking non-const lambdas 2021.1 2021.1
kernel::get_work_group_info 2022.0 Yes
non-template buffer_allocator 2023.0 Yes
get_native 2022.0 Yes