通过OpenCL在Docker中链接图形卡



我在Ubuntu 19.10上。并且希望在docker中使用OpenCL。在docker容器中,我安装了opencl头、ocl-icd-opencl-dev和clinfo。当我在docker之外的机器上运行clinfo时,我有以下响应:

Number of platforms                             1
Platform Name                                   NVIDIA CUDA
Platform Vendor                                 NVIDIA Corporation
Platform Version                                OpenCL 1.2 CUDA 10.2.159
...

当相同的程序在docker中运行时:

Number of platforms                               0

我认为docker容器应该可以使用我的显卡,但不确定我是否/如何允许它。感谢您的一些见解

您需要使用--gpus all选项启动docker,例如:

docker run --rm --gpus all nvidia/opencl clinfo

您也可以只公开特定的gpu:

docker run -it --rm --gpus "device=0" ubuntu nvidia-smi

点击此处阅读更多信息:https://docs.docker.com/config/containers/resource_constraints/

如果你得到这个错误:

$ docker run --rm --gpus all nvidia/opencl clinfo
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

在Ubuntu上,你可以用进行补救

$ sudo apt install -y nvidia-container-toolkit; sudo systemctl restart docker

最新更新