ubuntu18.0、nvidia驱动435,安装CUDA10.0失败解决方案

问题描述

新机器上的显卡驱动版本为435,默认CUDA10.1: 

ubuntu18.0、nvidia驱动435,安装CUDA10.0失败解决方案_第1张图片

因为只想装tensorflow1.14,官网[1]上的对应版本是10.0:

ubuntu18.0、nvidia驱动435,安装CUDA10.0失败解决方案_第2张图片

但是按照之前的方法[2]去装,在装CUDA时总是会报错:

ubuntu18.0、nvidia驱动435,安装CUDA10.0失败解决方案_第3张图片

查看后发现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的下载页面,下载对应版本:

ubuntu18.0、nvidia驱动435,安装CUDA10.0失败解决方案_第4张图片

根据官网提示,执行下述命令:

sudo sh cuda_10.0.130_410.48_linux.run

执行后一直按回车键直到注意内容读取完:

ubuntu18.0、nvidia驱动435,安装CUDA10.0失败解决方案_第5张图片

后续选择如下:

ubuntu18.0、nvidia驱动435,安装CUDA10.0失败解决方案_第6张图片

安装完成后显示:

ubuntu18.0、nvidia驱动435,安装CUDA10.0失败解决方案_第7张图片

添加环境变量:

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

ubuntu18.0、nvidia驱动435,安装CUDA10.0失败解决方案_第8张图片

 

参考文档

[1] 从源码构建 | Tensorflow

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

[3] ubuntu18.04安装nvidia驱动(435),cuda10.0和cudnn7.5.0

你可能感兴趣的:(问题汇总)