首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows 10 + WSL2上运行nvidia对接程序

在Windows 10 + WSL2上运行nvidia对接程序
EN

Stack Overflow用户
提问于 2020-12-14 19:42:15
回答 3查看 15.4K关注 0票数 13

在这个主题上,我看到了几个问题,并尝试了这两种方法。如有任何关于如何进行任何一条路线的建议,我们将不胜感激:

在WSL2内部运行nvidia-码头

我跟踪了NVIDIA博士本教程。所有安装和docker命令都从Ubuntu20.04内部运行。但是,sudo service docker start返回:

docker: unrecognized service

更新:这变成了一个已知问题。我能够按照这些指示在Ubuntu上安装并运行docker。然而,接下来我会遇到一个像这样的问题

代码语言:javascript
复制
$docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
Status: Downloaded newer image for nvcr.io/nvidia/k8s/cuda-sample:nbody
docker: Error response from daemon: OCI runtime create failed: container_linux.go:370: starting container process caused: process_linux.go:459: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: nvml error: driver not loaded: unknown.
ERRO[0065] error waiting for container: context canceled
  • WSL1 这里也有类似的问题,建议安装WSL2是很好的。我在WSL2下遇到了同样的事情。

在Windows上运行NVIDIA停靠程序:

另一个思想学派建议从WSL中移除停靠程序,然后运行Windows。然后我们就可以从WSL连接到它。好吧,我根本无法从Windows运行nvidia-docker

代码语言:javascript
复制
$ docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
Unable to find image 'nvcr.io/nvidia/k8s/cuda-sample:nbody' locally
nbody: Pulling from nvidia/k8s/cuda-sample
...
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
  • 有一些关于如何修复这里的技巧,但都是关于在Linux中运行的docker。这不起作用(见上文)。

此外,在从ubuntu中移除对接器之后,我仍然可以从Ubuntu20.04或者当我从Powershell运行wsl时运行对接:

代码语言:javascript
复制
$ which docker
/mnt/c/ProgramData/DockerDesktop/version-bin/docker
$ docker 
The command 'docker' could not be found in this WSL 2 distro.
We recommend to activate the WSL integration in Docker Desktop settings.

See https://docs.docker.com/docker-for-windows/wsl/ for details.

我肯定启用了基于WSL2 2的引擎和Ubuntu20.04集成,在Docker设置中启用了两个不同的选项卡。

系统

代码语言:javascript
复制
Windows 10
WSL 2
Ubuntu 20.04 within WSL2
Windows Docker with WSL2-based engine and integration enabled

任何帮助,如何进一步诊断它是非常感谢的。

EN

回答 3

Stack Overflow用户

发布于 2020-12-31 14:49:44

我认为让nVidia GPU (CUDA)在WSL2上运行的最好方法是遵循nVidia文档WSL上的CUDA的教程。有三件事你需要做的正确和有序:

  1. 首先,检查您的窗口是否有更新,如果有任何更新。然后您需要在Microsoft Windows内部程序中订阅,特别是在Dev通道(快速环网)中订阅。确保设置为Dev通道,而不是Beta通道,也不发布预览通道。这里是棘手的部分,在您选择Dev通道后,通过运行(winver)程序检查您的windows版本(在windows的搜索栏中搜索它),如果它低于20145,请重新检查您的窗口以进行更新(您将在更新描述版本上看到高于20145的版本是可用的)。您需要安装它,这里您需要耐心,因为下载和安装更新需要花费时间,它将要求您重新启动windows。重新启动后,您就可以开始了(您还会注意到两个版本的窗口之间的一些设计差异)。再次检查您的windows版本(winver),以找到它,它确实在20145以上。
  2. 接下来,安装WSL 2的NVIDIA预览驱动程序,这是非常直接的过程。
  3. 最后,从WSL2安装教程,这也是非常直接的过程。就个人而言,我从大卫·庞巴尔频道学习了这个大卫·庞巴尔教程。

在正确地预编好这三个步骤之后,您可以按照nVidia教程设置CUDA工具包进行操作。下面是另一个nVidia文档,它说明了您在第8章中面临的同样问题。

对我来说,这是我的版本,没有正确地设置为20145或更高版本。

票数 3
EN

Stack Overflow用户

发布于 2022-06-12 06:30:25

到2022年6月,在Windows 10下,我不需要做任何事情来启用它。我有一个预先存在的Ubuntu20.04安装在WSL 2上,Docker在Windows上运行,启用了WSL 2集成。我运行了docker run -it --rm --gpus all ubuntu nvidia-smi,它显示了我的GPU。

票数 3
EN

Stack Overflow用户

发布于 2021-08-13 20:21:51

https://docs.docker.com/docker-for-windows/wsl/

  • 取消选中“启用与我的默认WSL发行版的集成”并应用,
  • 然后取消选中“使用基于WSL 2的引擎”并应用。
  • 检查以上所有内容并启用:“启用与其他发行版的集成:”Ubuntu-20.04
  • 开放航站楼: docker容器ID映像命令创建状态端口名称

它适用于我的win10码头3.6..。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65295415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档