Nouveau Is On The Verge Of Having Basic Compute Support

Karol has been ironing out the Nouveau NIR support that is a critical element to get SPIR-V support going for the Nouveau driver, which is the common IR to Vulkan and OpenCL. Meanwhile there is also the work to get SPIR-V support for Gallium3D's Clover state tracker.
On Friday Herbst sent out his latest patches for working on basic OpenCL compute support along his SPIR-V to NIR code path. Herbst noted, "Main difference to the last series is, that I tried to focus on the real core [parts] we need to get basic OpenCL support in spirv_to_nir, so that we can run more or less complex examples. There are some important core NIR changes and somebody should take a closer look at those."
It's important to keep in mind though that when basic OpenCL compute is there, the best support will probably be with Kepler GPUs for the time being since they can properly re-clock. Sadly the newer Maxwell and Pascal GPUs are still severely limited in their performance potential due to being bound to their boot clock frequencies for the time being.
Separately, it will also be interesting to see if any from the community look to leverage this SPIR-V to NIR work to improve the OpenCL support for AMD GCN GPUs that are not supported by ROCm... Given that the RadeonSI NIR support is also moving along well, this effort may indirectly help some of the older GCN GPUs that aren't covered by ROCm OpenCL.
8 Comments