ubuntu18.0、nvidia驅動435,安裝CUDA10.0失敗解決方案

問題描述

新機器上的顯卡驅動版本爲435,默認CUDA10.1: 

因爲只想裝tensorflow1.14,官網[1]上的對應版本是10.0:

但是按照之前的方法[2]去裝,在裝CUDA時總是會報錯:

查看後發現deb文件用了dpkg後也並沒有被安裝。

即使對應機器的要求,裝10.1版本的,也還是會出錯:

E: Invalid record in the preferences file /etc/apt/preferences.d/cuda-repository-pin-600, no Package header

 

降級gcc版本

經查找發現,可能是gcc版本的問題,上圖顯示的是要gcc4.8,但是機器上是7.5:

 

gcc和g++降級,並進入/usr/bin目錄下查看[3]

sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
cd /usr/bin
ls -l gcc* 

此時顯示gcc鏈接的爲gcc7,要改爲4.8。

對gcc和g++進行備份,並重新鏈接:

sudo mv gcc gcc.bak
sudo ln -s gcc-4.8 gcc
sudo mv g++ g++.bak
sudo ln -s g++-4.8 g++

再次查看版本:

cd /usr/bin
ls -l gcc*
ls -l g++*

顯示修改成功:

但是此時安裝依然有誤。

 

使用runfile安裝cuda

搜索無果,覺得換用run來安裝[3]

還是進入CUDA的下載頁面,下載對應版本:

根據官網提示,執行下述命令:

sudo sh cuda_10.0.130_410.48_linux.run

執行後一直按回車鍵直到注意內容讀取完:

後續選擇如下:

安裝完成後顯示:

添加環境變量:

sudo vim ~/.bashrc

在末尾添加:

export CUDA_HOME=/usr/local/cuda 
export PATH=$PATH:$CUDA_HOME/bin 
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存,使其生效:

source ~/.bashrc

測試是否安裝成功

cd /usr/local/cuda/samples/1_Utilities/deviceQuery 
sudo make
./deviceQuery

 CC有7.5,對於一般gpu加速(大於3.5)來說,足夠了:

 查看當前CUDA版本:

nvcc --version
cat /usr/local/cuda/version.txt

 

參考文檔

[1] 從源碼構建 | Tensorflow

[2] 配置ubuntu18.04服務器環境,tensorflow1.12-gpu

[3] ubuntu18.04安裝nvidia驅動(435),cuda10.0和cudnn7.5.0

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