Mesa 21.0 Begins Landing Optimizations For AMD Smart Access Memory
While AMD Smart Access Memory has already been supported under Linux for some time with its resizable BAR functionality, only now with all the excitement around the feature being promoted with the Ryzen 5000 series and Radeon RX 6000 series hardware is the Mesa driver code beginning to see some optimizations for it.
Lead RadeonSI developer Marek Olšák of AMD has merged a set of optimizations for AMD Smart Access Memory that will come in next quarter's Mesa 21.0 release. The code that landed today include a helper for determining Smart Access Memory / all vRAM visible, only force the staging uploads for vRAM when Smart Access Memory isn't enabled, and only use staging for linear textures when the feature is disabled. For cases when Smart Access Memory is enabled, vRAM is now used for command buffers, the pipe usage stream is mapped to vRAM, and the uploading code has been unified and going straight to vRAM with this feature enabled. More details within this merge request.
These Smart Access Memory optimizations are focused on the RadeonSI Gallium3D code. The code is queued in Mesa 21.0-devel while the stable release with this functionality should be out in March, hopefully before then we'll see more optimizations.
For those wondering how to check if Smart Access Memory is enabled for your Linux system, see the details in this forum thread.
I was in the process already of running some AMD Smart Access Memory Linux benchmarks while I'll be restarting them now with this latest Mesa Git.
Lead RadeonSI developer Marek Olšák of AMD has merged a set of optimizations for AMD Smart Access Memory that will come in next quarter's Mesa 21.0 release. The code that landed today include a helper for determining Smart Access Memory / all vRAM visible, only force the staging uploads for vRAM when Smart Access Memory isn't enabled, and only use staging for linear textures when the feature is disabled. For cases when Smart Access Memory is enabled, vRAM is now used for command buffers, the pipe usage stream is mapped to vRAM, and the uploading code has been unified and going straight to vRAM with this feature enabled. More details within this merge request.
These Smart Access Memory optimizations are focused on the RadeonSI Gallium3D code. The code is queued in Mesa 21.0-devel while the stable release with this functionality should be out in March, hopefully before then we'll see more optimizations.
For those wondering how to check if Smart Access Memory is enabled for your Linux system, see the details in this forum thread.
I was in the process already of running some AMD Smart Access Memory Linux benchmarks while I'll be restarting them now with this latest Mesa Git.
10 Comments