GPU虚拟化或vGPU使GPU资源可以由多个VM或远程计算机共享,并且传统上仅限于某些数据中心和高端Quadro卡。现在,在GitHub上出现了一个相对简单的mod,即使与基于vGPU的Tesla卡基于相同的物理GPU,即使在Linux主机上的消费NVIDIA GPU上,也可以启用vGPU功能。
一群发烧友已经设法使用一个简单的mod欺骗驱动程序,从而在消费NVIDIA卡中启用GPU虚拟化。该模块允许多个消费NVIDIA卡的所有者与多个物理或虚拟机共享一个GPU,否则只能在这些卡的数据中心变体中实现,例如Tesla系列和一些Quadro。目前,NVIDIA仅允许通过GPU直通模式使用一个GPU。
与CPU虚拟化类似,GPU虚拟化或vGPU可以将GPU资源分配给各个虚拟机,从而使它们能够运行类似于本机设置的计算和3D工作负载。现代高端消费者图形卡通常足够强大,可以根据工作负载在多台计算机之间共享其资源。尽管从理论上讲,该硬件可能具有vGPU的功能,但AMD和NVIDIA等卡制造商通过软件人为地限制了此功能,以便将其消费者和工作站/数据中心产品分开。
当前的名为vgpu_unlock的mod可以通过诱使驱动程序将消费类NVIDIA GPU视为Tesla变体来规避此限制。作为前提条件,此mod需要在Linux主机上安装NVIDIA GRID vGPU驱动程序,动态内核模块系统(dkms)软件包和Python 3。请注意,由于许可问题,此mod几乎永远不会运用于普通用户的Windows版本或VMware ESXi。但是,应该可以在Linux上使用具有完整GPU功能的Windows 10虚拟机。
当前,vgpu_unlock支持多个消费NVIDIA GPU,包括几个GP102,GP104,TU102,TU104和GA102卡,只要该消费卡或Quadro卡与兼容vGPU的Tesla GPU基本是同一物理芯片即可。如果已知GPU的相应PCIe设备ID,则还可以进一步自定义mod。
综上所述,vgpu_unlock mod不能完全替代购买NVIDIA推荐的vGPU解决方案。这些解决方案已通过ISV验证,并且实际用于专业应用。我们发现在消费卡上正式运行vGPU或SR-IOV的唯一实例是在线游戏平台,例如GeForce Now和Google Stadia,其中一张卡经常为多个相连的玩家提供服务。
但是,此mod确实为Linux用户提供了充分发挥其消费者GPU硬件潜力的可能性。例如,可以使Linux系统一次托管多个Windows(甚至Mac)虚拟机,以进行内容创建,游戏等。也可以提供具有完整GPU功能的远程桌面服务,服务将与此mod一起工作仍有待观察。
标签: NVIDIA卡