Ubuntu-安装-cuda7.0-单显卡-超详细教程

2023-05-16

博客新址: http://blog.xuezhisd.top
邮箱:xuezhisd@126.com


一、说明

  • 本教程是在台式机上安装的,只有一个NVIDIA显卡。
  • 操作系统是Ubuntu 14.04 (64bit)。
  • 双显卡的笔记本请移步Ubuntu-安装-cuda7.0-双显卡-超详细教程

二、准备

说明:本文假设下载的文件都在~/Dowloads/下面

1. 更新操作系统

sudo apt-get update

2. 下载cuda7.0

点此下载

  • 如果不是该版本,可以搜索,如下图所示;

  • 点击"Linux x86",选择“Ubuntu 14.04”行的最后一个“RUN”下载;

    这里写图片描述

    这里写图片描述

3. 下载NVIDIA显卡驱动

点此下载

  • 选择自己电脑对应的配置,然后点击“搜索”;

  • 点击“DOWLOAD”,进行下载;

    这里写图片描述

    这里写图片描述

三、验证系统是否符合要求

1. 验证显卡是否支持cuda

  • 终端输入命令,如图所示。如果只返回两条信息,即有两个显卡,可以继续下面教程,否则请移步《Ubuntu-安装-cuda7.0-双显卡-超详细教程》

    lspci | grep VGA
    

    这里写图片描述

  • 如果操作系统是Ubuntu Server,即使有NVIDIA显卡,执行上面的命令可能也不会返回相关信息。这时需要执行的命令是 lspci |grep nvidia -i ,就能返回正常的结果。

  • 终端会显示显卡型号,在https://developer.nvidia.com/cuda-gpus中查找,是否有你的显卡型号,只要存在,就表明显卡支持cuda,同时还可以查看显卡的计算能力,数值越大越好。

