問題描述
新機器上的顯卡驅動版本爲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