1、查看cuda版本
# 法一:
nvcc -V
# 法二:
whereis cuda # 查看cuda路徑
cat */cuda/version.txt # 通過上面查到的路徑讀取version文件
2、下載cudnn
鏈接:https://developer.nvidia.com/rdp/cudnn-archive
選擇對應的版本:cuDNN Library for xxx,xxx為系統號(Linux (x86),Linux (Power), Windows..),linux通過arch
命令查看內核
3、安裝cudnn
# 將下載的cudnn解壓后,會有一個cuda文件夾,將里面的文件復制到已安裝的cuda目錄下,命令如下:
sudo cp cuda/include/cudnn*.h /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*
# 進入cuda的lib64目錄:對下面這些文件重新生成軟鏈接
sudo rm -rf libcudnn.so libcudnn.so.8 # 刪除原鏈接,因為路徑可能存在變化,此鏈接無效,注意將數字修改為對應的版本號
sudo ln -s libcudnn.so.8.0.5 libcudnn.so.8
sudo ln -s libcudnn.so.8 libcudnn.so
sudo rm -rf libcudnn_ops_train.so libcudnn_ops_train.so.8
sudo ln -sf libcudnn_ops_train.so.8.0.5 libcudnn_ops_train.so.8
sudo ln -sf libcudnn_ops_train.so.8 libcudnn_ops_train.so
sudo rm -rf libcudnn_ops_infer.so libcudnn_ops_infer.so.8
sudo ln -s libcudnn_ops_infer.so.8.0.5 libcudnn_ops_infer.so.8
sudo ln -s libcudnn_ops_infer.so.8 libcudnn_ops_infer.so
sudo rm -rf libcudnn_adv_infer.so libcudnn_adv_infer.so.8
sudo ln -s libcudnn_adv_infer.so.8.0.5 libcudnn_adv_infer.so.8
sudo ln -s libcudnn_adv_infer.so.8 libcudnn_adv_infer.so
sudo rm -rf libcudnn_adv_train.so libcudnn_adv_train.so.8
sudo ln -s libcudnn_adv_train.so.8.0.5 libcudnn_adv_train.so.8
sudo ln -s libcudnn_adv_train.so.8 libcudnn_adv_train.so
sudo rm -rf libcudnn_cnn_infer.so libcudnn_cnn_infer.so.8
sudo ln -s libcudnn_cnn_infer.so.8.0.5 libcudnn_cnn_infer.so.8
sudo ln -s libcudnn_cnn_infer.so.8 libcudnn_cnn_infer.so
sudo rm -rf libcudnn_cnn_train.so libcudnn_cnn_train.so.8
sudo ln -s libcudnn_cnn_train.so.8.0.5 libcudnn_cnn_train.so.8
sudo ln -s libcudnn_cnn_train.so.8 libcudnn_cnn_train.so
# 配置cuda環境變量
vim ~/.bashrc # 打開文件,將下面兩行代碼添加在文件最后
export PATH=/usr/lib/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/lib/cuda/lib64
source ~/.bashrc # 使環境變量生效,需要在新打開的窗口中才有用,已打開的窗口中不起作用
# 查看版本號
cat **/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2