1. 程式人生 > >deepin下安裝CUDA9.0

deepin下安裝CUDA9.0

    因為參加學校一些專案的原因需要學習一下深度學習方面的知識,所以就需要配置CUDA來編譯一些原始碼來學習一下   

    配置環境這個確實有點坑,搞了挺久了還是卡在這一步(其實原始碼也看不懂),不過最近總算是搞成功了吧,不過編譯原始碼的時候還是出了點問題,先記錄一下以後再補坑了吧。

    大致的思路就是把原來的開源驅動給禁了,然後安裝Nvidia的閉源驅動->安裝CUDA的.run檔案->放入cudnn檔案,連結

注:由於CUDA 9.0僅支援GCC 6.0及以下版本,而Ubuntu 18.04預裝GCC版本為7.3,故手動安裝gcc-6與g++-6:

sudo apt-get install gcc-6 g++-6

之後切換至/usr/bin目錄修改符號連結,使GCC 6成為預設使用版本:

cd /usr/bin
sudo rm gcc
sudo ln -s gcc-6 gcc
sudo rm g++
sudo ln -s g++-6 g++

先裝好驅動的話則在安裝CUDA.run中不選擇安裝驅動  

sudo apt install bumblebee bumblebee-nvidia nvidia-smi

NVIDIA的閉源顯示卡驅動安裝的話直接從源裡安裝就比較方便了,源裡有適合的版本。也可以在驅動管理器(應用那裡搜一下)

那裡進行驅動的切換。deepin下還可以去深度商店裡下載深度顯示卡驅動管理器。


    注:命令列以外的方式安裝大黃蜂方案的話會順便下載對應的NVIDIA驅動的,所以不用直接裝

   方案一:從源裡安裝

參考:https://wiki.deepin.org/index.php?title=Deepin15.4.1%E5%AE%89%E8%A3%85Caffe

目前從源裡安裝的CUDA版本為8.0,cudnn的話從官網下載之後再把相應的lib和.h檔案放入/usr/lib和/usr/include即可(還要連結一下)

    方案二:從官網下載CUDA9.0安裝

    如果直接下載.deb檔案然後進行安裝會有點坑,我這裡出現了無法安裝的情況,需要解除安裝驅動然後再安裝.deb檔案,但是再安裝回驅動時原來安裝好的CUDA就不見了(一頭霧水)

    所以採用了.run檔案進行安裝的方式

    參(復)考(制):http://notobject.com/article/11

step1 前往nividia官網下載cuda9.0和 cudnn7.0

  • 下載cuda9.0

cuda9.0下載地址: https://developer.nvidia.com/cuda-90-download-archive

依次選擇:linux -> x84_64 -> Ubuntu -> 16.04 -> runfile(local)

  • 下載cudnn7.0

下載cudnn7.0需要登入,如果沒有nividia賬號,先註冊一個。登入成功後在官網搜尋cudnn7.0,進入下載頁面。選擇與cuda9.0配套的cudnn7.0_libraries for linux 版本

step2 禁用nouveau驅動

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

將下面兩行程式碼拷貝進去:

blacklist nouveau
options nouveau modeset=0

執行以下命令後,重啟電腦

sudo update-initramfs -u

重啟完成後輸入:

lsmod | grep nouveau

沒有任何資訊輸出則表示nouveau已經成功禁用,否則請重試上面的步驟。

step3 開始安裝

按快捷鍵CTRL + ALT + F2 進入文字命令列模式。

輸入賬戶密碼登入。

執行命令,關閉x server:

sudo service lightdm stop

進cuda9.0目錄,執行:

sudo sh ./cuda-xxx.run

按q退出文件瀏覽,輸入accept同意,除了是否安裝openGL 選擇no之外,其他選項輸入y 或者回車預設。

安裝完成之後,執行:

sudo service lightdm start

開啟x server 進入圖形介面

step4 新增環境變數:

gedit ~/.bashrc

  export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/:$LD_LIBRARY_PATH
  export PATH=/usr/local/cuda-9.0/bin:$PATH

將上面兩行環境變數新增到檔案末尾,儲存檔案。

執行source命令,使環境變數配置生效。

source ~/.bashrc

安裝cudnn7.0加速包

解壓下載的cudnn壓縮包

依次執行以下命令:

sudo cp cuda/include/cudnn.h /usr/local/cuda/includesudo cp cuda/lib64/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.3 libcudnn.so.7

sudo ln -s libcudnn.so.7 libcudnn.so

檢查驅動是否安裝成功

執行命令(V是大寫):

nvcc -V

可以看到輸出相應的資訊,則安裝成功

如果在編譯的時候出現了找不到.so檔案的錯誤的話,就在 /etc/ld.so.conf.d/加入檔案 cuda.conf

內容為/usr/local/cuda-9.0/lib64 ,儲存然後執行sudo ldconfig

找不到lcudnn:

先把原來的libcudnn.so連結刪除(/usr/lib下)

然後再建立連結

sudo ln -s libcudnn.so.7.0.5 libcudnn.so

後:額,原來cudnn不小心下成power8的了,所以會出現問題