如何删除指向 Cuda 12 的符号链接,以便我可以安装多个版本并使用简单的 bash 脚本在它们之间切换?

如何删除指向 Cuda 12 的符号链接,以便我可以安装多个版本并使用简单的 bash 脚本在它们之间切换?

https://notesbyair.github.io/blog/cs/2020-05-26-installing-multiple-versions-of-cuda-cudnn/

我的 WSL2 上已经有 Cuda:

@LAPTOP-DNCQ5AAC:/mnt/d/ai/llm/ng-video-lecture$ nvidia-smi
Sun Aug 13 16:22:37 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.116      Driver Version: 528.96       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. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  On   | 00000000:01:00.0 Off |                  N/A |
| N/A   42C    P8     2W /  50W |      9MiB /  4096MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A       213      G   /Xwayland                       N/A      |
+-----------------------------------------------------------------------------+
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Mon_Apr__3_17:16:06_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105
Build cuda_12.1.r12.1/compiler.32688072_0

我非常确定我在安装过程中同意创建符号链接。

现在要通过我上面发布的 URL 来关注该博客,我该如何摆脱我的 Cuda 符号链接?

我需要安装 Cuda 版本 11.8 或 11.7,因为我想在 Cuda 上运行 PyTorch C++,而他们没有 Cuda 12 版本。

我找到了一个命令

@LAPTOP-DNCQ5AAC:/mnt/d/ai/llm/ng-video-lecture$ sudo find / -type l | grep libcuda
/home/nobu/miniconda3/envs/rapids-23.04/lib/libcudart.so.11.0
/home/nobu/miniconda3/envs/rapids-23.04/lib/libcudart.so
/home/nobu/miniconda3/envs/ldm/lib/libcudart.so.11.0
/home/nobu/miniconda3/envs/ldm/lib/libcudart.so
/home/nobu/miniconda3/envs/tf/lib/libcudart.so.11.0
/home/nobu/miniconda3/envs/tf/lib/libcudart.so
/home/nobu/miniconda3/envs/paddleocr/lib/libcudart.so.10.2
/home/nobu/miniconda3/envs/paddleocr/lib/libcudart.so
/home/nobu/miniconda3/envs/vision_transformer/lib/libcudart.so.11.0
/home/nobu/miniconda3/envs/vision_transformer/lib/libcudart.so
/home/nobu/miniconda3/envs/pytorch/lib/libcudart.so.11.0
/home/nobu/miniconda3/envs/pytorch/lib/libcudart.so
/home/nobu/miniconda3/envs/open-mmlab/lib/libcudart.so.11.0
/home/nobu/miniconda3/envs/open-mmlab/lib/libcudart.so
/home/nobu/miniconda3/pkgs/cudatoolkit-11.1.1-hb139c0e_12/lib/libcudart.so.11.0
/home/nobu/miniconda3/pkgs/cudatoolkit-11.1.1-hb139c0e_12/lib/libcudart.so
/home/nobu/miniconda3/pkgs/cudatoolkit-11.3.1-h2bc3f7f_2/lib/libcudart.so.11.0
/home/nobu/miniconda3/pkgs/cudatoolkit-11.3.1-h2bc3f7f_2/lib/libcudart.so
/home/nobu/miniconda3/pkgs/cudatoolkit-10.2.89-hfd86e86_1/lib/libcudart.so.10.2
/home/nobu/miniconda3/pkgs/cudatoolkit-10.2.89-hfd86e86_1/lib/libcudart.so
/home/nobu/miniconda3/pkgs/cudatoolkit-11.2.2-hbe64b41_11/lib/libcudart.so.11.0
/home/nobu/miniconda3/pkgs/cudatoolkit-11.2.2-hbe64b41_11/lib/libcudart.so
/home/nobu/miniconda3/pkgs/cudatoolkit-11.8.0-h37601d7_11/lib/libcudart.so.11.0
/home/nobu/miniconda3/pkgs/cudatoolkit-11.8.0-h37601d7_11/lib/libcudart.so
find: File system loop detected; ‘/mnt/wslg/distro’ is part of the same file system loop as ‘/’.
find: ‘/mnt/d/$RECYCLE.BIN/S-1-5-21-2207593063-2945772590-794792826-1001’: Permission denied

那最后发生了什么事?

编辑:感谢@chan 关于使用多个 cuda 的建议。

我读了这篇文章来安装 11.8

如何在 Ubuntu 中安装 NVIDIA 和 CUDA 驱动程序?

因此基本上在安装菜单中我可以跳过驱动程序,但是现在当我在该菜单中选择驱动程序选项时,我得到一个空白的 bash:

空白的 bash

答案1

我已经有一段时间没有玩过 CUDA 了,但在我的工作站中,我在 .bashrc 中

export CUDA_HOME=${CUDA_HOME}:/usr/local/cuda
export CUDA_PATH=/usr/local/cuda

$ls /usr/local/cuda*
cuda/      cuda-11/   cuda-11.3/
$ ls /usr/local/cuda -l
lrwxrwxrwx 1 root root 22  Jun 10  2021 /usr/local/cuda -> /etc/alternatives/cuda
$ ls -l /etc/alternatives/cuda
lrwxrwxrwx 1 root root 20  Jun 10  2021 /etc/alternatives/cuda -> /usr/local/cuda-11.3

因此,您可以在 /usr/local 下安装 CUDA 版本,并使用 update-alternative 命令设置默认版本。例如,在安装另一个版本后,您可以update=alternatives -config cuda从列出的版本中将您想要的版本设置为默认版本。请执行man update-alternatives以了解如何使用它(与 sudo 一起使用)。(我猜安装脚本已经update-alternative --install cuda为新安装的版本做了设置,因此它将出现在update-alternatives --list命令中。)

相关内容