更新
自己在配置的时候发现,cuda与cudnn版本相差不大也可以混着用,不一定严丝合缝的匹配。
安装教程针对cuda11.5以上的版本,以下的版本需自己翻看之前人写的教程。
安装方法直接参考用户手册安装
Installation Guide - NVIDIA Docs
1.3.2. Debian Local Installation
Download the Debian local repository installation package. Before issuing the following commands, you must replace X.Y and 8.x.x.x with your specific CUDA and cuDNN versions.
- Navigate to your <cudnnpath> directory containing the cuDNN Debian local installer file.
- Enable the local repository.
sudo dpkg -i cudnn-local-repo-\${OS}-8.x.x.x_1.0-1_amd64.deb
or
sudo dpkg -i cudnn-local-repo-\${OS}-8.x.x.x_1.0-1_arm64.deb
执行完这个命令之后会在/var/目录下出现一个同样名字的文件夹。5,6,7步的操作是基于这个文件夹中的.deb文件。
- Import the CUDA GPG key.
sudo cp/var/cudnn-local-repo-\*/cudnn-local-\*-keyring.gpg /usr/share/keyrings/
这个命令在执行第二步时会自动提供。复制粘贴即可
- Refresh the repository metadata.
sudoapt-getupdate
如果第二步安装错误,这里会有报错。卸载掉上次安装错误的包后错误消失。卸载方法参考文章最后。
- Install the runtime library.
sudoapt-getinstalllibcudnn8=8.x.x.x-1+cudaX.Y
- Install the developer library.
sudoapt-getinstalllibcudnn8-dev=8.x.x.x-1+cudaX.Y
- Install the code samples.
sudoapt-getinstalllibcudnn8-samples=8.x.x.x-1+cudaX.Y
但是有个坑要注意:
在安装cudnn时,必须根注意cudnn的版本要跟cuda的版本匹配。(cuda的版本是敲nvcc -V时出现的版本号,而不是nvidia-smi出现的版本号)
如果用比较旧的cuda版本,不能直接用NVIDIA的最新cudnn包,因为此时的包中是对应最新的cuda版本。需要翻看之前的cudnn包。
但是你不知道cudnn包中对应哪个cuda版本,一般需要自己dpkg 安装一下,然后在/var目录下找到对应的包,从而找到适合自己的cudnn版本。
如:
点进去就能看到此时cudnn中对应的哪种cuda版本。
图2如果此时目录中没有对应自己cuda版本的deb,那就重新下载一个新的cudnn包。
我总结一下, 可能不准,以实际操作为准:
cudnn-local-repo-ubuntu2004-8.8.1.3_1.0-1_amd64.deb --> cuda11.8
cudnn-local-repo-ubuntu2004-8.8.0.121_1.0-1_amd64.deb --> cuda11.8
cudnn-local-repo-ubuntu2004-8.7.0.84_1.0-1_amd64.deb --> cuda11.8
cudnn-local-repo-ubuntu2004-8.6.0.163_1.0-1_amd64.deb --> cuda11.8
cudnn-local-repo-ubuntu2004-8.5.0.96_1.0-1_amd64.deb --> cuda11.7
cudnn-local-repo-ubuntu2004-8.4.1.50_1.0-1_amd64.deb --> cuda11.6
那之前安装错的包记得删除。用下面的命令删除即可:
apt-get --purge remove <package> # 删除软件及其配置文件
<package> 就是上面第二步安装的包的名称,即cudnn-local-repo-${OS}-8.x.x.x_1.0-1_amd64(记得替换${OS}-8.x.x.x)
网友评论