1. 更新apt-get源列表

sudo apt-get update
sudo apt-get upgrade

2. 添加驱动源

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

3. 安装nvidia驱动

1.正常策略

sudo apt-get install nvidia-
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev

这一步有超多的坑,如果你足够幸运的话。上面步骤执行完,重启。执行:

sudo lshw -c video|grep configuration

如果显示nvidia字样,就代表驱动装好了。直接进入第4步。如果是nouveau或其他的,那就是没有装好,请看下面。

2.踏坑策略

别问我367是什么东西,据说是显卡版本号什么的,我看到下载时,实际上下载了多个版本,比367更高的有不少。之所以不求甚解,是因为上面的操作据说成功概率很高。可是,我有强迫症,我选择了去官网下载对应我显卡的驱动,手动安装,然后一路掉坑无数,还好最后还是成功了。

2.1 首先,禁用nouveau。

nouveau是系统自带通用驱动,一般是支持你的显卡的,我的gtx1070都支持(那我为什么更新官方驱动呢?可能是有强迫症!其实我是担心不能充分调动我显卡的性能,影响我后面deep learn的数据集训练)。方法是暴力移除:

mv /lib/modules/3.0.0-12-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko /lib/modules/3.0.0-12-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko.bak

重启,再次测试前面正常策略的驱动是否成功。如果成功的话,就走第4步。

2.2 下载官网驱动

获取显卡的硬件信息:

lspci -vnn | grep VGA -A 12

然后拿着型号,去官网下载即可。貌似需要注册个帐号。

2.3 关闭X service

linux各发行版,有个通用的系统运行级别。3为标准的多用户模式,5为X Window模式。可以用runlevel命令来查看当前系统运行level。ubuntu17.10桌面版,默认level是5。我们可以通过telinit命令切换运行模式。

sudo telinit 3

进入命令行模式。如果想进去X Windows的话,把3改为5即可。

2.4 安装

官网下载的文件,后缀应该是bundle。赋执行权限:

sudo chmod +x $name
sudo ./$name

重启。查看驱动。

4. 安装cuda

因为最新版的tensorflow 1.5不支持cuda9.0,这里安装8.0版本。(下面的版本9.0,替换为8.0即可)

下载地址(当然也需要先注册):https://developer.nvidia.com/cuda-toolkit-archive

1. run格式文件

如果下载的是run文件,直接运行即可。

2. deb格式文件

2.1 安装gcc:

sudo apt-get install gcc-5

注意一定要选择好版本,不选择默认装gcc-7,而后面编译时不支持gcc大于6的版本.

我安装时候,第一种方法失效,现在觉得,可能就是gcc版本不支持的缘故。

2.2 安装内核头文件

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

2.3 deb安装

sudo dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub <version>部分是自己下载的那个版本,一般在命令行按tab键就能出来;
sudo apt-get update
sudo apt-get install cuda

2.4 添加环境变量

写入到 ~/.bashrc 的尾部:

export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH

2.5 测试

cuda-install-samples-9.0.sh <dir>  安装测试程序,<dir>是安装目录,自己新建一个即可

安装好后,<dir>下有个NVIDIA_CUDA-9.0_Samples文件夹,cd到这个文件夹里面,执行$sudo make,编译完后,在bin目录或bin目录的子目录的子目录里有编译好的deviceQuery可执行文件,执行这个文件,可以看到下面的输出就说明安装成功了:

如果执行失败,则是显卡驱动没有装好。

最后再来测试一下CUDA,运行:

sudo nvidia-smi

可以看到gpu的各种信息。

5. 安装cudnn

下载:https://developer.nvidia.com/rdp/cudnn-download

tar -xzvf cudnn-9.0-linux-x64-v7.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

 

最新文章

  1. Android开发学习——Android项目的目录结构
  2. libevent在windows平台下通过vs进行编译
  3. Unity3D 物体移动方式
  4. ActiveMQ初体验
  5. 【bzoj2120】 数颜色
  6. Javascript一些小细节
  7. SPOJ 274 Johnny and the Watermelon Plantation(TLE)
  8. BZOJ_1269_文本编辑器_[AHOI2006]_(Spaly)
  9. 加密传输SSL协议2_传统加密
  10. 数据结构——bitmap
  11. MySQL 存储过程 经常使用语法
  12. canvas画布实现手写签名效果
  13. 一名Java架构师分享自己的从业心得,从码农到架构师我用了八年
  14. [bzoj4868][Shoi2017]期末考试
  15. vue移动端常用组件
  16. sqlserver2008R2 全日志恢复 实例操作
  17. 【CF1141F1】Same Sum Blocks
  18. chkconfig命令 centos 开机启动命令
  19. LVS简介与使用
  20. Spring MVC 学习笔记11 —— 后端返回json格式数据

热门文章

  1. 如何判断SSD盘
  2. PHP迭代器的小坑
  3. 利用xpath来解析douban电影相对应的信息
  4. Oozie_04总结一下workflowf的运行流程【20161116】
  5. 51nod 算法马拉松4 B递归(YY)
  6. IAR 9+ 编译 TI CC2541 出现 Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition.
  7. [LeetCode系列] 跳跃问题II
  8. IIS7Appcmd 命令详解
  9. Httpclient 支持https(转)
  10. log4net 极简配置