Is SYCL available on cuda?

Is SYCL available with new nvidia drivers? Has anyone tried?

Bumping this question, I’m also interested in SyCL + CUDA.

I had to look up SYCL. Khronos says:

“SYCL enables single source development where C++ template functions can contain both host and device code to construct complex algorithms that use OpenCL acceleration, and then re-use them throughout their source code on different types of data.”

This would indicate that SYCL provides features for OpenCL programmers that CUDA has provided natively for years. If I recall correctly, combined host and device code in the same source file was supported from CUDA 1.0, and C++ template support was added in CUDA 3.0. Today’s CUDA offers support for many C++11 features.

So I am not sure what you mean by “SyCL + CUDA”.

Xtream might interest you guys as a good option for SYCL:

Brief intro doc:

Source code:

Quick update regarding the current situation for anyone looking for this and finding this thread: SYCL over CUDA is in development and already working for many applications:

https://github.com/illuhad/hipSYCL

(Disclaimer: I’m the author of this software)

Hello,

Following up on this topic… can someone from nvidia advise if nvidia now offers support for SYCL code? I have not been able to find anything in the documentation.

best regards

SYCL isn’t offered, developed, maintained, or supported by NVIDIA. It may be able to run on NVIDIA GPUs; many such projects use CUDA or some other aspect of the NVIDIA-provided toolchain to run on NVIDIA GPUs. The message immediately prior to yours seems to suggest that there are ways to run SYCL on NVIDIA GPUs.

1 Like

There are a couple of ways to use SYCL with Nvidia hardware. First is to use hipSYCL as linked above, the second is to use the support that is being added to the DPC++ open source SYCL compiler project. Here is a link to the GitHub repo and it might also be interesting to know that further development of this is being done to provide SYCL for the Perlmutter supercomputer.

1 Like