nvidia-cuda在ubuntu上的多版本共存

我们假设让 13.0 和 12.8 共存

首先,安装 最高版本13.0 (全部组件安装);

然后再安装12.8版本的老版本,只安装 工具包,不安装驱动,让 最高版本驱动硬件(最高版本驱动兼容低版本 工具包)。

具体步骤如下:

# 下载 老版共存版本,并只安装工具包
wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda_12.8.0_570.xxx.xx_linux.run   # 替换成实际链接
sudo sh cuda_12.8.0_570.xxx.xx_linux.run --toolkit --silent --override

################ 配置ubuntu的 cuda可选项 ################
sudo update-alternatives --install /usr/local/cuda cuda /usr/local/cuda-12.8 128
sudo update-alternatives --install /usr/local/cuda cuda /usr/local/cuda-13.0 130
sudo update-alternatives --config cuda
# 会列出选项,按数字选 /usr/local/cuda-12.8 的那一行,就会cuda切换到12.8

################ 禁止执行 ################
sudo apt install nvidia-cuda-toolkit 【不要执行,都是非常老的老包,而且可能破坏自定义安装环境】

################ 临时切换到12.8 ################
export PATH=/usr/local/cuda-12.8/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH 
export CUDA_HOME=/usr/local/cuda-12.8

################ 临时切换到13.0 ################
export PATH=/usr/local/cuda-13.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-13.0/lib64:$LD_LIBRARY_PATH 
export CUDA_HOME=/usr/local/cuda-13.0

################ 配置可切换模式 ################
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH 
export CUDA_HOME=/usr/local/cuda