Shared Virtual Memory Lands In Mesa Gallium3D's "Clover" OpenCL Implementation
After being in code review the past half-year, support for Shared Virtual Memory (SVM) within Gallium3D's "Clover" OpenCL state tracker was just merged for Mesa 20.1.
Shared Virtual Memory is one of the requirements of OpenCL 2.0 and allows for sharing pointers and other data structures more seamlessly between the host and GPU/device. This shared address space / virtual memory between the host and device also provides for better memory model consistency, among other improvements.
Red Hat's Karol Herbst has been working on this Clover SVM support as part of the Red Hat effort on improving the open-source NVIDIA GPU compute capabilities with Mesa. Funny enough, the lack of Shared Virtual Memory support by NVIDIA's proprietary graphics driver has been one of the reasons it's been left behind at OpenCL 1.2.
The Clover SVM support was merged today as a step forward for this Mesa OpenGL implementation. However, Clover does not yet have full OpenCL 2.0 capabilities and the usual caveats apply that this is focused on the Nouveau driver stack, AMD no longer supports Clover for their driver stack, and even on Nouveau the compute performance at this point will be rather limited until the big re-clocking obstacle is sorted out for Maxwell and later GPUs.
Shared Virtual Memory is one of the requirements of OpenCL 2.0 and allows for sharing pointers and other data structures more seamlessly between the host and GPU/device. This shared address space / virtual memory between the host and device also provides for better memory model consistency, among other improvements.
Red Hat's Karol Herbst has been working on this Clover SVM support as part of the Red Hat effort on improving the open-source NVIDIA GPU compute capabilities with Mesa. Funny enough, the lack of Shared Virtual Memory support by NVIDIA's proprietary graphics driver has been one of the reasons it's been left behind at OpenCL 1.2.
The Clover SVM support was merged today as a step forward for this Mesa OpenGL implementation. However, Clover does not yet have full OpenCL 2.0 capabilities and the usual caveats apply that this is focused on the Nouveau driver stack, AMD no longer supports Clover for their driver stack, and even on Nouveau the compute performance at this point will be rather limited until the big re-clocking obstacle is sorted out for Maxwell and later GPUs.
9 Comments