我在GCP
上运行了一台虚拟机,并搭载了一块Tesla GPU。现在我希望使用这个GPU来加速基于PyTorch
的应用程序,并让docker容器可以访问它。
我想让docker使用这个GPU,并且从容器中访问它。
我已经在主机上安装了所有的驱动程序,并且应用程序可以在那里正常运行,但是当我尝试在基于nvidia/cuda容器的docker中运行时,PyTorch会出现错误。
File "/usr/local/lib/python3.6/dist-packages/torch/cuda/__init__.py", line 82,
in _check_driver http://www.nvidia.com/Download/index.aspx""")
AssertionError:
Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from
要获取容器中可见的有关Nvidia驱动程序的一些信息,我运行了以下命令:
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
但它报错了:docker: Error response from daemon: Unknown runtime specified nvidia.
在主机上,nvidia-smi
的输出看起来像这样:
+-----------------------------------------------------------------------------+
| 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 Tesla P100-PCIE... On | 00000000:00:04.0 Off | 0 |
| N/A 39C P0 35W / 250W | 873MiB / 16280MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
如果我在Docker中检查运行时,我只能得到runc
运行时,没有像互联网上的示例中一样有nvidia
。
$ docker info|grep -i runtime
Runtimes: runc
Default Runtime: runc
我该如何将 nvidia
运行环境添加到我的 Docker 中?
迄今为止,我发现的大多数帖子和问题都说:“我只是忘记重启我的 Docker 守护程序,它就好了”,但这对我没有帮助。我该怎么办?
--gpus all
开关启动您的容器。4. 获得利润!请参见此处:https://docs.nvidia.com/ngc/ngc-titan-setup-guide/index.html