2. 查看系统类型

  • 命令行输入下面命令;

    uname -m && cat /etc/*release
    
  • 第一行显示有x86_64,说明系统是x86构架64位系统;

    这里写图片描述

四、安装NVIDIA显卡驱动

说明:前面下载的cuda7.0*.run中含有NVIDIA显卡驱动,而且安装时会提示安装驱动。但是,由于Ubuntu中已经为NVIDIA显卡安装了驱动nouveau,而且该驱动正在运行中,所以安装驱动的过程稍微麻烦,建议先单独安装显卡驱动,再安装cuda

1. 切换到tty1

  • 说明,视窗会使用显卡,如果在视窗下,原来的驱动nouveau不会停止,也就不能安装成功

  • 按组合键”Ctrl+Alt+F1“,切换到tty1;

2. 关闭显示器管理器

  • 输入命令sudo stop lightdm,关闭显示器管理器。否则后面旧的显卡驱动无法禁用,新的显卡驱动无法安装。

3. 禁用旧的显卡驱动

  • 注意:禁用旧的显卡驱动这一步可以不操作,后面安装新的NVIDIA显卡驱动时,会提示该问题;那时选择相应的选项即可创建该文件。

  • 禁用旧的显卡驱动;切换到/etc/modprobe.d/,新建文件nvidia-installer-disable-nouveau.conf,输入以下内容,保存退出;

    blacklist nouveau
    options nouveau modeset=0
    
  • 在文件/etc/default/grub的最后,添加一行,如下所示;

    rdblacklist nouveau
    nouveau.modeset=0
    

4. 安装新的驱动

  • 小技巧:如果按照第3步做完了,重启后依然无法安装新的NVIDIA显卡驱动,那么可以通过software manger安装NVIDIA低版本的显卡驱动(它就会自动关闭nouveau),重启后卸载低版本显卡驱动,接着安装当前版本的显卡驱动。这样一般情况下可以成功。(曲线救国)

  • 执行以下命令安装

    # 切换到驱动所在的路径
    cd ~/Downloads
    # 查看驱动的名称(ls)
    ls
    # 开始安装,注意将驱动名换成你下载的驱动的名称
    sudo sh ./NVIDIA-Linux-x86_64-352.30.run
    
  • 安装过程中,根据提示,选择accept, 'yes’或默认选项

    • 选项:Accept → Continue → installation → OK → OK → OK
  • 当提示重启时,重启继续。(如果前面没有禁用nouveau,会提示向/etc/modprobe.d/路径下添加文件,其实是在尝试禁用nouveau。如果出现该提示,需要重启电脑之后,再次运行显卡安装程序,重新开始安装一遍。)

  • 重启后,切换到tty(Ctrl+Alt+F1),关闭显示器管理(sudo stop lightdm),重新运行安装驱动命令 (sudo sh ./NVIDIA-Linux-x86_64-352.30.run

  • 当提示***would you run nvidia-Xconfig utility … **,选择Yes。

5. 检验驱动是否安装成功

  • 打开终端,输入以下命令:

    cat /proc/driver/nvidia/version
    
  • 如果显示驱动版本,说明安装成功。如下图所示。

    这里写图片描述

五、安装cuda

注意,请在成功安装显卡驱动的前提下继续安装cuda,否则也会安装失败。

1. 安装依赖库

  • 请先在Terminal中安装以下依赖库:

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

2. 运行cuda安装命令

  • 在Terminal中运行以下命令,开始安装cuda:

    # 注意,将cuda名称换成自己下载的名称
    # 添加执行权限
    chmod a+x cuda_7.0.28_linux.run
    sudo ./cuda_7.0.28_linux.run
    
  • 安装过程中会提示安装NVIDIA驱动,OpenGL,CUDA安装包和SAMPLE包。此处只安装后面三个。由于前面已经安装了最新版的NVIDIA驱动,此处不用再安装。

  • 安装过程中,根据提示,选择accept, ‘yes’或默认选项;

  • **…symbolic link …选项选择Yes,否则没有/usr/local/cuda/,只有/usr/local/cuda7.0/

  • 安装完成之后,启动显示器管理(sudo start lightdm),切换回视窗界面。

3. 配置环境变量

  • 打开终端,在文件/etc/profile的最后添加以下内容:

    PATH=/usr/local/cuda/bin:$PATH
    export PATH
    
  • 保存后, 执行下列命令, 使环境变量立即生效

    source /etc/profile
    
  • 在 /etc/ld.so.conf.d/新建文件 cuda.conf,并添加如下内容:

    /usr/local/cuda/lib64
    
  • 执行下列命令使之立刻生效:

    sudo ldconfig
    

4. 检验环境是否设置好

  • 打开终端,输入cuda,按2次”Tab键“,如果有弹出的命令提示,就说明环境配置成功。

5.安装其他一些辅助库

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

六、安装CUDA SAMPLES

  • 安装cuda过程中,cuda samples默认安装了,并且存储在当前用户目录下(***/home/xuezhisd/NVIDIA_CUDA-7.0_Samples***),如下图所示:

    这里写图片描述

1. 验证nvcc

  • 输入命令*nvcc --version*,如果已经安装了,会显示版本号;如果没有安装,按照提示完成安装。

2. make cuda samples

  • 切换到cuda-samples路径,使用***make***命令:

    #切换到cuda-samples所在目录
    #注意,换成自己的路径
    cd /home/xuezhisd/NVIDIA_CUDA-7.0_Samples
    #编译 make (安装命令 sudo apt-get install cmake)
    make
    #编译完毕,切换release目录
    cd ./bin/x86_64/linux/release
    #检验是否成功
    #运行实例 ./deviceQuery
    ./deviceQuery
    
  • 显示如下结果,说明成功。

    这里写图片描述
    这里写图片描述

七、安装cuDNN

1. 下载cuDNN

  • 官方下载 需要注册和验证,麻烦。
  • 我将我下载文件上传到百度网盘中了,有需要的可以点击此处直接下载 cudnn & cudnn-samples

2. 安装cuDNNE

  • 解压,并复制文件
#解压文件
tar -zxvf cudnn-6.5-linux-x64-v2.tgz
#切换路径
cd cudnn-6.5-linux-x64-v2
#复制lib文件到cuda安装路径下的lib64/
sudo cp lib* /usr/local/cuda/lib64/
#复制头文件
sudo cp cudnn.h /usr/local/cuda/include/
  • 更新软连接
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.6.5
sudo ln -s libcudnn.so.6.5.48 libcudnn.so.6.5
sudo ln -s libcudnn.so.6.5 libcudnn.so

至此,cuDNN完成安装。

八、参考文章

Ubuntu 13.04 双显卡安装NVIDIA GT 630M驱动

Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明

