Ubuntu 安装 CUDA(附测试)

2023-11-16

为深度学习所用,博主预想在Ubuntu16.04上安装 显卡驱动 + CUDA + cuDNN + Tensorflow-gpu + Keras + PyCharm,参考了众多资料,最终成功将所有软件安装完毕,且能成功运行使用。该篇博客介绍了CUDA的安装教程(默认已安装显卡驱动),亦可通过下方链接查看其他步骤的安装教程。

前期说明及版本对照

换源及安装显卡驱动

安装 CUDA(附测试)

安装 cuDNN(附测试)

安装 Tensorflow-gpu 与 Keras(附测试)

设置 PyCharm

安装教程完整版

安装 CUDA

安装CUDA之前,需要查看电脑中的某些配置,确保满足条件,能够成功安装CUDA使用,该部分的配置要求在CUDA官网中有提供相关文件,但由于不同版本的CUDA需求的配置并不相同,只有在CUDA官网选定下载的软件包后,才会提供对应版本的安装手册,其中便有提供环境配置的需求表格

CUDA不同版本的安装流程没有差别,只是在一些界面和语言表述方面有细微不同,但不影响安装使用,若对本教程中的某些步骤存有疑惑,可参考官方给出的安装手册

1、下载CUDA软件包

在CUDA官网选择需要下载的CUDA软件包,注意软件包的版本,点击软件包的名称即可进入对应下载页面,官网网址:CUDA Toolkit Archive
在这里插入图片描述
选择软件包的安装平台信息,注意最后的 Installer Type 请选择 runfile,据说以该方式下载,成功率较大,若某一版本的CUDA没有你需要的安装平台可供选择,可以换一版本使用

在这里插入图片描述
安装平台信息选择完毕后,会出现对应的下载按钮,先不将其软件包下载至本地,找到下载信息的下方,会有一段小字,其中的 Installation Guide for Linux 是CUDA官网为该版本的CUDA提供的安装手册,将其打开,查看所需的环境配置(图中提供的是9.0版本的环境配置)
在这里插入图片描述在这里插入图片描述
在终端使用以下命令查看本地Linux系统的版本信息:

