Rapids / docker:无法选择具有能力[[gpu]]的设备驱动程序""。

9

我对Rapids不熟悉,并且很少有良好的conda使用经验。所以我尝试使用容器版本。我对Docker也不熟悉,这些未知因素让我无法理清事情。

我有一个Ubuntu 18.04服务器。

# uname -v
#30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020

我安装了最新版本的Docker。

# apt-get install docker docker-ce docker-ce-cli containerd.io
# docker --version
Docker version 19.03.8, build afacb8b7f0

这台机器已安装了CUDA v10.2

# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_19:24:38_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89

以及Python v3.6.9

# python3 --version
Python 3.6.9

NVIDIA容器工具包快速入门部分所示,我将nvidia-docker列表安装到/etc/apt/sources.list.d/目录下。
# curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
# curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu18.04/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

将$ distribution 明确替换为ubuntu18.04,因为这是Linux Mint 19.3的Ubuntu等效版本,具体操作请参考Linux Mint Debian Edition发行版历史

按照RAPIDS - Open GPU数据科学中的“启动容器和笔记本服务器”说明,我拉取了0.13-cuda10.2-runtime-ubuntu18.04-py3.6运行时。

# docker pull rapidsai/rapidsai:0.13-cuda10.2-runtime-ubuntu18.04-py3.6

很长一段时间后,下载了数GB的数据,一切似乎都没问题。(没有警告或错误信息)此外,看起来镜像已被注册到Docker。
# docker images -a
REPOSITORY          TAG                                       IMAGE ID            CREATED             SIZE
rapidsai/rapidsai   0.13-cuda10.2-runtime-ubuntu18.04-py3.6   c7440af853b5        4 days ago          9.26GB
rapidsai/rapidsai   cuda10.2-runtime-ubuntu18.04-py3.6        c7440af853b5        4 days ago          9.26GB

但是,接下来我尝试启动笔记本服务器:

# docker run --gpus all --rm -it -p 8888:8888 -p 8787:8787 -p 8786:8786 \
       rapidsai/rapidsai:cuda10.0-runtime-ubuntu18.04-py3.6
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

这似乎令人惊讶,因为检测到了两个GTX 1080 Ti GPU。

# nvidia-smi
Fri May  8 16:41:57 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.33.01    Driver Version: 440.33.01    CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 108...  On   | 00000000:08:00.0 Off |                  N/A |
| 21%   38C    P8    10W / 250W |      1MiB / 11178MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX 108...  On   | 00000000:42:00.0 Off |                  N/A |
| 23%   42C    P8    10W / 250W |      1MiB / 11177MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

整理好之后

# docker system prune -a
# apt-get purge docker docker-engine docker.io containerd runc    

我重新安装了Docker并再次拉取Rapidsai镜像,结果没有变化。

是否与NVIDIA驱动程序版本440.33.01冲突?

有什么建议吗?

4个回答

13

5
安装完成后别忘了重新启动 Docker:sudo systemctl restart docker - Hamzeh

2

我刚刚按照此pdf中的步骤操作,现在一切正常:

要卸载先前的nvidia-docker包,请执行以下命令:

docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm –f
sudo apt-get remove nvidia-docker

要安装NVIDIA-GPU Docker容器工具包,首先需要添加软件包存储库:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

然后,使用最新的官方CUDA镜像验证nvidia-smi的安装情况:

sudo docker run -it --rm --gpus all nvidia/cuda:9.0-base nvidia-smi

2

试试这个

sudo apt install -y nvidia-docker2
sudo systemctl daemon-reload
sudo systemctl restart docker

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接