With #1845 and other following contributions, alpaka now supports also SYCL/oneAPI as a back-end to target CPUs, Intel GPUs and FPGAs.
This PR propagates the support for SYCL also in pixeltrack.
Some comments:
the new back-ends available are --syclcpu and --syclgpu
in the Makefile, the linking of the libraries and of the final target must be done with the Intel compiler (when available)
the develop branch of alpaka is cloned at a newer commit
there are some workarounds for bugs/not supported features in sycl (all_of_group / any_of_group on CPU, SYCL kernels do not support zero-lenght arrays, device global variables are not supported in the SYCL back-end yet)
common interface for math functions (SYCL wants math function in the sycl namespace)
a trait for the warp size has been added to force it to 32 when needed
In addition, the vendor-specific RNG support in alpaka has been disabled.
With #1845 and other following contributions, alpaka now supports also SYCL/oneAPI as a back-end to target CPUs, Intel GPUs and FPGAs. This PR propagates the support for SYCL also in pixeltrack. Some comments:
--syclcpu
and--syclgpu
all_of_group
/any_of_group
on CPU, SYCL kernels do not support zero-lenght arrays, device global variables are not supported in the SYCL back-end yet)sycl namespace
)In addition, the vendor-specific RNG support in alpaka has been disabled.