Skip to main content
Version: v2.7.0

HAMi-core design

HAMi-core is a hook library designed for the CUDA environment. It functions as an in-container GPU resource controller and has been adopted by projects like HAMi and Volcano.

HAMi-core architecture diagram showing GPU resource controller design

Features​

HAMi-core offers the following key features:

  1. Virtualize the device memory

    nvidia-smi output showing virtualized GPU memory with HAMi-core

  2. Limit the device utilization

    Implements a custom time-slicing mechanism to control GPU usage.

  3. Monitor the device utilization in real time

Design​

HAMi-core works by intercepting API calls between the CUDA Runtime (libcudart.so) and the CUDA Driver (libcuda.so), as shown below:

HAMi-core position diagram showing API call interception between CUDA Runtime and Driver

CNCFHAMi is a CNCF Sandbox project