NVIDIA 消费级显卡有没有免费靠谱的多个容器共享的方案?

154 天前
 cinlen

假设在一个 k8s 集群中每一个节点有 4 张 4090, 这些显卡可以分配给 Pod ,但目前一个 Pod 独占整数张 4090.

想要的效果是:2 个(or 多个) Pod 可以同时共享一张显卡。

看了一下 NVIDIA 官方的方案:

  1. MIG(把物理显卡划分成 7 个 GPU 实例), 缺点是 : 只能划分 7 个实例,且只有例如 blackwell 等架构显卡才能用。
  2. vGPU(有分时方案和 MIG 方案),缺点是不免费,且一样挑显卡。

需求是:

请问站内有无大佬有相关的实践/思路/方案?

2718 次点击
所在节点    NVIDIA
11 条回复
adsryen
154 天前
蹲答案就是学习 嘻嘻
yinwai
154 天前
这个需求直接 nvidia-docker 不就可以了,可指定每个容器分配哪几张,单张 gpu 可映射到多个容器,不过这样做没法像 mig 一样对每个容器调节 gpu 性能。
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html
cinlen
154 天前
@yinwai 漏了一个需求,要求这个 Pod 只能使用这张显卡的有限能力(例如 30%,不能超过上限)。
piero66
154 天前
没有可能,游戏卡开 vgpu 止步于 20 系
piero66
154 天前
建议用 nvidia-docker 竞技场,资源先到先得
choury
154 天前
要是能让你这样搞,那些计算卡卖给谁
yinwai
154 天前
@cinlen 那可以试试下面这个项目,可以 hack 消费级显卡开 vgpu
https://github.com/DualCoder/vgpu_unlock
skrbug
154 天前
@piero66 这个代表的意思是? 先运行的容器将一直占着这张显卡,哪怕没有进程调用 GPU

nvidia-docker 竞技场是说的什么? 大佬科普下
carmark
154 天前
具体的方案可以参考这里: https://zhuanlan.zhihu.com/p/398369404

参考方案就是阿里的 cGPU ,腾讯的 qGPU 。

主要实现的思路就是 ioctl 层面的拦截,干预调度和显存管理。
piero66
154 天前
@skrbug 就是字面意思,资源先到先得,游戏卡基本做不了资源切割
longredzzz
154 天前
https://github.com/Project-HAMi/HAMi
推荐这个项目,支持显存切分,算力切分,虚拟显存。

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

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

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

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

© 2021 V2EX