赞
踩
想当年在实验室就在自己电脑(双系统)和服务器上都搭建这个环境(Ubuntu18.04+conda+pycharm+cuda+cudnn完整流程)
还写了操作文档,主要遇到了太多问题(比如NVIDIA驱动安装后黑屏问题,真是想用linux之父的话来说一句)
现在再次遇到重装服务器这个事情,又遇到了一些新坑(好多东西变了)。这次就写在这里吧(碎碎念完结)
这里查看信息
兼容性
CUDA有最小支持的驱动版本的要求,高版本的CUDA不支持低版本的驱动;驱动版本向后兼容,即驱动可以升级而安装的CUDA不用升级。
当前支持的cuda版本查询(需要安装对应的显卡驱动)
nvidia-smi
这里可以看到当前的驱动版本和cuda支持的版本(上图的上部)
PS:这里指当前驱动最大支持的cuda版本,可以选择升级驱动或者安装的cuda版本低于这个
驱动安装(小白提示)
另外,使用这个命令的前提条件是已经安装了NVIDIA的显卡驱动了
PS:Ubuntu可通过软件和更新附加驱动选项,一键式安装驱动(如下图)
两种安装方式
进入页面
Release Notes(文档页面)
这次点linux安装指南
页面有很细节说明,这里就不赘述了,乖宝宝们自己去看哟(跳转链接如下)
下载页面 cuda下载页面
具体选项
然后页面下方会刷出具体的命令,一行一行按照它的命令执行操作就好
验证安装结果
nvcc -V
如果没有出现就是没有配置cuda的环境变量,输入下面的命令
sudo nano ~/.bashrc
在末尾加上以下两行路径信息
export PATH="/usr/local/{cuda-12.0}/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/{cuda-12.0}/lib64:$LD_LIBRARY_PATH"
PS:{}是你自己的路径,不一定是cuda-12.0
查看具体的版本的命令如下
cd /usr/local/
ls
路径信息无误后,ctrl+x保存并退出,此时需要刷新
source ~/.bashrc
nvcc -V
页面搜索
搜索引擎搜cudnn,官网的首页如下图,链接cudnn页面
接下来需要你登录(没有账号的话需要你注册一个NVIDIA的账号,这个我就爱莫能助了)之后,点同意,并下载
文档页面点开后,继续点安装向导。这里给出安装向导页面的链接cudnn说明页面
安装命令
因为cuda等已经搞定了,这里直接跳转到对应的安装方式这里。
总共是7步,这里就没有截全了,对应的命令放下面了
A.先进入cudnn的deb下载路径($distro 为ubuntu1804、ubuntu2004, ubuntu2204等),tab直接自动补全,输入下面命令
sudo dpkg -i cudnn-local-repo-$distro-8.x.x.x_1.0-1_amd64.deb
B.导入CUDA GPG key
sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/
C.刷新元数据
sudo apt-get update
D.分别安装三个库
sudo apt-get install libcudnn8=8.x.x.x-1+cudaX.Y
sudo apt-get install libcudnn8-dev=8.x.x.x-1+cudaX.Y
sudo apt-get install libcudnn8-samples=8.x.x.x-1+cudaX.Y
再次说明x.x.x是对应下载的cudnn版本信息,X.Y是 cuda的大版本和小版本信息
上面步骤D,可能会发生错误,说找不到,解决方法如下
进入/var对应的cudnn-local-repo-ubuntu2004-8.x.x.x文件中
使用dpkg命名安装上图路径的三个包或者
修改4中的cuda版本,我这里是12.0但包实际的版本是12.2.修改命令后就可以了
sudo apt-get install libcudnn8=8.9.7.29-1+cuda12.2
sudo apt-get install libcudnn8-dev=8.9.7.29-1+cuda12.2
sudo apt-get install libcudnn8-samples=8.9.7.29-1+cuda12.2
验证
借用网上的信息,如何检测版本信息,旧cudnn版本用下面第1个,新的用第2个
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
不过新的已经可能上面的路径中了,解决方法如下,输入下面的命令,找到真实的位置
where is cudnn_version.h
然后再根据这个路径信息输入下面任意两个命令
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 5 MAJOR
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。