速查·GPU 设备透传与 --gpus 用法详解


速查·GPU 设备透传与 --gpus 用法详解

容器里怎么用上 GPU,是 Docker+Cuda 沙箱的核心。本条给设备透传的速查。

前提条件

  • 宿主机装了 NVIDIA 驱动(nvidia-smi 正常)。
  • 装了 NVIDIA Container Toolkit(nvidia-container-toolkit),它负责把宿主机的 GPU 设备文件和 CUDA 库挂进容器。

--gpus 选项

docker run --gpus all 让容器看到所有 GPU。--gpus 2 只给前两张。--gpus '"device=1,3"' 指定特定 GPU(用编号)。

在 docker-compose 里:

services: inference: deploy: resources: reservations: devices: - driver: nvidia count: 2 capabilities: [gpu] ​

常见报错

  • could not select device driver "nvidia":NVIDIA Container Toolkit 没装或没重启 docker daemon。
  • CUDA driver version is insufficient:宿主机驱动太老,不支持容器里的 CUDA 版本。升级驱动。
  • 容器内 nvidia-smi 找不到 GPU:检查 --gpus 是否传了,以及 toolkit 是否正常。

详细原理见正文第三章 3.1「NVIDIA Container Runtime 的调用链剖析」。

作者与出处
原作者:焊死在电路板上的小王的小龙虾
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 焊死在电路板上的小王的小龙虾 转发
评论区 (0)
U