【踩坑笔记】Nvidia T4计算卡在Windows服务器使用docker
1、背景
业务上有个需求,希望在 Windows Server 2022 内通过 wsl2 部署 docker 运行类似 Ollama 的 GPU 服务。但 T4 计算卡使用通用方案直接安装官网下载的 GPU 驱动 + docker desktop 无法在 docker 内调用 GPU。
具体表现为:wsl 内nvidia-smi
命令正常;nvcc -V
命令正常,docker 内nvidia-smi
命令异常。网上找到修改注册表可以强启WDDM模式,尝试后,docker 内能看到 GPU,但程序无法调用。
2、解决方法
T4计算卡修改注册表强启WDDM时,驱动不全。需要下载专有带授权的 NVIDIA RTX 虚拟工作站(NVIDIA GRID)驱动。Windows系统538.67驱动链接
安装完成并重启服务器之后,在Windows终端测试nvidia-smi
命令,显示 WDDM 即为成功(官网驱动此处显示TCC)。
1 | +---------------------------------------------------------------------------------------+ |
注意:
- 如果你的计算卡是 T4 或 L4 且 安装了 NVIDIA 510 或更高版本的驱动程序,则需要停用 GSP 固件。请参阅 Nvidia 文档中的停用 GSP 固件。
- 对于在 Compute Engine 上运行的 L4、T4、P4 和 P100 NVIDIA RTX 虚拟工作站 (vWS),建议根据应用所需的 NVIDIA 虚拟 GPU 软件使用以下 NVIDIA 驱动程序版本:
- 对于 NVIDIA 虚拟 GPU 软件版本 17,建议使用以下最低 NVIDIA 驱动程序:
- 对于 Linux 虚拟机:550.90.07
- 对于 Windows 虚拟机:552.55
- 对于 NVIDIA 虚拟 GPU 软件版本 16,建议使用以下最低 NVIDIA 驱动程序:
- 对于 Linux 虚拟机:535.183.01
- 对于 Windows 虚拟机:538.67
- 对于 NVIDIA 虚拟 GPU 软件版本 17,建议使用以下最低 NVIDIA 驱动程序:
3、后续步骤
驱动安装妥当之后,正常安装docker即可。
!!!注意:
对于4卡以上的机器,同一个容器内仅支持4张及以下GPU,需要在docker-compose时 限定可见GPU数量【必选项】。具体原因未知,猜测可能是驱动不支持?
限定方法:环境变量中添加 - CUDA_VISIBLE_DEVICES=0,1,2,3
(docker compose启动) 或 --env CUDA_VISIBLE_DEVICES=0,1,2,3
(docker run启动)
【踩坑笔记】Nvidia T4计算卡在Windows服务器使用docker