怎样通过接口方式对 GPU 进行 MIG 切分?

46 天前
 mayooot
服务器上有 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 命令以外,大佬们有什么好的思路么?
858 次点击
所在节点    NVIDIA
1 条回复
yzs981130
46 天前
nvmlDeviceSetMigMode?

你举的 mig-parted 里面是调的这个

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1028390

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX