服务器上有 8 张 A100 显卡,想要进行 MIG 切分成 8 张卡,使用 `nvidia-smi mig` 命令可以进行切分,但是操作挺复杂的。
我之前的开源项目 [gpu-docker-api](
https://github.com/mayooot/gpu-docker-api) ,它暴露 API 使用户可以简单的创建容器、更新容器 GPU 数量、版本控制等功能。
之前为了简单考虑,创建容器时只能指定卡数,现在想要加一个指定虚拟化后的 GPU 功能,其实对于 docker 命令来说,就是将 `docker run --gpus='"device=1,2"'` 换成 `docker run --gpus '"device=0:1"'`,我的项目加入这个功能也很简单。
因为我的项目定位主要是方便一些大学实验室里的学习,他们对 Docker 、nvdia-smi 命令都不太熟悉,所以我想在项目里加入 “通过接口切分 GPU” 的功能。在 GitHub 上寻找时,mig-parted 项目好像只能切分主机的所有 GPU ,不然单个切割。
除了使用 Golang 执行 shell 命令以外,大佬们有什么好的思路么?