为了用GPU加速TENSORFLOW,笔者折腾了两天,终于给我的双显卡笔记本安装上了CUDA,期间电脑几次进不了桌面,说实话,我的内心是崩溃的。
尝试了.run文件和直接apt-get安装,最后使用的方法是apt。在此将过程写下来,免得小白入坑。

笔者的环境:

操作系统:
Ubuntu 16.04 LTS desktop amd64
显卡和CPU:
Intel i7-7500 Nvidia-Geforce-940MX

安装过程:

一:检查你的显卡是否支持CUDA,参考网址
http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#verify-you-have-cuda-enabled-system

二:这个教程采用apt网络安装方式

  • 升级系统
apt-get update && apt-get upgrade 
  • 下载并安装VitualGL (https://sourceforge.net/projects/virtualgl/files/)
dpkg -i virtualgl*.deb
  • 下载并安装CUDA8.0 ( https://developer.nvidia.com/cuda-downloads )
    建议通过如下方式

  • 安装依赖.

apt-get install linux-headers-$(uname -r)
apt-get install freeglut3-dev libxmu-dev libpcap-dev
  • 编辑 .bashrc 加入PATH。下面变量的设置可能要根据你的环境而定
export PATH=$PATH:/opt/VirtualGL/bin
export PATH=$PATH:/usr/local/cuda/bin
  • 安装bumblebee-nvidia 和 primus.它支持在Intel和Nvidia显卡间自动分配功率
apt-get install bumblebee-nvidia primus
  • 修改bumblebee config文件。 让bumblebee我们使用了 NVIDIA 驱动. 下面变量的设置可能要根据你的系统做修改.
    sudo nano +22 /etc/bumblebee/bumblebee.conf
    添加:
[bumblebeed]
ServerGroup=bumblebee
TurnCardOffAtExit=false
NoEcoModeOverride=false
Driver=nvidia
XorgConfDir=/etc/bumblebee/xorg.conf.d
Bridge=auto
PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
AllowFallbackToIGC=false
Driver=nvidia
[driver-nvidia]
KernelDriver=nvidia
PMMethod=auto
LibraryPath=/usr/lib/nvidia-367:/usr/lib32/nvidia-367
XorgModulePath=/usr/lib/xorg,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia
Driver=nouveau
[driver-nouveau]
KernelDriver=nouveau
PMMethod=auto
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau
  • 运行下面的命令并记录你的显卡的 PCI 地址.
$ lspci | egrep 'VGA|3D'
00:02.0 VGA compatible controller: Intel Corporation Device 5916 (rev 02)
01:00.0 3D controller: NVIDIA Corporation Device 179c (rev a2)
  • 编辑xorg.conf.nvidia 文件,加入你的显卡的 PCI 地址(我的是01:00.0) . 在 “ServerLayout”部分下更新显卡PCI信息
sudo nano /etc/bumblebee/xorg.conf.nvidia

加入:

Section "ServerLayout"Identifier  "Layout0"Option      "AutoAddDevices" "false"Option      "AutoAddGPU" "false"BusID "PCI:01:00.0"
  • 重启系统.
sudo shutdown -r now

三:后期工作

设置环境变量
编辑bashrc加入

#set cuda environment
export PATH=$PATH:/opt/VirtualGL/bin
export PATH=$PATH:/usr/local/cuda/binexport LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

验证CUDA的安装

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61$ nvidia-smi
Tue Apr  4 21:26:01 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.39                 Driver Version: 375.39                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce 940MX       Off  | 0000:01:00.0     Off |                  N/A |
| N/A   41C    P0    N/A /  N/A |    325MiB /  2002MiB |     24%      Default |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0      1258    G   /usr/lib/xorg/Xorg                             191MiB |
|    0      1977    G   compiz                                         125MiB |
|    0      2295    G   fcitx-qimpanel                                   8MiB |
+-----------------------------------------------------------------------------+

编译范例代码:
参考官网:
http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions

$ cuda-install-samples-8.0.61.sh   <你要将范例代码放置的文件夹>

进入代码目录后执行make,编译完成后
之后在bin目录下执行deviceQuery 和 bandwidthTest。结果为Pass则OK。

四: 问题解决方案

  • 编译报错找不到-lnvcuvid解决办法:
    查看你的驱动版本号:
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module  375.39  Tue Jan 31 20:47:00 PST 2017
GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 

进入报错的那个目录,找findglib.mk这个文件。
打开它可以发现有一项

UBUNTU_PKG_NAME = "nvidia-367"

它将库目录硬编码了。将其改成安装的nvidia驱动对应版本号即可,这里是375。

  • 因驱动问题进不了桌面解决办法:
    按ctrl+alt+F1,在文字界面登录后,卸载nvidia驱动
sudo apt-get remove --purge nvidia-*

参考网址:

http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#environment-setup

http://askubuntu.com/questions/799184/how-can-i-install-cuda-on-ubuntu-16-04

https://devtalk.nvidia.com/default/topic/769578/cuda-6-5-cannot-find-lnvcuvid/

双显卡(Intel+Nvidia)笔记本配置cuda开发环境相关推荐

  1. ubuntu18.04在双显卡笔记本安装cuda开发环境

    1          准备 目标笔记本:dell inspiron 5577 windows主机 ultraiso软件 ubuntu18.04的安装iso镜像:ubuntu-18.04-desktop ...

  2. ubuntu 14.04 双显卡安装NVIDIA GPU驱动+CUDA+编译配置caffe

    ******************************** 安装ubuntu************************* 1.在bios里设置使用集成显卡 2.安装ubuntu 14.04 ...

  3. android x86双显卡,centos7笔记本双显卡安装nvidia驱动并成功安装cuda

    原标题:centos7笔记本双显卡安装nvidia驱动并成功安装cuda 这是一篇介绍如何在笔记本上使用centos 7 系统安装nvidia驱动和cuda 的文章. 本篇还会介绍清晰的安装思路. 探 ...

  4. Archlinux双显卡安装NVIDIA闭源驱动

    Archlinux双显卡安装NVIDIA闭源驱动 原文:https://www.cnblogs.com/tonyc/p/7732119.html Ubuntu的prime-select命令可以说很好用 ...

  5. Deepin V20 双显卡安装NVIDIA驱动 实现外接显示器 (戴尔G3)

    Deepin V20 双显卡安装NVIDIA驱动 实现外接显示器 (戴尔G3) NVIDIA安装前 到官网下载n卡驱动 需要在安装驱动之前首先禁止nouveau驱动,在Deepin中运行以下命令: s ...

  6. Ubuntu 13.04双显卡安装NVIDIA GT630M驱动

    Ubuntu 13.04双显卡安装NVIDIA GT630M驱动 安装 bumblebee 以管理双显卡,下面命令会自动安装NVIDIA显卡驱动 [plain] sudo add-apt-reposi ...

  7. Linux 双显卡 黑屏,Ubuntu16.04安装 双显卡安装Nvidia驱动 登录循环 黑屏(通用 终结此类问题)转载...

    使用Ubuntu的朋友一般都会遇到几种状况: 安装Ubuntu的时候,卡在Ubuntu的LOGO界面或黑屏. 双显卡安装Nvidia驱动,循环登录或黑屏 这一切的万恶之源就是集显造成的!!! 环境说明 ...

  8. Ubuntu16.04安装 双显卡安装Nvidia驱动 登录循环 黑屏(通用 终结此类问题)

    使用Ubuntu的朋友一般都会遇到几种状况: 安装Ubuntu的时候,卡在Ubuntu的LOGO界面或黑屏. 双显卡安装Nvidia驱动,循环登录或黑屏 这一切的万恶之源就是集显造成的!!! 环境说明 ...

  9. Ubuntu16.04安装 双显卡安装Nvidia驱动 登录循环 黑屏(通用 终结此类问题)转载

    Ubuntu16.04安装 双显卡安装Nvidia驱动 登录循环 黑屏(通用 终结此类问题) 原创  2017年12月23日 20:41:55 标签: ubuntu / nvidia / 显卡 882 ...

  10. Go 学习笔记(1)— Ubuntu 系统 Go 环境搭建、VS Code 配置 Go 开发环境、VS Code 远程开发配置

    1. 安装说明 Ubuntu 下直接安装 Go 1.11 版本编译器时需要依赖 Go 1.4 版本.所以如果在使用 apt-get install go安装时参考以下链接安装:https://blog ...

最新文章

  1. 监控某个进程,如果不存在就自动重启
  2. 对口高考计算机原理,对口高考计算机原理5.doc
  3. js进阶ajax函数封装(匿名函数作为参数传递)(封装函数引入文件的方式非常好用)...
  4. mysql 固定符号分列显示_MySql中指定符号分割并分行展示
  5. 我的github地址
  6. Oracle Minus关键字 不包含 取差集
  7. HAProxy安装和配置大全
  8. 什么是职场PUA?遇到以下这五种情况你就得当心了!
  9. 组网技术-路由与交换技术(五)
  10. [JS6] 通过用户事件事件执行脚本
  11. Elsevier旗下期刊利用latex模板撰写论文记录
  12. 【极乐净土mmd】动作+镜头数据下载
  13. CRM如何管理企业销售流程
  14. 解决谷歌浏览器被篡改主页问题
  15. linpack测试软件,【分享】linpack ——intel的pc算力测试软件
  16. vue_elementui拖住滑块拼图验证代码
  17. 小技巧:更改链接参数 提高京东秒杀成功率
  18. (二十一)查询我的订单
  19. Android TV开发--HDMI播放器
  20. QQ音乐for Mac 已经登陆MAC OSX

热门文章

  1. 向你推荐一个五星级云原生DevOps论坛
  2. 微信小程序通过BLE低功耗蓝牙向USB HID键盘设备输出汉字(内含GBK编码转汉字)
  3. 统计推断——假设检验——检验的功效(势)
  4. FlashFXP使用说明
  5. Hacking EV3系列之七:iPhone 手势无线控制LEGO EV3 Gyro Boy 机器人
  6. python代码加密解密_Python实现对字符串的加密解密方法示例
  7. Java一组数据,满足数量和求和的最优解
  8. 淘宝镜像安装以及配置
  9. 基于ISO27001的数据中心信息安全管理体系
  10. 自我介绍html模板王,个性简短自我介绍模板十篇