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.
Features
HAMi-core offers the following key features:
-
Virtualize the device memory
-
Limit the device utilization
Implements a custom time-slicing mechanism to control GPU usage.
-
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: