通过LXD搭建实验室共享GPU服务器
进行深度学习实验时,经常需要使用 GPU
服务器。在不同的实验中,对 CUDA
版本等要求各不相同。为了解决这一问题,可以通过 Docker
技术从而实现多套环境随意使用。但让所有用户都能够深入理解 Docker
可能较为困难,因此需要寻求其他方案。直觉的解决方法便是利用虚拟化技术给每位同学提供一个虚拟机。但鉴于虚拟化技术的性能损耗和 GPU
共用方面的困难,因此不太现实。
而 LXD
这一系统容器方案恰好可以实现这一目标。它基于容器技术,开销小,支持 GPU
共享,因此极为适合这一场景。通过这一技术还带来了一些额外的优势,如:用户所有操作均在容器中进行,避免了对宿主机系统的破坏;提供快照功能,可以在误操作导致容器损坏时恢复。
下面对搭建过程整理后汇总如下,作为记录。宿主系统为从 Ubuntu 14.04 LTS
持续升级达到的 Ubuntu 20.04 LTS
,中间经过大量安装软件等操作。若在全新安装的系统上出现无法定位包等情况,需要逐个解决。搭建过程中的踩坑过程略过,其中的操作可能有前后相关性,不能单独查看某一部分而直接进行复现。