Mesa 20.2's Nouveau Enables HMM, OpenCL SVM Now Supported
The open-source NVIDIA "Nouveau" driver stack reached a new milestone today with the user-space code in Mesa 20.2 finally flipping on the Heterogeneous Memory Management (HMM) support.
It's been a long road with the work done by Red Hat, NVIDIA engineers themselves on the open-source Nouveau HMM bits too, and the community in getting heterogeneous memory management mainlined and working. This has also been part of Red Hat's broader OpenCL/compute upbringing in recent years for the Nouveau driver stack. But finally today the HMM caps are set in exposing it in user-space for the NVC0 driver with Pascal GPUs and newer.
The merge request by Red Hat's Karol Herbst to flip on HMM in the NVC0 driver is done in order to support shared virtual memory (SVM). The merge request had been open for two months but finally landed today, ahead of the Mesa 20.2 branching later this month. Some of the patches that are part of this series date back two years.
This is another significant step forward for open-source NVIDIA OpenCL/compute support albeit still hugely bottle-necked by the current lack of re-clocking for the GeForce GTX 900 series and newer... OpenCL support is coming together nicely on the open-source side but until the re-clocking situation is sorted out by NVIDIA, which is currently blocked by PMU firmware access, it will be slow. But something likely is to be happening given Red Hat's continued investment in Nouveau and some rumored open-source NVIDIA play this calendar year.
In any case, it's nice to see that Nouveau Clover will be able to expose SVM for OpenCL. The lack of NVIDIA's proprietary driver exposing SVM was one of the expressed reasons holding it back from OpenCL 2.x support. Granted now with OpenCL 3.0 there is greater flexibility including making SVM optional.
It's been a long road with the work done by Red Hat, NVIDIA engineers themselves on the open-source Nouveau HMM bits too, and the community in getting heterogeneous memory management mainlined and working. This has also been part of Red Hat's broader OpenCL/compute upbringing in recent years for the Nouveau driver stack. But finally today the HMM caps are set in exposing it in user-space for the NVC0 driver with Pascal GPUs and newer.
The merge request by Red Hat's Karol Herbst to flip on HMM in the NVC0 driver is done in order to support shared virtual memory (SVM). The merge request had been open for two months but finally landed today, ahead of the Mesa 20.2 branching later this month. Some of the patches that are part of this series date back two years.
This is another significant step forward for open-source NVIDIA OpenCL/compute support albeit still hugely bottle-necked by the current lack of re-clocking for the GeForce GTX 900 series and newer... OpenCL support is coming together nicely on the open-source side but until the re-clocking situation is sorted out by NVIDIA, which is currently blocked by PMU firmware access, it will be slow. But something likely is to be happening given Red Hat's continued investment in Nouveau and some rumored open-source NVIDIA play this calendar year.
In any case, it's nice to see that Nouveau Clover will be able to expose SVM for OpenCL. The lack of NVIDIA's proprietary driver exposing SVM was one of the expressed reasons holding it back from OpenCL 2.x support. Granted now with OpenCL 3.0 there is greater flexibility including making SVM optional.
6 Comments