无法让 cuda 12 在 ubuntu WSL2(pytorch)上运行

无法让 cuda 12 在 ubuntu WSL2(pytorch)上运行

我已经尝试了好几天让 cuda 在 WSL2 上运行,试过 cuda 12 不工作,尝试从控制台卸载它。我运行了

#instead of cuda12 i gave up on it, went for 11.6.2
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda

wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run
sudo sh cuda_11.6.2_510.47.03_linux.run --silent --driver

# altered bashrc :
sudo nano ~/.bashrc   
export PATH=/usr/local/cuda-11.6.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-.6.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run
sudo sh cuda_11.6.2_510.47.03_linux.run

如果我输入“nvidia-smi”,我会得到(仍然是 12??.. 从控制台执行了所有操作来卸载它,这也是一长串命令)2023 年 1 月 12 日星期四 17:07:17

抱歉,无法找到合适的桌子

| NVIDIA-SMI 527.92.01    Driver Version: 528.02      
 CUDA Version: 12.0     |
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |

|   0  NVIDIA GeForce ...  On   | 00000000:07:00.0  On |                  N/A |
| 30%   28C    P8    31W / 350W |   2655MiB / 12288MiB |      7%      Default |
                               |                      |                  N/A |

无论我做什么,我都无法在 WSL2 下运行带有 cuda 支持的 jupyter、pytorch,我已经删除并重新安装了 WSL2,但似乎什么都不起作用。cudnn 不喜欢我的 12 版 gcc,所以我放弃了,这一切在一个月前都运行良好,我认为一些驱动程序更新损坏了它,我不知道如何让它在 WLS 下重新工作,完全重新安装 Windows 11 对我来说不是一个选择,但我仍然面临无法让它工作的问题,我试图按照一篇中等文章进行操作(但选择了 11.6.2 来匹配 gcc)https://medium.com/analytics-vidhya/install-cuda-11-2-cudnn-8-1-0-and-python-3-9-on-rtx3090-for-deep-learning-fcf96c95f7a1

我知道有关此问题的更多文章可以在 ask ubuntu 上找到,但从版本 12 开始我就不知道如何解决它了。

答案1

我在这里有点误导,虽然 pytorch 确实不支持 cuda 12,但它的二进制文件带有自己的 cuda,所以简而言之,你可以获得 pytorch,但在内部它使用较旧的 cuda 版本,尽管 WSL2 ubuntu 在较新的系统上会报告 cuda12,但这没问题。我的误导部分是所有 nvidea 文档让我认为我需要在 WSL 客户端上安装更多内容,主机 Win 11 需要该工具包,但是 WSL2 客户端只需要 pytorch(没有 gpu 驱动程序,WSL 可以以某种方式在其主机之间共享图形适配器。(不确定 docker 是否会以相同的方式工作,我想可能是的)。

因此要安装 pytorch

install MD nanno   #those 2 are not required but handy
WSL --update
WSL --install -d Ubuntu
sudo apt update
sudo apt install python3-pip
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117

jupyter-lab --allow-root

然后打开你的 Web 浏览器,访问 jupyter 笔记本中控制台里显示的 URL:

import torch
torch.cuda.current_device()
torch.cuda.get_device_name(torch.cuda.current_device())  #output will be : `NVIDIA GeForce RTX 3080 Ti' or some other card

#in another cell type
!nvidea-smi

浏览器中的侧边提示 如何在 pytorch 中使用 gpu

通知1此外,如果您是 WSL 新手,请注意,下次您想要启动 Ubuntu 时,您可能会想在 Windows cmd 框中键入 WSL,但这不是正确的做法,WSL 用于设置 Linux 版本,您需要单击才能获取 Ubuntu,即开始菜单中的一个新的橙色 ubuntu 图标。

通知2这个安装非常简单,没有安全配置,jupyterlab 以 root 用户身份运行,在家里这就足够了,但不推荐在工作中,虽然这只是一个简单的安装。

通知3WSL 也可以安装其他 Linux 版本,我只使用 Ubuntu,我认为在神经网络领域它是基本的操作系统。至于这个安装,你只会得到一个控制台(没有 GUI),但这足以运行 jupyter lab,对于这个控制台内的配置文件等,我推荐 nano,它是一个简单的文本编辑器,mc 是一个类似于诺顿的文件管理器(来自旧时代),我认为这足以让你开始使用 Linux 方面

相关内容