当前位置: 首页 > news >正文

二、CUDA安装和测试

一、前提

ubuntu系统:14.04
不要安装任何系统补丁和进行系统升级
ubantu14.04(这是比较稳定的版本,推荐使用)
cuda7.5
GPU:GeForce 820M(只要是支持cuda的就好)
查看GPU是否支持cuda https://developer.nvidia.com/cuda-gpus

二、推荐安装前最好先看一遍官方手册

三、安装cuda前的准备工作

1.检查自己的GPU是否是CUDA-capable
在终端中输入:

lspci | grep -i nvidia

,会显示自己的NVIDIA GPU版本信息
去CUDA的官网查看自己的GPU版本是否在CUDA的支持列表中
https://developer.nvidia.com/cuda-gpus
2.检查自己的Linux版本是否支持 CUDA
Ubuntu 14.04是没问题的
3.检查自己的系统中是否装了gcc
在终端中输入:

gcc  --version

可以查看自己的gcc版本信息
如果你装的是cuda8.0,而且你的ubuntu是16.04,那么你的GCC版本就会是5.0以上,
cuda8.0是不支持GCC5.0以上的,所以需要降级。而且,ubuntu16.04只能安装cuda8.0

4.检查是否安装了kernel header和 package development
在终端中输入:

uname -r       

可以查看自己的kernel版本信息
在终端中输入:

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

可以安装对应kernel版本的kernel header和package development
5.禁用 nouveau
终端中运行:

 lsmod | grep nouveau

,如果有输出则代表nouveau正在加载。
Ubuntu的nouveau禁用方法:
在 /etc/modprobe.d 中创建文件 blacklist-nouveau.conf ,
创建文件方法:进入到/etc/modprobe.d目录下
终端命令:

sudo  touch  blacklist-nouveau.conf
sudo  chmod a+w+r blacklist-nouveau.conf  (给文件可读可写的权限)
vim blacklist-nouveau.conf

在文件中输入一下内容

blacklist nouveau
options nouveau modeset=0

按esc 在按输入 :wq (注意前面的:也要输入)保存退出
打开终端,运行命令:

sudo update-initramfs -u

重启ubuntu
设置完毕可以再次运行

 lsmod | grep nouveau

检查是否禁用成功,如果运行后没有任何输出,则代表禁用成功。

6.下载cuda
https://developer.nvidia.com/cuda-downloads
按自己电脑要求选择对应版本。
这个cuda有两个安装方式:一个是runfile,另一个是deb。
这里我们选择第一个runfile下载。
下载后放在一个目录下,我这里为 /home/tony/cuda。

7.安装cuda的一些依赖库
因为这个依赖的原因,导致我重装了好几次系统,缺少这些依赖会无法安装成功。

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

如无法安装,请看cuda安装错误解决篇

四、安装cuda

1.重启电脑
在进入到登录界面时候,按住Ctrl+Alt+F1,进入到text mode,登录账号
2.关闭图形界面
终端命令:

sudo service lightdm stop

3.切换到cuda文件目录
cd到下载好的cuda目录,例如我的cuda包在/home/tony/cuda中
再ls查看cuda名字
4.给cuda可执行的权限

 sudo chmod a+x cuda_7.5.18_linux.run

5.安装步骤

sudo sh cuda_7.5.18_linux.run

(a)会先有个阅读声明,一直按D即可,然后accept
(b)第一个选项install nvidia accelerated Graphics Driver (y)
(c)第二个选项install the OpenGL libraries
双显卡(指的是集成显卡+独立显卡)选n,单卡(如果没有集成显卡,只有一个或多个支持GPU的显卡)选y。双显卡选y的话,会出现黑屏或登录界面无限循环的问题。
(d)后面的选项都是yes,或者按默认路径即直接按回车即可。
6.若出现下列显示
上面无警告和报错

Driver :Installed
Toolkit :Installed in /usr/local/cuda-7.5
Samples :Installed in /home/tony

即安装暂时成功。

7.输入

sudo service lightdm start 

重新启动图形化界面
Alt + ctrl +F7,返回到图形化登录界面,输入密码登录。
如果能够成功登录,则表示不会遇到循环登录的问题,基本说明cuda的安装成功了。
8.搭配环境
终端输入

echo 'export PATH=/usr/local/cuda-7.5/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

重启ubuntu

五、检查cuda是否安装成功

1.检查路径 ~/dev 下 有无存在名为 nvidia* (以nvidia开头)的多个文件(device files)
若无,安装错误,见解决篇。
2.检查 CUDA Toolkit是否安装成功
终端输入 :

nvcc -V

会输出CUDA的版本信息(V要大写)
3.编译samples例子
进入到Samples安装目录,然后在该目录下终端输入make,等待十来分钟。
4.编译完成后测试
可以在Samples里面找到bin/x86_64/linux/release/目录,并切换到该目录
运行deviceQuery程序,sudo ./deviceQuery
查看输出结果,重点关注最后一行,Pass表示通过测试
这里写图片描述
运行bandwidthTest程序,sudo ./bandwidthTest
查看输出结果,显示结果为PASS表示通过测试
这里写图片描述
5.若完成上述步骤,cuda完成安装!

相关文章:

  • 三、安装Anaconda实验平台
  • 3.1安装配置Anaconda
  • 3.2使用conda安装theano环境
  • 四、安装cuDNN,caffe和openCV
  • 测试Theano使用GPU并行计算,以验证环境搭建是否成功
  • 安装cuda的错误解决办法
  • Anaconda 安装编译pycaffe
  • 服务器(多GPU)caffe安装和编译
  • DIGITS安装和配置
  • SeetaFaceEngine安装和测试
  • yolo的安装和使用
  • yolo-v1 train和test自己的分类和数据
  • yolo-v2修改只识别person
  • zigbee编译错误汇总(一)
  • 1.The Graphics View Architecture(图形视图框架)
  • 【技术性】Search知识
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • 4个实用的微服务测试策略
  • Apache Zeppelin在Apache Trafodion上的可视化
  • CentOS从零开始部署Nodejs项目
  • Cumulo 的 ClojureScript 模块已经成型
  • FastReport在线报表设计器工作原理
  • java 多线程基础, 我觉得还是有必要看看的
  • Javascript设计模式学习之Observer(观察者)模式
  • JSDuck 与 AngularJS 融合技巧
  • LintCode 31. partitionArray 数组划分
  • maven工程打包jar以及java jar命令的classpath使用
  • tab.js分享及浏览器兼容性问题汇总
  • v-if和v-for连用出现的问题
  • Vue.js-Day01
  • zookeeper系列(七)实战分布式命名服务
  • 京东美团研发面经
  • 小程序01:wepy框架整合iview webapp UI
  • 在Docker Swarm上部署Apache Storm:第1部分
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​iOS安全加固方法及实现
  • #if和#ifdef区别
  • $forceUpdate()函数
  • (1)Nginx简介和安装教程
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (ZT)薛涌:谈贫说富
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (算法)Game
  • (循环依赖问题)学习spring的第九天
  • (转)ORM
  • .NET CORE Aws S3 使用
  • .Net FrameWork总结
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .net 托管代码与非托管代码
  • .NET中的Exception处理(C#)
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [].shift.call( arguments ) 和 [].slice.call( arguments )