我建立了一个docker映像:ubuntu20.04 + py38 +火炬,各种库(llvmlite,cuda,pyyaml等)+我的flask应用程序。该应用使用炬管,并且需要在容器内安装nvidia驱动程序。主机是win10 x64。
运行容器并使用邮递员对其进行测试时,出现错误:
<head>
<title>AssertionError:
Found no NVIDIA driver on your system. Please check that you
have an NVIDIA GPU and installed a driver from
http://www.nvidia.com/Download/index.aspx // Werkzeug Debugger</title>
在我的计算机上,nvidia-smi是:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 442.92 Driver Version: 442.92 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 166... WDDM | 00000000:01:00.0 Off | N/A |
| N/A 40C P8 3W / N/A | 382MiB / 6144MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 6212 C+G ...ta\Local\Postman\app-7.31.0\Postman.exe N/A |
| 0 6752 C+G ...are\Brave-Browser\Application\brave.exe N/A |
+-----------------------------------------------------------------------------+
在SO上已经问了很多遍了,传统答案是nvidia不支持从Linux docker容器上的Windows进行gpu加速。
我找到了类似的答案。我已阅读question和对this question的答复。但是这些解决方案涉及主机ubuntu +内含ubuntu的docker映像。
this link指导如何使用nvidia-docker2,但根据this answer
,已弃用nvidia-docker2。official nvidia-docker存储库中有说明-但仅适用于Linux主机。
但是在docker(后端linux)软件上也安装了此WSL-可以使用吗?
还有没有办法让ubuntu容器在主机Windows机器上使用nvidia gpu?
答案 0 :(得分:1)
看来您现在可以在Linux版Windows子系统(WSL 2)的Ubuntu中运行Docker并通过GPU进行操作了。
此链接贯穿安装,设置和运行具有GPU支持的TensorFlow Jupyter笔记本: https://ubuntu.com/blog/getting-started-with-cuda-on-ubuntu-on-wsl-2
注意-我自己还没有做。