最近使用英伟达3090显卡跑深度学习模型,卸载了原有的cuda11.1经过一番努力排除了各种报错安装上了cuda10.1,运行了程序发现运行时发现Internal Error: BlackGEMM launch failed错误,根据各种网上教程最终也没有解决,后来一查,可能时因为3090显卡最低要求cuda11.1的原因,cuda10.0并不能与其兼容,遂卸载了cuda10.0,重新安装了cuda11.1
ubuntu18 cuda11.1安装及一些坑
下载cuda11.1
wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run
sh cuda_11.1.1_455.32.00_linux.run
或者官网下载
https://developer.nvidia.com/zh-cn/cuda-downloads
选择指定11.1版本的liunx
因为是乌班图18.04的系统所以选择18.04的runfile(local)下载
如果在官网上下载的可能需要在下载位置打开终端执行
sh cuda_11.1.1_455.32.00_linux.run
之后会让选择安装选项,将driver那一项点掉不安装,然后执行安装
然后在bashrc文件中的最后添加三个路径执行
sudo gedit~/.bashrc
因为对于vim不是很熟直接打开这个文本文件进行复制粘贴
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.1/lib64
export PATH=$PATH:/usr/local/cuda-11.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.1
将上面内容复制到bashrc中,保存退出
source ~/.bashrc
执行上述内容使其生效
nvcc -V
执行nvcc -V出现
表明成功
接着安装cudnn
https://developer.nvidia.com/rdp/cudnn-archive
找到对应版本的cudnn复制下载连接,使用迅雷下载
tar -xzvf cudnn-11.1-linux-x64-v8.0.5.39.tgz
解压,然后复制文件
sudo cp cuda/include/* /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
使用 下面代码验证安装:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
至此就完成了cuda和cudnn的安装
当我在tensorflow2.4.0-gpu上运行程序报错
dlerror:libcusolver.so.10:cannot open shared object file:…
使用的方法是在tensorflow的环境下创建个软连接
cd到自己环境下的tensorflow文件夹下,或者直接在该文件夹下打开终端错误提示缺什么就添加什么
总结
这篇文章只是在我所在的机器上好用,可能不符合所有的情况,仅作参考