Ubuntu 下不同版本 cuda 和 cudnn 切換

Ubuntu 不同版本 cuda 和 cudnn 切換

可能不同的軟件對與 cuda 和 cudnn 的版本有不同的要求,所以需要根據具體的要求來切換其版本。

ubuntu 是支持安裝多個版本的 cuda 的,需要使用某個的版本時切換就可以了。對於 cudnn 則是直接重裝,所謂的重裝其實就是 copy 後創建個軟鏈接就可以了。

安裝 cuda 比較容易,直接運行下載的 sh 文件就可以了。

sudo sh cuda_9.0.176_384.81_linux.run

1. 切換 cuda

首先應該確保環境變量的設置不是 hard code,而是指向軟鏈接,這樣就可以直接通過修改軟鏈接來修改 cuda 的版本。當然 hard code 的方式可以通過直接修改環境變量來修改 cuda 的版本,也是可以的。

通過如下命令進入環境變量文件

sudo gedit ~/.bashrc

檢查關於 cuda 的環境變量設置,如下的設置是 hard code 的,直接指定了 cuda 的版本。

# for cuda9.0
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

而下面的設置是指向 /usr/local/cuda 的軟鏈接。

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

對於上面這種情況,通過如下指令直接刪除之前的軟鏈接,創建一個指向新的 cuda 版本的軟鏈接即可。

rm -rf /usr/local/cuda  #刪除之前創建的軟鏈接
sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda

修改完之後可以查看 cuda 的版本是否已經修改成功。

nvcc -V

2. 切換 cudnn

準確的說切換 cudnn 的過程就是重新安裝一遍 cudnn,因爲 cudnn 的安裝本身就是 copy 一些文件到 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 /usr/local/cuda/lib64/libcudnn*

cd ~/Downloads
tar zxvf cudnn-9.0-linux-x64-v7.tgz
cd cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/

cd cuda/lib64/

sudo cp lib* /usr/local/cuda/lib64/
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7
sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7  #注意版本對應
sudo ln -s libcudnn.so.7 libcudnn.so 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章