3 ms·
Doesn't it take, like, 100 lines of code to call a kernel in OpenCL? Compared to Nvidia's 1? Developer friction is huge. Don't discount the amount of boilerpla
by thrtythreeforty 3y ago
Doesn't it take, like, 100 lines of code to call a kernel in OpenCL? Compared to Nvidia's 1?
Developer friction is huge. Don't discount the amount of boilerplate it takes to get started with something.
- throwaway0665 3y agoJust like OpenGL
- dotnet00 3y agoBigger than it taking a lot of boilerplate is the issue that there was never sufficiently widespread and bug free support for mixing CPU and GPU code in OpenCL in the way CUDA allows. So you end up having to do a lot more work to port stuff over. When porting stuff to CUDA, you can share a lot of code. Simplifies the task so much.
- CuriousCosmic 3y agoYep. That was the point I was making. Much like OpenGL, writing OpenCL is absolutely miserable so people just stuck with less portable alternatives that didn't write like pulling teeth.
- pjmlp 3y agoAdditionally OpenCL was stuck in C99, Khronos ignored C++ for a long time, ignored Fortran to this day, and never cared about other languages. CUDA is C, C++ and Fortran for at least a decade, and with PTX created a third party ecosystem that SPIR still doesn't have to this day.
- Kon-Peki 3y ago> Doesn't it take, like, 100 lines of code to call a kernel in OpenCL? Compared to Nvidia's 1? If you are using a single line of code to execute a CUDA kernel then you are accepting a huge amount of default behavior. I mean, this is really, really nice and you get some pretty good performance. You're going to outgrow that single line of code very quickly. I think you're beyond it by the time you get done with Nvidia tutorial #2.