1 前言
由于项目需要,需要在不同版本CUDA之间切换,所以需要安装多个版本的CUDA.
2 下载需要的CUDA版本
前往 CUDA 的下载官网:https://developer.nvidia.com/cuda-toolkit-archive
选择自己需要的 CUDA 版本,选择对应的系统进行下载,建议选择 .run 形式的安装器。以 root 权限运行 .run 安装器,根据提示进行安装即可。过程中需要注意取消勾选显卡驱动,不要重新安装驱动,因为我们上一步已经安装过了。
3 安装对应的 cuDNN 库
前往 cuDNN 的下载官网:https://developer.nvidia.com/cudnn-archive
注意选择和上一步安装的 CUDA 版本适配的 cuDNN 版本,我们需要分别给每个版本的 CUDA 安装对应版本的 cuDNN 库。建议选择 .tar.xz 形式的压缩包。
下载好后,使用 tar -xvf xxx.tar.xz 解压 cuDNN 库,然后直接执行以下指令进行安装:(注意在正确位置填上对应的版本号,例如 cuda-12.3)
1 |
|
4 配置切换脚本
我们的切换方式原理是软链接。每个 CUDA 版本安装后,会在 /usr/local 创建对应版本的文件夹,例如 cuda-12.3,我们可以创建一个软链接 /usr/local/cuda,让软链接指向对应版本的 CUDA,我们通过修改软链接的指向就能修改 CUDA 版本了。
我们通过文本编辑器打开用户文件夹下的 .bashrc,这里用 vim 为例:vim ~/.bashrc
在该文件尾部添加以下内容:
1 | export PATH=$PATH:/usr/local/cuda/bin |
注意,如果你的 .bashrc 内已经有类似于前两行的内容,那么需要删除它,替换为我的写法。
添加后保存该文件,然后使用 source .bashrc 刷新该文件。
5 测试多版本切换
上述脚本在 bash 内注册了一个函数叫 switch_cuda,通过调用该函数即可快速切换 CUDA 版本。用法为:switch_cuda xx.x (版本号)
以下是切换的演示,首先将 CUDA 版本切换到了 11.6,然后再切回 12.3: