AMD Making Progress On HMM-Based SVM Memory Manager For Open-Source Compute

Written by Michael Larabel in Radeon on 9 January 2021 at 09:46 AM EST. 10 Comments
RADEON
This week AMD engineers published their initial code for the AMDGPU/AMDKFD Linux kernel driver for providing a Heterogeneous Memory Management based Shared Virtual Memory (SVM) memory manager that ultimately will be used by their ROCm compute stack.

Linux's HMM implementation came together over the years and of the interest to many vendors. HMM allows for GPU discrete video memory and other (non-conventional) device memory to be integrated into regular code paths and allowing memory pointers to work across devices / memory address spaces. HMM is a key piece of the Linux handling for heterogeneous computing not only around GPUs but also with FPGAs and DSP in mind, among other possible devices.

NVIDIA has been open with working on their HMM support and interest for Nouveau as well as their proprietary stack. AMD also talked up HMM support while this week saw the initial code drop for their HMM-based SVM memory manager implementation for their AMDKFD compute driver that is part of AMDGPU.

This code is still in early form and has some big items still to be addressed like failing to work when IOMMU is enabled and the performance currently being subpar, but at least it's in a state for initial code review and feedback.

Ultimately this new SVM memory manager will be interfaced with by their ROCm compute stack in user-space to which they already have preliminary code written for interfacing with the memory manager.

Those curious about this new memory management work in its current form can see this mailing list thread with the nearly five thousand lines of new kernel device code.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week