ubuntu16.04安装cuda8.0试错锦集


参考文献:

  1. [http://www.jianshu.com/p/35c7fde85968]
  2. [http://blog.csdn.net/sinat_19628145/article/details/60475696]


系统信息:

  1. 系统:ubuntu16.04
  2. cuda版本:cuda_8.0.61_375.26_linux
  3. 显卡:NVIDIA GeForce GTX 750 ti


前期检查:

  1. 最好是先看官方文档:[http://docs.nvidia.com/cuda/pdf/CUDA_Installation_Guide_Linux.pdf]
  2. 做好重装系统的心理准备,多来几遍就很得心应手了。毕竟贴主装了七八次。。。。

    主要是三个步骤;

    一.检查自己电脑的环境,是否支持cuda下载要求。

    二.安装。有两种安装方式,建议使用.run文件。

    三.试运行,检查是否安装成功


一.检查电脑环境

!!!!打开系统后,按 F2 进入 boot 界面,确定secure boot 选项是 disable,如果是enable状态,请先切换到disable选项,否则后续会出错。

1、检查自己的GPU是否支持CUDA

lspci | grep -i nvidia

我的GPU是支持的,在这里查看:[https://developer.nvidia.com/cuda-gpus] 有的话就可以继续啦,不然只能换个显卡了。

2、检查自己的系统,以方便日后找相关安装包

uname -m && cat /etc/*release

3、检查自己的gcc版本

gcc --version

ps:没有的话可以通过 sudo apt-get install gcc安装

4、检查是否安装了kernel header和 package development

uname -r

查看 kenel header信息

可以通过下面的命令行安装:

sudo apt-get install linux-headers-$(uname -r)

检查全部通过。继续安装。哪里不符合,请参照官方教程。



二、安装cuda

"这里有两种安装方式.官方文档中,第三章讲的是deb。第四章讲的是run。deb比run简单,但是很有可能出错,而且后期肯呢个会无法调用某些C++库函数,所以选择run文件安装。

1、提前下载自己对应版本的run安装包,记住下载地址。

官网找一个合适的

[https://developer.nvidia.com/cuda-downloads]

2、禁止ubuntu系统自带的nouveau显卡驱动。

2.0查看自己的驱动状态

lsmod | grep nouveau

如果有显示就要执行下面的操作了,一般新系统都是有输出的。

2.1创建blacklist-nouveau.conf

1)

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

或者

2)

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

在新建的文件里添加如下内容

blacklist nouveau
options nouveau modeset=0

按照1)进行的用户直接Ctrl+s保存然后关闭文件

按照2)进行的用户输入内容结束后,按ESC,光标跳到文件尾部,输入:wq保存并退出。

2.3更新:

sudo update-initramfs -u

2.4检查是否禁用成功

lsmod | grep nouveau

没有东西输出变是成功啦。一般这时候需要先重启才能生效。重启:reboot



三、安装run文件

1、重启系统后,不要进入登陆界面(!!!否则可能会安装失败),直接按Ctrl+Alt+F1进入文本模式(命令行界面),输入用户名和密码,登录账户。

2、关闭图形化界面

sudo service lightdm stop

{可以先输入命令$lsmod | grep nouveau测试是否禁用成功}

3、使用cd 命令切换到cuda_8.0.61_375.26_linux.run的目录,执行

sudo sh cuda_8.0.27_linux.run

“安装的时候,要让你先看一堆文字(EULA),我们直接不停的按##空格键到100%; 遇到提示是否安装openGL ,选择no,其他的可以一路accept, yes或回车,不建议安装samples.以及x-config。

安装成功后,会显示installed,否则会显示failed。”

4、重启图形化界面

sudo service lightdm start

高能!!!登录时能进入桌面,不会一直在重复登录,成功已近大半。

贴主就是因为没有把secure boot的状态设置为disabled,走了很多弯路。



四、检查是否安装成功

1、执行

ls /dev/nvidia*

可能出现不同结果,

××× 若结果显示

/dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm

或显示出类似的信息,应该有三个(包含一个类似/dev/nvidia-nvm的),则安装成功

×××如果结果是这俩种情况

ls: cannot access /dev/nvidia*: No such file or directory

或是

/dev/nvidia0 /dev/nvidiactl中的一个或两个,但没有/dev/nvidia-num

按照官方的做法:新建把.sh文件(我命名为zzq.sh)

touch nvi.sh
sudo gedit nvi,sh

在新建的文件中加入如下内容:(注意空格)

   #!/bin/bash
/sbin/modprobe nvidia
if [ "$?" -eq 0 ]; then
# Count the number of NVIDIA controllers found.
NVDEVS=`lspci | grep -i NVIDIA`
N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`
N=`expr $N3D + $NVGA - 1`
for i in `seq 0 $N`; do
mknod -m 666 /dev/nvidia$i c 195 $i
done
mknod -m 666 /dev/nvidiactl c 195 255
else
exit 1
fi
/sbin/modprobe nvidia-uvm
if [ "$?" -eq 0 ]; then
# Find out the major device number used by the nvidia-uvm driver
D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`
mknod -m 666 /dev/nvidia-uvm c $D 0
else
exit 1
fi

给这个脚本赋予执行权限,然后执行

sudo chmod a+x nvi.sh
sudo ./nvi.sh

2、配置环境:

sudo gedit /etc/profile

在最后面加上这些:

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

【P.S. 上面代码里面的 \ 表示的换行】

然后重新加载环境变量

sudo source /etc/profile

3、测试

cat /proc/driver/nvidia/version
nvcc -V`
nvidia-smi

有输出则成功。撒花。

ubuntu16.04安装cuda8.0试错锦集的更多相关文章

  1. Ubuntu16.04 + gtx1060 + cuda8.0 + cudnn5.1 + caffe + Theano + Tensorflow

    参考 ubuntu16.04+gtx1060+cuda8.0+caffe安装.测试经历 ,细节处有差异. 首先说明,这是在台式机上的安装测试经历,首先安装的win10,然后安装ubuntu16.04双 ...

  2. Ubuntu16.04安装cuda9.0+cudnn7.0

    Ubuntu16.04安装cuda9.0+cudnn7.0 这篇记录拖了好久,估计是去年6月份就已经安装过几遍,然后一方面因为俺比较懒,一方面后面没有经常在自己电脑上跑算法,比较少装cuda和cudn ...

  3. ubuntu16.04 安装cuda9.0+cudnn7.0.5+tensorflow+nvidia-docker配置GPU服务

    [摘要] docker很好用,但是在GPU服务器上使用docker却比较复杂,需要一些技巧,下面将介绍一下在ubuntu16.04环境下的GPU-docker环境搭建过程. 第一步: 删除之前的nvi ...

  4. 初用Linux, 安装Ubuntu16.04+NVIDIA387+CUDA8.0+cudnn5.1+TensorFlow1.0.1

    因为最近Deep Learning十分热门, 装一下TensorFlow学习一下. 本文主要介绍安装流程, 将自己遇到的问题说明出来, 并记录自己如何处理, 原理方面并没有能力解释. 由于本人之前从来 ...

  5. 深度学习环境搭建(Ubuntu16.04+GTX1080Ti+CUDA8.0+Cudnn6.0+TensorFlow+Caffe2(Pytorch))

    OS System:Ubuntu16.04 GPU Device:GTX1080Ti Softwares:CUDA8.0.Cudnn6.0.TensorFlow(1.4.0).Caffe2(1.0.0 ...

  6. ubuntu16.04 NVIDIA CUDA8.0 以及cuDNN安装

    下载CUDA 官网下载按照自己的实际情况进行选择,下载合适的版本. 官方安装指南 注意这里下载的是cuda8.0的runfile(local)文件. 安装CUDA 下载完成后,解压到当前目录,切换到该 ...

  7. ubuntu14.04安装CUDA8.0

    ubuntu安装CUDA 因为深度学习需要用到CUDA,所以写篇博客,记录下自己安装CUDA 的过程. 1 安装前的检查 安装CUDA之前,首先要做一些事情,检查你的机器是否可以安装CUDA. 1.1 ...

  8. Ubuntu16.04安装MySQL8.0

    1.Ubuntu换源(阿里云) sudo cp /etc/apt/sources.list /etc/apt/sources.list.baksudo vi /etc/apt/sources.list ...

  9. Ubuntu16.04 安装cuda9.0 cudnn 7.0.5

    参考网址:https://blog.csdn.net/zhuangwu116/article/details/81063234 (1)下载安装文件: 下载cuda9.0 runfile 文件 下载地址 ...

随机推荐

  1. hadoop3.1.0 HDFS快速搭建伪分布式环境

    1.环境准备 CenntOS7环境 JDK1.8-并配置好环境变量 下载Hadoop3.1.0二进制包到用户目录下 2.安装Hadoop 1.解压移动 #1.解压tar.gz tar -zxvf ha ...

  2. 通过yum安装MySQL5.7.4

    1,进入yum的repo文件夹 cd /etc/yum.repos.d 2,mysql主页已经提供了centos等系统需要的rpm文件,直接去主页下载. 我用的centos6.5,选择Red Hat ...

  3. Python连接MySQL数据库执行sql语句时的参数问题

    由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了.在网上查了一下,发现有以下几种方式传递参数: 一.直接把sql查询语句完整写入 ...

  4. Django model字段类型(转)

    AutoField     一个 IntegerField, 添加记录时它会自动增长. 你通常不需要直接使用这个字段; 如果你不指定主键的话,系统会自动添加一个主键字段到你的 model.(参阅 _自 ...

  5. 基于bootstrap的文本编辑器组件:Summernote

    Summernote官网地址 :https://summernote.org/ 这是官网的一个例子: <!DOCTYPE html> <html lang="en" ...

  6. 洛谷P2973 [USACO10HOL]赶小猪

    https://www.luogu.org/problemnew/show/P2973 dp一遍,\(f_i=\sum_{edge(i,j)}\frac{f_j\times(1-\frac{P}{Q} ...

  7. JZOJ 10043 第k小数

    Description 有两个非负整数数列,元素个数分别为N和M.从两个数列中分别任取一个数相乘,这样一共可以得到NM个数,询问这NM个数中第K小数是多少. 时间限制为20ms . Input 输入文 ...

  8. JavaScript验证时间格式

    1. 短时间,形如 (13:04:06) function isTime(str) { var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/) ...

  9. Qt-网易云音乐界面实现-1 窗口隐藏拖拽移动,自定义标题栏

    最近也换了公司,也换了新的工作,工资也象征性的涨了一点点,但是最近心里还是慌慌,不知道为什么,没有那种踏实感,感觉自己随时可以被抛弃的感觉.感觉自己在荒废时间,也感觉自己在浪费生命. 为了让自己在被抛 ...

  10. NO--14 微信小程序,左右联动二

    上一篇讲解了左=>右联动,那个还比较简单,本篇写剩下比较核心的部分,也是本次开发过程中遇到最难的部分,右=>左联动,先简单看一下演示   右左联动.gif 一.关键技术: (1) 小程序 ...