1. 查看显卡驱动版本
nvidia-smi
这里可以看到我的显卡驱动版本是550.100,所支持的CUDA版本上限为12.4。
2. 安装对应的CUDA版本
CUDA Toolkit Archive | NVIDIA Developer
这里我就选我能用的最高版本了12.4.0
复制图中的命令
输入accept
因为我已经装过显卡驱动了,所以这里按空格取消安装显卡驱动,然后选择Install,回车。
(这里忘记截图了,借用别人的图)
3.添加CUDA的环境变量
可以任何地方都能启动它,输入以下命令:
sudo vim ~/.bashrc
输入i进入编辑模式,然后在最后加上以下代码,输入完毕后,摁ESC退出编辑模式,输入
:wq
保存并退出。
注意:我安装的cuda版本是12.4,你要把下面代码中的12.4替换成你自己的版本号
export PATH=/usr/local/cuda-12.4/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda-12.4
更新系统环境
source ~/.bashrc
验证CUDA是否安装成功
nvcc -V
4.安装cuDNN
根据按照的CUDA版本选择合适的cuDNN版本,这里我选择第一个
选择第二个,Local Installer for Linux x86_64 (Tar)
将压缩包解压
tar -xf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz
复制文件到CUDA安装目录
注意:文件名称和CUDA版本要改成你自己的,可以先去文件夹里确定一下对应的文件位置
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda12-archive/include/* /usr/local/cuda-12.4/include
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda12-archive/lib/libcudnn* /usr/local/cuda-12.4/lib64
添加读取权限
sudo chmod a+r /usr/local/cuda-12.4/include/cudnn.h
sudo chmod a+r /usr/local/cuda-12.4/lib64/libcudnn*
最后,验证是否安装成功
cat /usr/local/cuda-12.4/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
如图,就是成功了。
5.多版本CUDA切换
5.1安装新版本的CUDA
重复上面的步骤,安装另一个你需要的CUDA版本
有一个不一样的地方
这里选择no,否则会创建一个软连接覆盖之前那个/usr/local/cuda
5.2配置环境变量:
sudo vim ~/.bashrc
在最下面加上以下内容(由于我们之前安装cuda12.4版本时就已经加入了环境信息,但是是指定版本的,为了便于软连接切换,需要将版本信息去掉,更改为下面的内容)
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
更新环境变量
source ~/.bashrc
5.3软连接
切换到/usr/local 目录下
cd /usr/local
删除原有的软连接
sudo rm -rf cuda
新建软连接,将其连接到 CUDA11.8
sudo ln -s /usr/local/cuda-11.8 /usr/local/cuda
测试是否成功
nvcc -V
后续如果想自由切换的话,只需重复上述步骤即可
cd /usr/local
sudo rm -rf cuda
sudo ln -s /usr/local/cuda-12.4 /usr/local/cuda
nvcc -V