Ubuntu14.04+cuda6.5+opencv2.4.9+MATLAB2013a+caffe配置记录(二)

ERROR: Module nouveau is in use

HOW-TO: Unload nouveau and Install Nvidia Driver

Caffe在Ubuntu 14.04 64bit 下的安装

ubutu14.04LTS+opencv2.4.9+matlab 2014a+caffe+cuDNN

Optimus双显卡用Bumblebee3.0在ubuntu12.04下配置CUDA4.2

Ubuntu 14.04 Nvidia显卡驱动安装及设置
ubuntu 11.10驱动gtx 460显卡 禁用nouveau

  • ERROR: 启动过程中,会出现两个错误,执行以下命令可以解决。

    sudo apt-get purge nvidia-304
    sudo apt-get install nvidia-331
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu-安装-cuda7.0-单显卡-超详细教程 的相关文章

  • 在 word 中 mathType 菜单灰色,无法使用

    问题 xff1a 在 word 中安装的 mathType 菜单是灰色的 xff0c 不能使用 解决方法 xff1a 把 C Program Files x86 Common Files microsoft shared VBA VBA6
  • 基本遗传算法(GA)的算法原理、步骤、及Matlab实现

    算法原理 遗传算法可以用来求函数的极值 xff08 1 xff09 用二进制编码来离散自变量 xff0c 码长根据离散精度来确定 码长为 l o g 2 xff08 m a x m i n 精 度 43 1 xff08 2 xff09 交叉
  • 机器人工具箱 V9.10(Robotics Toolbook) (1):建立机器人模型

    机器人学工具箱 xff08 Robotics Toolbook for Matlab 是matlab中专门用于机器人仿真的工具箱 xff0c 在机器人建模 轨迹规划 控制 可视化方面使用非常方便 创建机器人的两个最重要的函数是 xff1a
  • 机器人动力学方程的性质

    一个 n 连杆的机器人的动力学方程含有很多项 特别是全部是转动关节的机械臂 让人看着害怕 但是 机器人动力学方程含有一些有助于开发控制算法的重要性质 其中最重要的是反对称性 无源性 有界性和参数的线性性 反对称性 skew aymmetry
  • LaTEX、 Aurora、 markdown常用数学符号

    在用 LaTEX 的时候 xff0c 公式排版中经常用到各种数学符号 xff0c 平时在编写 word 文档时 xff0c 应用 Aurora 编辑公式时也经常用到 xff0c 就是在CSDN 中用markdwon 编辑公式的时候也要用到
  • 机器人(机械臂)动力学建模方法(Newton-Euler equation)

    牛顿 欧拉公式 xff08 Newton Euler equation xff09 根据中间连杆上的力 力矩平衡关系上推断出来的 它的解具有递归的形式 xff0c 前向递归用于连杆的速度 加速度的传递 xff0c 后向递归用于力的传递 参数
  • 基于重力补偿的 PD 控制

    PD 控制是常规的控制方法 xff0c 设计简单 xff0c 用李雅普诺夫方法证明简单 xff0c 不需要系统的模型 xff0c 是无模型控制中的基本方法 令 q T q T 为系统的状态向量 xff0c 其中 xff1a q 61 q d
  • 矩阵的 Jordan 标准型

    如果把矩阵化成对角矩阵 xff0c 关于矩阵的函数计算问题就会大大简化 但一般的矩阵未必与对角矩阵相似 矩阵的标准型有多重 xff0c Jordan xff08 约当 xff09 标准型是最接近对角矩阵的形式 xff0c 在控制理论中经常用
  • 滑膜控制的基本原理

    滑动模态的定义 人为设定一经过平衡点的相轨迹 xff0c 通过适当设计 xff0c 系统状态点沿着此相轨迹渐近稳定到平衡点 xff0c 或形象地称为滑向平衡点的一种运动 xff0c 滑动模态的 滑动 二字即来源于此 滑模控制的优点 xff1
  • 基于策略的设计 vs 多继承

    基于策略的设计是对多继承的超越 基于策略的设计 xff08 Policy Based Design xff09 包含两个重要的部分 xff1a 策略类 xff08 Policy Classes xff09 和一个具有极大张力的核心 许 多人
  • linux 如何以树形结构显示文件目录结构

    linux 如何以树形结构显示文件目录结构 1 linux 如何显示文件信息 一般可用 ls 命令来查看文件的信息 xff1a ls OPTION FILE 如 xff1a ls 显示所有文件 ls 1 显示所有文件 xff08 按行显示
  • ROS学习(五):package.xml 文件

    package xml 文件 和 manifest 文件类似 xff0c 描述功能包的属性 xff0c 包括功能包的名字 版本号 作者 维护者 通行证 以及所以来的功能包 http wiki ros org catkin package x
  • ROS Gazebo(一):安装与使用

    gazebo 可以主要用来进行机器人动力学的仿真 一 安装和开始 完整安装时已经安装好 xff08 ros kinetic desktop full ros jade desktop full xff0c ros indigo deskto
  • 如何在window系统VS中设置boost编程环境

    在windows系统中设置boost编程非常简单 xff1a 1 下载boost软件包 网址 xff1a http www boost org 最新版 xff1a http www boost org users history versi
  • 个人信用报告机构查询中有:深圳前海微众银行股份有限公司,为什么???

    最近 xff0c 网上各路专家纷纷现身解读新版征信 xff0c 我就查询了一下自己的 xff0c 发现一条被 深圳前海微众银行股份有限公司 查询的记录 xff0c 不理解 xff0c 惊讶带恐慌 随后查询了一下相关的知识 查询报告流程 ht
  • 各种平板显示技术比较

    各种平板显示技术简介 CRT发展历史 CRT xff08 Cathode Ray Tube xff09 即阴极射线管 xff0c 作为成像器件 xff0c 它是实现最早 应用最为广泛的一种显示技术 阴极射线管 xff08 CRT xff09
  • k8s网络与本地开发环境网络互通方案(一)

    现状 k8s集群内是有一套完整网络环境 我们不能直接通过IP访问到k8s集群内的pod 或者service 只能通过nodeport 或者ingress 才能访问到服务 痛点 开发人员进行微服务开发的时候需要通过服务发现进行Pod级服务的直
  • Opencv 3.4 中P3P位姿估计算法解析

    先上图 xff0c Opencv3 4中用两种算法实现P3P位姿估计问题 一种是基于距离P3P算法问题 xff08 算法1 xff1a P3P xff09 xff0c 一种是基于矩阵P3P算法问题 xff08 算法2 xff1a aP3P
  • 套接字

    套接字 socket 套接字 socket 是一个抽象层 应用程序可以通过它发送或接收数据 可对其进行像对文件一样的打开 读写和关闭等操作 套接字允许应用程序将I O插入到网络中 并与网络中的其他应用程序进行通信 网络套接字是IP地址与端口
  • 单片机_PWM输出原理详解

    单片机 PWM输出原理详解 理论篇 博主自己的经历告诉我 xff0c PWM波的理解和应用确实还是挺重要的 xff0c 这里专门花一期详细介绍一下 什么是PWM xff1f PWM xff0c 英文名Pulse Width Modulati

