问题描述
新机器上的显卡驱动版本为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