Machine Learning Guided Optimal Use of GPU Unified Memory

NVIDIA’s unified memory (UM) creates a pool of managed mem- ory on top of physically separated CPU and GPU memories. UM automatically migrates page-level data on-demand so program- mers can quickly write CUDA codes on heterogeneous machines without tedious and error-prone manual memory management. To improve performance, NVIDIA allows advanced programmers to pass additional memory use hints to its UM driver. However, it is extremely difficult for programmers to decide when and how to effi- ciently use unified memory, given the complex interactions between applications and hardware. In this paper, we present a machine learning-based approach to choosing between discrete memory and unified memory, with additional consideration of different memory hints. Our approach utilizes profiler-generated metrics of CUDA programs to train a model offline, which is later used to guide opti- mal use of UM for multiple applications at runtime. We evaluate our approach on NVIDIA Volta GPU with a set of benchmarks. Results show that the proposed model achieves 96% prediction accuracy in correctly identifying the optimal memory advice choice.

Paper

Full text

PDF

Machine Learning Guided Optimal Use of GPU Unified Memory

Semantic Scholar · Computer Science · 2019

Abstract

NVIDIA’s unified memory (UM) creates a pool of managed mem- ory on top of physically separated CPU and GPU memories. UM automatically migrates page-level data on-demand so program- mers can quickly write CUDA codes on heterogeneous machines without tedious and error-prone manual memory management. To improve performance, NVIDIA allows advanced programmers to pass additional memory use hints to its UM driver. However, it is extremely difficult for programmers to decide when and how to effi- ciently use unified memory, given the complex interactions between applications and hardware. In this paper, we present a machine learning-based approach to choosing between discrete memory and unified memory, with additional consideration of different memory hints. Our approach utilizes profiler-generated metrics of CUDA programs to train a model offline, which is later used to guide opti- mal use of UM for multiple applications at runtime. We evaluate our approach on NVIDIA Volta GPU with a set of benchmarks. Results show that the proposed model achieves 96% prediction accuracy in correctly identifying the optimal memory advice choice.

Similar papers

© 2026 NYSGPT2525 LLC