Nvidia vGPU技术简介

Mediated pass-through

Mediated pass-through(协调pass-through)是直通GPU技术的演进,提供了将GPU设备输出为完全功能的逻辑设备,提供给虚拟机使用。虚拟机可以使用任何API。主要的mediated pass-through软硬件结合解决方案有:

  • VMware使用 Nvidia vGPU 或 AMD MxGPU 实现的虚拟化共享直通图形加速(Virtual Shared Pass-Through Graphics Acceleration)

  • Citrix XenServer使用 Nvidia vGPU 或 AMD MxGPU实现的shared GPU

  • Xen 和 KVM 使用 Intel GVT GPU虚拟化 实现

  • Thincast Workstation - Virtual 3D功能(Direct X 12 & Vulkan 3D API)

mediated pass-through需要特定的硬件支持:

  • Nvidia vGPU 需要 GRID/Tesla (服务器级) 或 Quadro (专业级)

  • AMD MxGPU 需要 FirePro Server/Radeon Instinct (服务器级) 或 Randeon Pro (专业级)

  • Intel GVT-g 没有特定要求

vGPU license

Nvidia的vGPU功能需要license才可以使用,请参考 NVIDIA vGPU License服务器详解 ,试用license可以使用90天

NVidia的vGPU提供4个软件产品版本:

  • NVIDIA 虚拟应用程序 (vApp)

  • NVIDIA 虚拟 PC (vPC)

  • NVIDIA RTX 虚拟工作站 (vWS)

  • NVIDIA 虚拟计算服务器 (vCS)

必须随 NVIDIA 虚拟 GPU 软件许可证一起购买支持、更新和维护订阅 (SUMS)。

备注

NVIDIA vGPU License服务器详解 介绍GRID授权分为:

  • vApps

  • vPC

  • 虚拟工作站vDWS

其中 vDWS 现在可能再细分为 vWSvCS 授权了

vDWS 是功能最全面的授权,GPU卡可以在这个授权下加载专业Quodra卡驱动(vPC和vApps的License对应加载的是普通的显示驱动)

Tesla 系列 GPU 可同时支持通用计算和图形图像处理,例如:

  • 安装免费的 Tesla Driver 和 CUDA SDK ,可用作深度学习、科学计算等通用计算场景。

  • 安装 GRID Driver 并且配置相关的 License 服务器,可开启 GPU 的 OpenGL 或 DirectX 图形加速能力。

../../_images/grid-licensing-overview.png

NVIDIA vGPU 软件licensing过程示意图

当虚拟机启动时会从NVIDIA vGPU软件license服务器(端口7070)获取license,并且每次启动会checkout。VM会维持license直到关机,然后释放掉license服务器上的license锁(回收的license可以被其他VM使用)

备注

  • 16GB内存的4个CPU的license服务器配置,适合处理多达15万个许可客户端

  • 主机必须运行在支持的Windows系统,且推荐安装英文版操作系统

  • license服务器的网卡MAC地址必须固定

  • license服务器的时钟必须准确

P10/P40 vGPU数据

参考 NVIDIA Tesla P40数据表 可以了解Tesla 系列 GP102 GPU所支持的vGPU规格:

  • NVIDIA Tesla P10/P40 GPU运算卡使用NVIDIA Quadro vDWS软件,是第一个可用于模拟,HPC渲染和虚拟应用程序,桌面和工作站设计的企业级虚拟计算平台

  • 提供24GB显存和24 NVENC编码会话,级支持以1GB规格分配24个虚拟桌面,或者以2GB规格分配12个工作站,以及更多的不同规格适用场景(1GB,2GB,3GB,4GB,6GB,8GB,12GB,24GB)

    • 可以为虚拟机分配4GB vGPU,实现6个实例 规划将24G分配为2个8GB显存,分配给2个虚拟机,模拟集群方式运行GPU计算资源; 另外将剩余8GB再分配给2个或1个虚拟机实现虚拟PC,尝试桌面应用(我想尝试 模拟飞行 )

    • 支持为每个vGPU配置独立CUDA和OpenCL工作负载

vgpu_unlock

NVIDIA不允许在消费级GPU上使用vGPU功能,但是实际上硬件是完全支持的。所以开源软件 vgpu_unlock 通过软件方式解锁了消费级NVidia vGPU功能。

备注

参考 NVIDIA Officially Enables GPU Passthrough On GeForce Graphics Cards For Added Functionality On Virtual Machines 2021年3月新闻,NVIDIA现在已经支持在GeForce显卡上使用GPU passthrough,这样就可以实现在Linux上运行Windows虚拟机获得完整的图形加速性能,例如在游戏上可以得到流畅体验。

不过,仅限于GeForce GPU passthrough到 一个 虚拟机,GeForce仍然不支持 Sigle Root I/O Virtualization(SR-IOV) 。所以,如果需要在多个虚拟机中分配GPU虚拟化功能,依然需要使用NVIDIA Tesla, Quadro 或 RTX 企业版GPU。

vGPU软件

参考