Vortex: OpenCL Compatible RISC-V GPGPU
arxiv.org
arxiv.org
edit: seems the paper is mostly about adding SIMT support to RISC-V, proably the answer to the above is that it RISC-V can run OpenCL even without the extension.
Interestingly, we now exclusively use high-level data parallel abstractions like RAPIDS dataframes, so if there was say a Modin->risc-v path, wouldn't be too heavy a lift to port most of our stack. (Though, as is, little reason to.)
We tried working with AMD & Intel early on here but they didn't really get it (architects, investors, and a few other decision-maker-types). It's easy to put $10-20M into the ecosystem and just build it -- a16z finally has several years after we pitched it to them, and so did Nvidia with rapids.ai after we pushed them for a couple years ("what's a dataframe?"). Nothing stopping AMD/Intel and other opencl ecosystem players. But they still aren't.
Last year, I had a student add a Vulkan backend to a GPU-targeting compiler[0]. Compared to the OpenCL backend, many programs ran substantially slower, and very few ran faster. It's certainly possible that this backend is imperfect, but it's more of a data point that I have seen elsewhere.
[0]: https://futhark-lang.org/student-projects/steffen-msc-projec...
Yes it does support C++ and finally has its own bytecode format for heterogeneous programming, but unless the card is OpenCL 2.2, it is back to my first paragraph.
I don't think it's accurate to say that the "entire ROCM stack is based on OpenCL." The rocm stack supports OpenCL, but it also supports hip, which is what AMD chose to use to implement many of the new libraries in the rocm platform (rocBLAS, rocFFT, rccl; replacing cuBLAS, cuFFT, nccl)
FWIW, rocm also doesn't support OpenCL 2.0.
P.S. It's awesome you're still working on Indigo!
I used to use OpenCL at work a lot.
Android uses its own dialect, RenderScript.
iOS had OpenCL, but since Metal got introduced, Metal Shaders are much better.
On Windows I used C++AMP for a while, now I just make use of Java/.NET libraries that plug into CUDA.
OpenCL biggest mistake was focusing on C only instead of opening the programming model to other languages.
SPIR and SYS-CL came too late into the game.
It's emitted by a bunch of compiler backends (eg Futhark).
ML and computer vision toolkits support it (eg PyTorch, OpenCL etc).
Not sure what you mean by corporate environments but the suits probably mostly use Excel and calc.exe :)
Not sure exactly what you're saying here, but NVIDIA's cores are bottom-up custom, and they are very unusual.