随机推荐

  • 命令远程执行小结

    远程执行命令 xff08 command remote execution xff09 主要可以使用如下几个命令 1 rexec 2 rsh amp rlogin 3 ssh 1 rexec 顾名思义 xff0c 就是remote exec
  • 去除多余的Merge branch提交

    去除多余的Merge branch提交 在项目开发中 xff0c 经常会有这样的情况发生 xff0c 开发完了一个新功能 xff0c 提交到远程仓库时 xff0c 发现提交失败 xff08 其他同事已对其做了更改 xff09 xff0c 先
  • 5 Ways To Fix Slow 802.11n Speed

    http www cnblogs com jjkv3 archive 2012 04 22 2464919 html o you went and bought a shiny new 802 11n router and were all
  • Linux下UTF-8字符编码问题

    这中间选自论坛我份发的帖子 地址是 xff1a http topic csdn net u 20101110 17 cab8cfc9 9ac6 47ce 98b4 e503e75e3e48 html seed 61 1835214465 a
  • Linux IPC总结(全)

    IPC进程间通信 Inter Process Communication 就是指多个进程之间相互通信 xff0c 交换信息的方法 Linux IPC基本上都是从Unix平台上继承而来的 主要包括最初的Unix IPC xff0c Syste
  • Zebra-VTYSH源码分析和改造(序)

    最近公司一网络产品需要在WEB和SNMP的基础上添加CLI接口 本身CLI xff08 Command Line Interface xff09 在产品中借助某芯片有简单ssdk sh xff0c 由于客户要求CLI要想Cisco那样 xf
  • Zebra-VTYSH源码分析和改造(一):Zebra软件架构

    1 Zebra 功能认识 ZEBRA 提供了一个类Cisco命令行的分级多用户命令解析引擎 VTY xff08 Virtual Terminal xff09 它是类似于Linux Shell的虚拟终端接口 xff0c 负责对访问的安全验证
  • 升级WEXT到NL80211/CFG80211

    内容包括 xff1a 1 分析两者的区别 2 分析两者的架构 xff0c 重点在后者 3 如何将在WE架构中用到的standard和private的command在新的架构中实现 请等待
  • 2011,我和CSDN亲密接触的一年

    从CSDN刚刚发出这次征文活动的时候 xff0c 就有一种想参加的冲动 xff0c 总想说些什么 xff0c 迟迟直到今天才开始下笔 和大家一样 xff0c 我也是一名普通的计算机研发人员 xff0c 说挨踢者也行 xff0c 说码农亦可
  • Zebra-VTYSH源码分析和改造(三):添加定制命令

    一 视图介绍 由上面几篇文章分析可见 xff0c 所有的命令都是包含在node中的 xff0c 根据Cisco或者H3常见路由器或者交换机的CLI格式可见 xff0c 一个node就对应着一个视图 xff08 View xff09 常用的视
  • Bringup wifi driver to android 6.0

    1 android root system core rootdir init rc mkdir data misc systemkeys 0700 system system mkdir data misc wifi 0770 wifi
  • global命令详解

    发信人 vale 浅谷 信区 VIM 标 题 global命令详解 发信站 水木社区 Fri Jun 15 17 05 55 2007 站内 global命令是Vim最强大的命令之一 xff08 个人认为是No 1 xff09 xff0c
  • [简单总结] WiFi中的RTS和CTS简单回顾

    通信协议中的RTS CTS协议 xff1a 即请求发送 允许发送协议 xff0c 相当于一种握手协议 xff0c 主要用来解决 34 隐藏终端 34 问题 34 隐藏终端 34 xff08 Hidden Stations xff09 是指
  • 蓝牙技术谈之跳频技术(一)

    跳频技术 Frequency Hopping Spread Spectrum xff1b FHSS 在同步 且同时的情况下 xff0c 接收两端以特定型式的窄频载波来传送讯号 xff0c 对于一个非特定的接收器 xff0c FHSS所产生的
  • Ubuntu自学笔记二

    磁盘管理 dev sd 文件 xff0c 此类文件是磁盘设备文件 xff0c 并不能直接访问磁盘 xff0c 必须要将磁盘挂载到某一个目录下才可以访问 dev sdb和 dev sdb1是U盘的设备文件 xff08 每个人的电脑U盘设备文件
  • 机器视觉设计,如何正确的选择相机和镜头?

    1 相机选择步骤 xff1a 目标物尺码 61 预估实际视场 0 75 根据精度算出分辨率 xff0c 预计出的实际视场 项目要求精度 61 相机的分辨率 根据相机分辨率大小 xff0c 选择合适的相机 xff0c 如果分别率一样的情况下
  • VCC、VDD、VSS以及VBAT的区别

    在STM32 的学习中 xff0c 发现有几种看起来相关的名称 xff0c 分别是VCC VDD VSS VBAT xff0c 在经过搜索查找之后 xff0c 总结如下 xff1a 1 VCC的C是Circuit的意思 xff0c 是指整个
  • vue中单个js写法

    1 vue export default 可以写很多东西 xff0c 包括变量和方法 xff0c 对象等 xff0c 只要是想作为开放的接口都可以写 xff0c 在 vue文件中一般写上data 以及method等 xff0c data指的
  • Ubuntu14.04安装Theano详细教程

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 因为最近需要学习深度学习 xff0c 因此想要配置Theano xff0c 来开发深度学习算法 但是发现Theano安装总是出
  • Ubuntu-安装-cuda7.0-单显卡-超详细教程

    博客新址 http blog xuezhisd top 邮箱 xff1a xuezhisd 64 126 com 一 说明 本教程是在台式机上安装的 xff0c 只有一个NVIDIA显卡 操作系统是Ubuntu 14 04 64bit 双显