GPU 的两种模式 TCC vs WDDM 设置指南

滴滴云技术支持发表于:2020年08月17日 19:51:31

1、简介

NVIDIA Tesla/Quadro 系列高端 GPU 在 Windows 环境下可以配置为 Tesla 计算集群(Tesla Compute Cluster,简称 TCC)模式或 Windows 显示驱动模型(Windows Display Driver Model,简称 WDDM)模式。

两种模式有不同适用场景。

TCC:该模式下,GPU 完全用于计算,不能作为本地显示输出。

WDDM:该模式下,GPU 既用于计算又用于本地显示输出。

切换至 WDDM 模式命令:nvidia-smi -dm 0

切换至 TCC 模式命令:nvidia-smi -dm 1


2、滴滴云 GPU 可以用哪种模式

创建 P4 实例,使用 Windows Server 2012 R2(CUDA-10) 镜像,如下图所示:

0015f3a6cc63bc7e75bc3d573d7aa56

创建完成后进入系统,Win+R 运行 cmd,之后切换目录到 C:\Program Files\NVIDIA Corporation\NVSMI\ 下,执行 nvidia-smi 命令:

0015f3a6d4fdea2515dbb257fd21022

可见这时为 TCC 模式。

运行 nvidia-smi -dm 0 尝试切换到 WDDM 模式,会报错:

0015f3a6dbd9ae7316bfc9ecfe0a986

无法完成切换。


TCC 模式由于 GPU 完全用于计算,无法做本地显示,运行 NVIDIA 控制面板会报错:


0015f3a6d8abebd6f0c191a5e3656ff

运行其他图形程序,如 OpenGL、D3D9、D3D10、D3D11 等都会报错。



3、Tesla GPU 安装 vGPU 驱动后可支持 WDDM 模式

NVIDIA GRID vGPU 驱动(10.0)下载链接:link

在 P4 Windows Server 2012 R2(CUDA10) 环境中安装 vGPU 驱动后,显示模式为 WDDM:

0015f3a6e25c736a00df0b545d8d2ce

此时 NVIDIA 控制面板可以正常打开:

0015f3a6e410ac321e250de75f60a18

配置完许可证后,可以正常运行各种 OpenGL、D3D 图形应用。


vGPU 驱动也支持 TCC 模式,使用管理员身份运行如下命令:nvidia-smi -dm 1

0015f3a6e63b5ed65e681a6c89ff923

需要重启后生效。

重启完毕,再看 nvidia-smi 显示模式已切换为 TCC:

0015f3a6e9b81ae87e95b6161948600

此时 NVIDIA 控制面板不可用。如需切换回 WDDM 模式,需要以管理员身份运行:nvidia-smi -dm 0

运行后需要重启生效。



4、结论

用户可根据自身使用场景进行模式选择。

0015f3a6ef19938c284dd1b0a683368

5、消费卡特殊情况说明


创建 GPU 实例时选 G4,镜像仍选 Windows Server 2012R2(CUDA10)。

创建完成后进入系统,运行 nvidia-smi 显示当前模式为 WDDM。

0015f3a6f13a2ce77a2b04c6d4d04ab

尝试切换模式为 TCC 时报错,消费卡不支持 TCC 模式。


为了让消费卡能正常运行 OpenGL、D3D 等图形程序,需要使用额外的硬件(外接显示器)。

如果没有额外硬件,则无法发挥出 WDDM 应有的能力。

0015f3a6f3116f3f8d717cc2f0bd877

6、vGPU 实例特殊情况说明


NVIDIA vGPU 实例是指将一张物理卡切分为多个虚拟 GPU 之后的实例。

例如 T4 本身为 16 GB 显存,可切分为两个 vGPU 实例 T4-8Q。

vGPU 又分为多种规格,滴滴云支持计算型、渲染型和游戏型。

计算型 vGPU 只支持 Linux 系统,不支持 Windows 系统。故不存在 TCC/WDDM 模式。

渲染型 vGPU 支持 Windows 系统,默认为 WDDM 模式,驱动做了限制无法切换为 TCC 模式。

游戏型 vGPU 仅支持 Windows 系统,默认为 WDDM 模式,不能切换为 TCC 模式。




7、参考链接

http://mnnguyen.com/nvidia/

https://docs.nvidia.com/gameworks/content/developertools/desktop/nsight/tesla_compute_cluster.htm

https://docs.nvidia.com/gameworks/content/developertools/desktop/tesla_compute_cluster.htm

https://techcommunity.microsoft.com/t5/compute/nv-series-wddm-vs-tcc/m-p/143568