本文主要是介绍K8S节点GPU虚拟化(vGPU),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
vGPU实现方案
4paradigm提供了k8s-device-plugin,该插件基于NVIDIA官方插件(NVIDIA/k8s-device-plugin),在保留官方功能的基础上,实现了对物理GPU进行切分,并对显存和计算单元进行限制,从而模拟出多张小的vGPU卡。在k8s集群中,基于这些切分后的vGPU进行调度,使不同的容器可以安全的共享同一张物理GPU,提高GPU的利用率。此外,插件还可以对显存做虚拟化处理(使用到的显存可以超过物理上的显存),运行一些超大显存需求的任务,或提高共享的任务数。
部署
需要在节点上将nvidia runtime做为你的docker runtime预设值。我们将编辑docker daemon的配置文件,此文件通常在/etc/docker/daemon.json路径:
{"default-runtime": "nvidia","runtimes": {"nvidia": {"path": "/usr/bin/nvidia-container-runtime","runtimeArgs": []}}"default-shm-size": "2G"
}
虚拟化之前,在GPU节点启动一个GPU应用pod,通过nvidia-smi
这篇关于K8S节点GPU虚拟化(vGPU)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!