跳转到文档内容
版本:v2.6.0

HAMi-core 设计

HAMi-core 是一个为 CUDA 环境设计的 hook 库,作为容器内的 GPU 资源控制器,已被 HAMiVolcano 等项目采用。

HAMi-core 架构图,显示 GPU 资源控制器设计

功能特性

HAMi-core 提供以下核心功能:

  1. 设备显存虚拟化

    nvidia-smi 输出示例,显示 HAMi-core 虚拟化后的 GPU 内存

  2. 限制设备使用率

    通过自定义的时间片机制控制 GPU 使用情况。

  3. 实时监控设备使用率

设计原理

HAMi-core 通过劫持 CUDA 运行时库(libcudart.so)与 CUDA 驱动库(libcuda.so)之间的 API 调用来实现其功能,如下图所示:

HAMi-core 位置图��,显示 CUDA Runtime 和 Driver 之间的 API 调用拦截

CNCFHAMi 是 CNCF Sandbox 项目