uname -m && cat /etc/*release

在这里插入图片描述
查看Kernel信息:

uname -r

在这里插入图片描述
查看GCC信息:

gcc --version

在这里插入图片描述
查看GLIBC信息:

ldd --version

在这里插入图片描述
若CUDA的环境配置符合要求,即可下载对应的软件包,若某配置不符合要求,可以换一版本的CUDA下载,或是查看官方安装手册,解决问题

下载CUDA软件包,可能出现两种形式,一种直接提供了 Download 按钮以供下载,另一种仅提供了两行命令进行下载

在这里插入图片描述
在这里插入图片描述
若是提供了 Download 按钮,可直接下载,保存到自己能够找到的位置,若是提供了两行命令,则需打开Ubuntu系统的文件管理器(下图为Ubuntu系统的文件管理器可执行图标),选择你想保存文件的位置,在该位置鼠标右键打开终端,输入整行的 wget 命令,下载软件包,而另一条安装命令先暂时忽略它
在这里插入图片描述
成功下载好CUDA软件包后,需要检查其序列和,保证该软件包下载正确,使用以下命令可检查其序列和,若无报错,则该软件包可用,若报错,则需重新下载该软件包(其中 xxx 是你所下的软件包的名称补充位)

md5sum cuda_xxx.run

2、安装CUDA

该步骤需要脱离图形界面,使用命令行界面安装CUDA,因此,建议将该教程转移至智能手机或平板中查看,以防步骤错误,导致安装失败

为了命令行界面的安装方便,建议将下载的CUDA软件包,即 .run 文件移动到 “Home” 所在,如下图所示的位置,或是记住该软件包根目录起始的路径,同时可将该软件包更名,以便记忆输入

在这里插入图片描述
若设有自动登录的用户,请先关闭自动登录,可在 系统设置–>用户账户 中关闭,而后重启电脑,在需要输入密码的登录界面中,键入 Ctrl + Alt + F1 ,进入命令行界面,不要直接输入密码登录图形界面,若登入图形界面,请重启电脑在登录界面进入命令行界面

在这里插入图片描述
进入命令行界面后,根据提示,输入用户名与密码,登录用户,而后根据以下步骤完成CUDA的安装:

(1)关闭图形化界面

sudo service lightdm stop

(2)执行安装命令,若将CUDA软件包移动至 “Home” 所在,则无需添加软件包路径,直接输入安装命令即可,若未移动软件包,则需添加该软件包所在路径(其中 xxx 是CUDA软件包的名称,添加路径需要在名称前添加,例如 sudo sh /home/wjh/xxx.run

sudo sh xxx.run

(3)按照提示安装CUDA,不同版本的CUDA安装的提示可能不同,注意以下几点,基本能够成功安装:

某些版本会在安装之前显示一堆的服务条款,此时按回车可继续服务条款的阅读,请注意服务条款结束的时机,防止回车默认安装的输入

请注意安装提示要求的输入,可能提示输入 accept ,可能提示输入 yes 等,一定要看清输入的要求

某些版本的CUDA会询问安装的内容,因本教程已安装显卡驱动,若询问是否安装 Driver(驱动) 或是 openGL ,一定一定一定要选择 no ,某些版本在安装之前提供了安装选项,而不是一步步地询问安装内容,在选择的时候一定不要选择安装 Driver(驱动) 或是 openGL

CUDA的安装过程会询问某一内容安装的位置,可根据提示,回车默认安装位置,或是自行输入安装的位置

若CUDA安装成功,在最后会提示 successedinstalled ,若安装失败,则会提示 failed ,通常在每一安装内容之后,都会有对应的提示,若其中有某一内容提示安装失败,此CUDA都无法使用,此时可根据安装最后显示的卸载命令,在命令行界面中将CUDA卸载重装

(4)安装成功后,重新启动图形化界面

sudo service lightdm start

(5)若输入以上命令没有跳转图形化界面,则键入 Ctrl + Alt + F7 手动返回图形化界面,而后输入用户密码,登录用户,若成功进入桌面,则CUDA安装成功,若循环停留在用户登录界面,请重新进入命令行界面,将安装的CUDA卸载重装

3、设置环境变量

(1).bashrc 文件设置

在终端输入以下命令,打开 .bashrc 文件

sudo vim ~/.bashrc

在 .bashrc 文件末尾添加以下内容,若是安装CUDA时安装位置都设为默认,则路径不变,否则需要根据自己的情况修改路径

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda

以上的export内容是博主查看他人博客添加的,事实上添加以上的内容还存有一定的错误,博主最终的 .bashrc 文件内容如下:

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH

配置生效

source ~/.bashrc

(2)/etc/profile 文件设置

在终端输入以下命令,打开 /etc/profile 文件

sudo gedit /etc/profile

在 /etc/profile 文件末尾添加以下内容,若是安装CUDA时安装位置都设为默认,则路径不变,否则需要根据自己的情况修改路径,其中 cuda-9.0 需要根据自己的文件名进行修改

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

输入完毕,保存文件,关闭文件后重启电脑

4、测试CUDA

查看CUDA

nvcc --version

在这里插入图片描述
CUDA安装完毕后,自带有用于测试的例子,默认存放于 “Home”

在这里插入图片描述
进入该Samples文件,鼠标右键打开终端,向终端输入以下命令,编译测试代码

make

若编译成功,会提示 Finished building CUDA samples

在这里插入图片描述
编译完成后,在终端输入以下命令,进入Samples中的 bin/x86_64/linux/release 文件夹

cd bin/x86_64/linux/release

在这里插入图片描述
而后执行编译好的可执行文件

./deviceQuery

若最终结果为 PASS ,则说明测试成功

在这里插入图片描述
同样,继续向终端输入以下命令

./bandwidthTest

若最后结果为 PASS ,则说明测试成功

在这里插入图片描述

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

Ubuntu 安装 CUDA(附测试) 的相关文章

  • 无法将大小为 1665179 的数组重塑为形状 (512,512,3,3)

    该脚本用于进行检测 权重文件是 yolov4 coco 预训练模型 可以在这里找到 https drive google com file d 1cewMfusmPjYWbrnuJRuKhPMwRe b9PaT view https dri
  • saber sd 如何在没有 SPL 的情况下直接从 uboot 启动

    sabre sd 基于 imx 6 最大内部 RAM 约为 150Kb 然而 uboot 足够大 可以容纳在这个空间中 在这个场景中事情是如何进行的 https community freescale com docs DOC 95015
  • 错误:tensorflow:无法匹配检查点的文件

    我正在训练一个张量流模型 在每个时期之后我都会保存模型状态并腌制一些数组 到目前为止 我的模型执行了 2 个纪元 并且保存状态的文件夹包含以下文件 checkpoint model e knihy preprocessed txt e0 c
  • 如何为 CUDA 内核选择网格和块尺寸?

    这是一个关于如何确定CUDA网格 块和线程大小的问题 这是对已发布问题的附加问题here https stackoverflow com a 5643838 1292251 通过此链接 talonmies 的答案包含一个代码片段 见下文 我
  • Docker 中的 Airflow:如何将 DAG 添加到 Airflow?

    我想将 DAG 文件添加到 Airflow 它在 Ubuntu 上的 Docker 中运行 我用了以下git 存储库 https github com puckel docker airflow 包含配置和 docker 镜像的链接 当我跑
  • 为 Qt 应用程序创建 Linux 安装

    我刚刚用 Qt Creator 制作了一个很棒的程序 我对自己很满意 如何将其从台式机移至笔记本电脑 那么 最好的方法是安装程序 对吗 对于 Ubuntu 这是一个 Debian 软件包 对吗 我怎么做 有人这样做过吗 他们可以分享 QT
  • Keras ZeroDivisionError:整数除法或以零为模

    我正在尝试使用 Keras 和 Tensorflow 实现卷积神经网络 我有以下代码 from keras models import Sequential from keras layers import Conv2D MaxPoolin
  • 未找到命令“ember”

    看来我搞砸了 ember cli 安装 我已经使用 sudo 安装了 npm 但是在阅读了 npm 上 ember cli 和 sudo 的一些问题后 我按照此处的说明卸载并重新安装https gist github com isaacs
  • NMCLI 设备不可用

    我正在尝试在 ubuntu core 16 04 上配置带有蜂窝接口的新设备 我有 NMCLI 包在上面运行 在添加连接之前 我检查了接口 nmcli dev DEVICE TYPE STATE CONNECTION eth1 ethern
  • Apache 反向代理的基本身份验证问题

    我想为在 Ubuntu 服务器 12 04 1 上运行的 Apache 反向代理站点添加基本身份验证 网络应用程序是Jenkins http jenkins ci org运行在 Java EE 容器上 我在中添加了以下配置httpd con
  • TensorFlow 相当于 PyTorch 的 Transforms.Normalize()

    我正在尝试推断最初在 PyTorch 中构建的 TFLite 模型 我一直在遵循PyTorch 实现 https github com leoxiaobin deep high resolution net pytorch blob 1ee
  • Tensorflow 不分配完整的 GPU 内存

    Tensorflow 默认分配所有 GPU 内存 但我的新设置实际上只有 9588 MiB 11264 MiB 我预计大约 11 000MiB 就像我的旧设置一样 张量流信息在这里 from tensorflow python client
  • 如何在Tensorflow中保存估计器以供以后使用?

    我按照教程 TF Layers 指南 构建卷积神经网络 以下是代码 https github com tensorflow tensorflow blob r1 1 tensorflow examples tutorials layers
  • 可视化 TFLite 图并获取特定节点的中间值?

    我想知道是否有办法知道 tflite 中特定节点的输入和输出列表 我知道我可以获得输入 输出详细信息 但这不允许我重建发生在Interpreter 所以我要做的是 interpreter tf lite Interpreter model
  • 我需要启用哪些权限才能使 Docker 卷正常工作?

    假设我有一个保存一些数据的 Docker 容器 我希望这些数据能够持续存在 如果容器被停止 删除 升级等 我仍然希望数据位于主机操作系统文件系统上的可访问位置 目前 我的解决方案是创建一个目录 srv service name在我的主机上
  • 阻止 TensorFlow 访问 GPU? [复制]

    这个问题在这里已经有答案了 有没有一种方法可以纯粹在CPU上运行TensorFlow 我机器上的所有内存都被运行 TensorFlow 的单独进程占用 我尝试将 per process memory fraction 设置为 0 但未成功
  • GradientTape 根据损失函数是否被 tf.function 修饰给出不同的梯度

    我发现计算的梯度取决于 tf function 装饰器的相互作用 如下所示 首先 我为二元分类创建一些合成数据 tf random set seed 42 np random seed 42 x tf random normal 2 1 y
  • ubuntu中R的igraph包的安装

    我使用以下命令在 ubuntu 中安装 R 的 igraph 包 install packages igraph 但我收到一条错误消息 警告 无法访问存储库的索引 http ftp iitm ac in cran src contrib h
  • TensorFlow:在训练时更改变量

    如果我将输入管道从 feed dict 更改为 tf data dataset 如何在每次迭代后的训练期间更改网络内参数的值 澄清一下 旧代码看起来像这样 Define Training Step model is some class t
  • 让 Rails 生产在端口 80 上运行

    我正在尝试让我的 Rails 应用程序在生产模式下运行 但遇到了一些困难 我正在使用 Passenger 和 apache 并运行 Ubuntu 12 04 我已经配置和创建了生产数据库 并设置了乘客 状态如下 rvmsudo passen

随机推荐