ComputeCpp Extensions

List of SYCL extensions implemented in ComputeCpp. Some of these extensions have been proposed for future versions of SYCL and some of them have already made it in (though possibly slightly modified).

Some extensions have feature test macros that can be used to check whether the extension is available or not. If there are multiple iterations of an extension, the feature test macro will have a different value for each iteration.

constexpr id and range classes

  • Feature test macro: N/A
  • First implemented: Version 2.5.0
  • SYCL version: 1.2.1 and higher
  • Status: Proposed for SYCL post-2020

When compiling SYCL code (1.2.1 or higher) using C++14 or higher, all operations on id and range class objects are automatically constexpr.

Mark pointers of read-only accessors as const

  • Values: 202109
  • First implemented: Version 2.7.0
  • SYCL version: 1.2.1 and higher
  • Status: Experimental

When the macro COMPUTECPP_EXT_READ_ACC_CONST_PTR_ENABLE is defined for the device compiler, the internal pointers of all read-only accessors become const. This can potentially lead to more efficient code generation.

This isn't enabled by default because the constness gets propagated and some existing code might break.

Select a Product

Please select a product

ComputeCpp enables developers to integrate parallel computing into applications using SYCL™ and accelerate code on a wide range of OpenCL™ devices such as GPUs.

ComputeSuite for R-Car enables developers to accelerate their applications on Renesas® R-Car based hardware such as the V3M and V3H, using the widely supported open standards SYCL and OpenCL.

Network Icon


part of our network