V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mayooot
V2EX  ›  NVIDIA

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

  •  
  •   mayooot · 236 天前 · 1682 次点击
    这是一个创建于 236 天前的主题,其中的信息可能已经有所发展或是发生改变。
    服务器上有 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 命令以外,大佬们有什么好的思路么?
    1 条回复    2024-03-30 23:33:29 +08:00
    yzs981130
        1
    yzs981130  
       236 天前
    nvmlDeviceSetMigMode?

    你举的 mig-parted 里面是调的这个
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2520 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:46 · PVG 23:46 · LAX 07:46 · JFK 10:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.