When last looked at it, NVIDIA was not supporting OpenCL beyond 1.0.
Also, when running OpenCL, NVIDIA hardware disables multiple DMA engines, and allows only one memory transfer at a time to prevent OpenCL running as fast as CUDA.
Did NVIDIA finally allow open source drivers to access all parts and features of the card to allow feature parity? Last time I checked they were considering a plan for planning a solution to that.
I don't think bits like the GSP firmware will ever be open-sourced, but the opportunity to write better OpenCL drivers has always existed. Some of Nvidia's other proprietary driver backends (eg. GBM, Vulkan) are also decently neglected, but mostly out of disuse rather than malice. I don't think any of these things mean you don't own the hardware.
I love your insights which enlighten my blind spots most of the time, but I didn't blame NVIDIA for OpenCL's failure. I just noted a company's choices when it comes to a competing set of libraries w.r.t. to their native ones.
Having said that, I'll try compiling a OpenCL 3.0 program in the cluster, so I can report whether NVIDIA runs this software, and if yes, how well.
Yeah, however if Intel and AMD actually delivered a working 2.0 with proper support for C++ and Fortran, maybe the OpenCL 3.0 back to 1.0 reboot would not have been needed.
Likewise SYSCL although built on top of OpenCL 3.0 primitives, is mostly Intel, which also owns CodePlay, the company that delivered the first working SYSCL compute experience, again neither AMD nor Intel (until it bought CodePlay).
Also, when running OpenCL, NVIDIA hardware disables multiple DMA engines, and allows only one memory transfer at a time to prevent OpenCL running as fast as CUDA.
Did NVIDIA finally allow open source drivers to access all parts and features of the card to allow feature parity? Last time I checked they were considering a plan for planning a solution to that.