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 |