Linux kernel is all set to start managing memory effectively to enhance machine learning developments. A solution called Heterogeneous Memory Management in development to enhance GPU results on certain applications.
The Heterogeneous Memory Management (HMM) lets a device driver mirror the address space for a process. The process is managed by the memory management tool. This upliftment will help a GPU or machine learning application directly access the memory of a process without copying anything.
“HMM is a set of helpers to facilitate several aspects of address space sharing and device memory management. Unlike existing sharing mechanism that relies on pinning pages use by a device, HMM relies on mmu_notifier to propagate CPU page table update to device page table,” Red Hat developer and Linux contributor Jérôme Glisse writes, while explaining the HMM process in a mailing announcement.
Setbacks at the initial stage
HMM was initially planned for Linux systems back in 2014. Red Hat and Nvidia have already been involved as the key developers to include HMM in Linux. However, the lack of kernel support was so far the major setback.
Another obstacle in adding HMM to Linux is the lack of video driver support. Nvidia engineers have started been working towards its fix. Also, AMD is now on board to support the open source movement. But hardware features are limited to Nvidia’s processors as page faults for HMM are so far only supported by Nvidia GPUs.
Having said that, the latest development will boost the speed of libraries of OpenCL and CUDA. These performance improvements will heavily benefit machine learning operations.