SYCL-Based Kernel Templates#

The SYCL kernel templates are based on the SYCL 2020 programming model of oneAPI DPC++ Compiler. Kernel templates may impose restrictions on supported devices or adapters which are documented in their respective sections.

Kernel Parameter Interpretation#

The definition of a work-item as it relates to kernel_param parameters directly aligns with the SYCL specification. With the oneAPI DPC++ Compiler, a work-item corresponds to a SIMD lane on SIMD architecutes and a thread on SIMT architectures.

Note

If migrating from ESIMD kernel templates, then dividing ESIMD data_per_workitem by 32 approximates the SYCL data_per_workitem and multiplying ESIMD workgroup_size by 32 approximates the SYCL workgroup_size on Intel GPUs. However, configurations from one model may not be supported by the other, and optimal parameters should be determined through performance testing.

Available Templates#

The following templates are available in the oneapi::dpl::experimental::kt::gpu namespace, with the implementation optimized for GPU devices: