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


文档摘要

速查·GPU 设备透传与 --gpus 用法详解 容器里怎么用上 GPU,是 Docker+Cuda 沙箱的核心。本条给设备透传的速查。 前提条件 宿主机装了 NVIDIA 驱动( 正常)。 装了 NVIDIA Container Toolkit( ),它负责把宿主机的 GPU 设备文件和 CUDA 库挂进容器。 --gpus 选项 让容器看到所有 GPU。 只给前两张。 指定特定 GPU(用编号)。 在 docker-compose 里: 常见报错 :NVIDIA Container Toolkit 没装或没重启 docker daemon。 :宿主机驱动太老,不支持容器里的 CUDA 版本。升级驱动。 容器内 找不到 GPU:检查 是否传了,以及 toolkit 是否正常。

速查·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