📅  最后修改于: 2023-12-03 14:49:17.229000             🧑  作者: Mango
在一些深度学习或图像处理任务中,需要使用 GPU 来加速计算,而 Docker 作为一个轻量级的容器化技术在这方面具有良好的支持。然而,在默认情况下,Docker 容器并不会被授予 GPU 访问权限,需要手动进行设置。
以下是在 docker-compose 中授予 GPU 访问权限的步骤:
version: '3'
services:
app:
build:
context: .
runtime: nvidia
devices:
- /dev/nvidia0:/dev/nvidia0
- /dev/nvidia-uvm:/dev/nvidia-uvm
- /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools
上述代码中,runtime
参数告诉 Docker 使用 Nvidia 的 runtime,devices
参数则指定 GPU 设备的路径,nvidia0
、nvidia-uvm
、nvidia-uvm-tools
是 Nvidia GPU 相关的设备。你可以根据需要增加或删减这几行代码。
$ docker-compose up -d
通过以上两个步骤,你的容器就可以访问 GPU 了。
附:在单个 Docker 容器中授予 GPU 访问权限的命令示例如下:
$ docker run --runtime=nvidia \
--device=/dev/nvidia0 \
--device=/dev/nvidiactl \
--device=/dev/nvidia-uvm \
-it tensorflow/tensorflow:latest-gpu
以上命令会启动一个 TensorFlow GPU 容器,并授予它 GPU 访问权限。
在 Docker 容器中设置 GPU 访问权限可以充分利用硬件资源,加速深度学习和图像处理任务。可以通过在 docker-compose 文件中增加 runtime
和 devices
参数来实现 GPU 访问权限的授权。