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

ID 660322
Updated 10/11/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 From which release it's removed?
OpenCL interoperability APIs 2022.0 
C++14 support 2022.0
Attribute propagation 2022.0
vector_class, string_class, function_class, mutex_class, shared_ptr_class, weak_ptr_class, hash_class and exception_ptr_class aliases 2022.0
program class, some APIs of kernel class 2022.0
mem_fence 2022.0
sycl::exception 2021.4
parallel_for taking non-const lambdas 2021.1
kernel::get_work_group_info 2022.0
non-template buffer_allocator 2023.0
get_native 2022.0

Note: nd_item::barrier and SYCL 1.2.1 image (incl sampler) are still supported.