ubuntu16.04安装cuda8.0试错锦集
ubuntu16.04安装cuda8.0试错锦集
参考文献:
- [http://www.jianshu.com/p/35c7fde85968]
- [http://blog.csdn.net/sinat_19628145/article/details/60475696]
系统信息:
- 系统:ubuntu16.04
- cuda版本:cuda_8.0.61_375.26_linux
- 显卡:NVIDIA GeForce GTX 750 ti
前期检查:
- 最好是先看官方文档:[http://docs.nvidia.com/cuda/pdf/CUDA_Installation_Guide_Linux.pdf]
- 做好重装系统的心理准备,多来几遍就很得心应手了。毕竟贴主装了七八次。。。。
主要是三个步骤;
一.检查自己电脑的环境,是否支持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试错锦集的更多相关文章
- Ubuntu16.04 + gtx1060 + cuda8.0 + cudnn5.1 + caffe + Theano + Tensorflow
参考 ubuntu16.04+gtx1060+cuda8.0+caffe安装.测试经历 ,细节处有差异. 首先说明,这是在台式机上的安装测试经历,首先安装的win10,然后安装ubuntu16.04双 ...
- Ubuntu16.04安装cuda9.0+cudnn7.0
Ubuntu16.04安装cuda9.0+cudnn7.0 这篇记录拖了好久,估计是去年6月份就已经安装过几遍,然后一方面因为俺比较懒,一方面后面没有经常在自己电脑上跑算法,比较少装cuda和cudn ...
- ubuntu16.04 安装cuda9.0+cudnn7.0.5+tensorflow+nvidia-docker配置GPU服务
[摘要] docker很好用,但是在GPU服务器上使用docker却比较复杂,需要一些技巧,下面将介绍一下在ubuntu16.04环境下的GPU-docker环境搭建过程. 第一步: 删除之前的nvi ...
- 初用Linux, 安装Ubuntu16.04+NVIDIA387+CUDA8.0+cudnn5.1+TensorFlow1.0.1
因为最近Deep Learning十分热门, 装一下TensorFlow学习一下. 本文主要介绍安装流程, 将自己遇到的问题说明出来, 并记录自己如何处理, 原理方面并没有能力解释. 由于本人之前从来 ...
- 深度学习环境搭建(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 ...
- ubuntu16.04 NVIDIA CUDA8.0 以及cuDNN安装
下载CUDA 官网下载按照自己的实际情况进行选择,下载合适的版本. 官方安装指南 注意这里下载的是cuda8.0的runfile(local)文件. 安装CUDA 下载完成后,解压到当前目录,切换到该 ...
- ubuntu14.04安装CUDA8.0
ubuntu安装CUDA 因为深度学习需要用到CUDA,所以写篇博客,记录下自己安装CUDA 的过程. 1 安装前的检查 安装CUDA之前,首先要做一些事情,检查你的机器是否可以安装CUDA. 1.1 ...
- Ubuntu16.04安装MySQL8.0
1.Ubuntu换源(阿里云) sudo cp /etc/apt/sources.list /etc/apt/sources.list.baksudo vi /etc/apt/sources.list ...
- Ubuntu16.04 安装cuda9.0 cudnn 7.0.5
参考网址:https://blog.csdn.net/zhuangwu116/article/details/81063234 (1)下载安装文件: 下载cuda9.0 runfile 文件 下载地址 ...
随机推荐
- 关于Matlab在绘图时中文字体显示不一致的问题
我的运行环境: OS: Win10 教育版 64-bit Matlab版本:Matlab 2017a 64-bit 在使用Matlab绘图时,而横坐标轴.纵坐标轴.标题有汉字时,会发现在GUI的显示 ...
- 使用CBrother做TCP服务器与C++客户端通信
使用CBrother脚本做TCP服务器与C++客户端通信 工作中总是会遇到一些对于服务器压力不是特别大,但是代码量比较多,用C++写起来很不方便.对于这种需求,我选择用CBrother脚本做服务器,之 ...
- 【转】WCF设置拦截器捕捉到request和reply消息
原文:https://www.cnblogs.com/yanglang/p/7063743.html 我们需要拦截消息,并把消息打印出来,那么我们就需要一个拦截器,叫做MessageInspector ...
- webservice的 发布
webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使 ...
- AngularJS中Directive指令系列 - bindToController属性的使用
默认false.这个属性用来绑定scope的属性直接赋给controller.可以为true或者和scope相同格式的对象. 此外使用此属性,要设置controller的别名,通常通过"co ...
- kali下操作 Apache2
Linux系统为Ubuntu 一.Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 start or $ sudo /etc/init.d ...
- appium 遇到的坑
上周开始试着来用appium,首先开始去官网看,然后下载appium客户端,下载安装后,然后笔者开始安装android sdk ,进官网下载后,笔者下载安装后,在更新下载SDK Manager的时 ...
- ubuntu下安装pip install mysqlclient 报错 command "python setup.py egg_info" failed with error.....解决方案
我的环境: ubuntu 1604 版本, 在黑屏终端已经安装了django和virtualenv虚拟环境, 在创建了django的models后开始迁移的操作, 出现错误, 错误代码最后如题目 可以 ...
- java查询几个菜单下的所有下级菜单
需求: 假如有几个一级菜单,一级菜单下面有几个二级菜单,二级菜单下又还有三级菜单.现在要求一级菜单里面的几个设置为无效,将不显示在前端.现在需要的是查询出一级菜单下面所有的菜单,包括二级,三级菜单 原 ...
- NO--11关于"this"你知道多少
为了更好地理解 this,将 this 使用的场景分成三类: 在函数内部 this 一个额外的,通常是隐含的参数. 在函数外部(顶级作用域中): 这指的是浏览器中的全局对象或者 Node.js 中一个 ...