Hacker News new | ask | show | jobs
by skohan 2822 days ago
What if anything does Cuda do better/differently than OpenCL?
2 comments

CUDA itself does only one thing better - it lets you write kernels in C++ rather than a fairly restrictive subset of C. Far more importantly, it has a large ecosystem of tooling (including excellent profiling tools), libraries, documentation and open source projects out there. Comparatively speaking, OpenCL is a barren landscape.
SYCL layer/standard adds "C++ Single-source Heterogeneous Programming" for OpenCL: https://www.khronos.org/sycl/
That it does and there's also plenty of convenience wrappers of various kinds for different languages. Unfortunately, none of that can address the ecosystem issue, which is the one that really matters.
Cuda has Cooperative Groups now on Volta and Turing architectures. This allows for synchronization between entire workgroups rather than just locally. So you can pretty much keep your entire job on the GPU even if it involves multiple kernels. Really important for complex jobs where performance is a must.

https://devblogs.nvidia.com/cooperative-groups