Ped*_*mpo 3 nvidia docker windows-subsystem-for-linux pytorch wsl-2
我想将 nvidia 运行时添加到我的 docker 中。请注意,我正在运行 Windows 11。Windows 上的 Docker Desktop v.4.24.2 集成在 WSL 2 NVIDIA 驱动程序 545.84 上
我将所有内容安装为 nvidia-container-toolkit 并在运行 ubuntu 22.04 LTS 的 wsl 中我能够运行
docker run --gpus all --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 -it --rm -v .:/app nvcr.io/nvidia/pytorch:22.07-py3
Run Code Online (Sandbox Code Playgroud)
它实际上为我的 GPU 加载了它需要的一切。我知道这一点是因为我能够在 jupyter 笔记本中执行
import torch
for i in range(torch.cuda.device_count()):
print(torch.cuda.get_device_properties(i).name)
Run Code Online (Sandbox Code Playgroud)
它显示了我的 GPU (RTX 2080 SUPER)
但如果我想使用标志 --runtime=nvidia 它说
docker:来自守护进程的错误响应:未知或无效的运行时名称:nvidia。请参阅“docker run --help”。
我想在 docker compose 中使用它:
version: '3'
services:
pytorch_container:
image: nvcr.io/nvidia/pytorch:22.07-py3
command: ["bash"]
volumes:
- .:/app
runtime: nvidia
ipc: host
ulimits:
memlock: -1
stack: 67108864
stdin_open: true
tty: true
Run Code Online (Sandbox Code Playgroud)
它无法运行,因为它找不到 nvidia 运行时
我已经尝试过 /sf/answers/4130585231/ 但仍然没有
所以我会回答我自己的问题。
正如我所说,我已经尝试添加 /etc/docker/daemon.json :
{
"runtimes":{
"nvidia":{
"path":"/usr/bin/nvidia-container-runtime",
"runtimeArgs":[
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
但看起来Windows 上的 Docker 桌面并不在那里。我在Docker Engine 下的Docker Desktop Settings 中找到了守护进程 json 。我在那里手动添加了条目,现在它加载了 nvidia 运行时我希望它对其他人有帮助
| 归档时间: |
|
| 查看次数: |
780 次 |
| 最近记录: |