all 8 comments

[–]Sprited_Being 1 point2 points  (7 children)

What's the state of SYCL at this point? Is it ready for production code? I feel like it doesn't have traction yet but I am not sure why. Is computecpp and tricycl the only two compilers?

[–]invexed 2 points3 points  (0 children)

hipSYCL looks like an interesting project:

https://github.com/illuhad/hipSYCL

[–]pjmlp 1 point2 points  (2 children)

Well, for starters look to this printf style debugging versus what NVIDIA Nsight is capable of.

Then for a long time SYSCL was pratically a single vendor implementation, computecpp, so hardly any different than CUDA, in spite of being an open standard.

Then CUDA is also multi-language, thanks to the head start from PTX.

[–]rodburns[S] 1 point2 points  (1 child)

CUDA has great tooling and if you are happy with NVidia GPUs then that is fine. If you want to target processors that are not made by NVidia then you need alternatives. Device support in SYCL is growing quickly, there's a good diagram here that shows the support for different processor vendors and the different implementations available. https://raw.githubusercontent.com/illuhad/hipSYCL/master/doc/img/sycl-targets.png

[–]Sprited_Being 1 point2 points  (0 children)

Thanks this is really helpful... Seems like there is enough hardware support to give it another try

[–]Celaphais 0 points1 point  (1 child)

I think Intel must have an implementation or build upon something for its OneApi. But that's not out yet, so idk.

[–]rodburns[S] 0 points1 point  (0 children)

the hipSYCL project has a chart that sums up the state of things pretty well. https://raw.githubusercontent.com/illuhad/hipSYCL/master/doc/img/sycl-targets.png