Linux下安装CUDA详细步骤

CUDA是并行计算的平台和类C编程模型,我们能很容易的实现并行算法,就像写C代码一样。只要配备的NVIDIA GPU,就可以在许多设备上运行你的并行程序,无论是台式机、笔记本抑或平板电脑,本篇文章重点为大家讲解一下Linux下安装并使用CUDA具体方法。

查看显卡是否支持CUDA

输入下面命令查看电脑的NVIDIA型号:

vincent@dell-Inspiron-7559 Dir:~
·····$lspci | grep -i nvidia
02:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)

我的显卡型号为: GeForce GTX 960M

然后到官网查看是否支持CUDA,网址地址。

查看CUDA版本与NVIDIA驱动的关系

也可以到官网查看,点击查看链接。

下载CUDA文件

下载最新的CUDA软件安装包, CUDA Toolkit 9.2 Download。

这里写图片描述

我们选择runfile文件进行安装。然后放到一个目录下,要记住,后面我们会要执行它。

确认安装环境

1. NVIDIA显卡已经正常安装

2. nouveau已经禁用

可以使用下面命令查看,如果没有输出代表成功:

lsmod | grep nouveau

如果正确安装了NVIDIA的驱动就会禁止掉了。

3. 验证系统是否安装了gcc

终端输入下面命令查看是否安装:

vincent@dell-Inspiron-7559 Dir:~
·····$gcc --version
gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

安装CUDA

1. 进入tty界面

alt + ctrl + F1进入tty命令行界面,登录用户和密码

2. 关闭图形界面

tty中输入下面命令关闭图形界面:

sudo service lightdm stop

或者

sudo telinit 3

3. 运行cuda文件

首先给cuda可执行权限:

sudo chmod a+x cuda_9.2_linux.run

运行cuda文件:

sudo ./cuda_9.2_linux.run --no-opengl-libs

cuda主要有以下参数:

  • --no-opengl-libs:表示只安装驱动文件,不安装
    OpenGL文件。必需参数,原因同上。注意:不是
    -no-opengl-files
  • --uninstall (deprecated):用于卸载
    CUDA Driver(已废弃)。
  • --toolkit:表示只安装
    CUDA Toolkit,不安装
    Driver
    Samples
  • --help:查看更多高级选项。

4. 安装过程的选项选择

(1). 会先有个阅读声明,一直按D即可,然后accept。 (2). 选项install nvidia accelerated Graphics Driver,输入n,因为我们已经安装了nvidia的驱动。 (3). 选项install the OpenGL libraries,如果双显卡(集显+独显)选择n,如果只有独显可以选择y,如果双显卡选择y的话,会出现黑屏或者循环登录的问题,如果加了上面的参数就不会出现这个选项了。 (4). 后面的可以都选择yes,最后一个选项我们可以选择n,也就是不复制Samples,因为安装目录下有samples

安装过程结束后会有以下信息:

Driver :Installed
Toolkit :Installed in /usr/local/cuda-9.2
Samples :Installed in /home/vincent

代表安装完成,但是不代表成功。这时需要重启。

5. 验证cuda是否成功安装

重启进入界面,打开终端输入:

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

这两条命令是将cudabin文件和lib导出到系统环境中。 如果安装的版本不是一样的,更换路径中的cuda-9.2

(1). 终端输入:

nvcc -V

如果有CUDA的版本信息代表正常。

(2). 编译samples例子

#编译并测试设备 deviceQuery:
cd /usr/local/cuda-9.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

#编译并测试带宽 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest

如果这两个测试的最后结果都是Result = PASS,说明CUDA安装成功啦。

备注: 如果安装失败,有可能是缺少依赖,终端执行:

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

(6). 将cudabinlib写入系统环境

打开~.bashrc文件在末尾追加两句:

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

然后退出重新打开终端即可。

CUDA卸载

CUDA默认安装在 /usr/local/cuda-9.2下,用下面的命令卸载::

sudo /usr/local/cuda-9.2/bin/uninstall_cuda-9.2.pl

NVIDIA驱动卸载:

sudo /usr/bin/nvidia-uninstall

卸载过程一路都是yes

其他问题

1. 如果出现循环登录

alt + ctrl + F1进入tty,然后切换集显:

sudo  prime-select intel

卸载cuda文件:

sudo /usr/local/cuda-9.2/bin/uninstall_cuda_9.2.pl

如果重启之后还是不能进入,那就把nvidia驱动卸载:

sudo /usr/bin/nvidia-uninstall

也可以在启动时选择Advanced然后以root方式进入系统,卸载nvidia、cuda等软件。

然后重启,如果重启黑屏,在grub界面进入linux的选择上按e键,找到quiet splash,在后面加nouveau.modeset=0,然后按F10启动。 然后安装nvidia驱动,再安装CUDA软件。

2.gcc版本校验失败 如果安装cuda过程中出现

Failed to verify gcc version

那么很有可能你的gcc版本太高,例如:cuda 10.1要求gcc版本是7.3.0,但是ubuntu 20.04/linux mint 20默认gcc版本为9.3.0,所以可以增加下面参数安装。

sudo sh cuda_10.1.243_418.87.00_linux.run --override

END

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/14588.html

(0)
晴川运维晴川运维
上一篇 2025年10月6日
下一篇 2025年10月6日

相关推荐

  • 快速扩展sawp 分区

    当物理内存即将耗尽时,Linux 就会用到 sawp 分区。swap 类似于 wiondows 下的虚拟内存一样。当 swap 也耗尽时,这个时候 linux 会遵循内核机制,随机…

    Linux系统 2025年10月26日
  • Linux mysql定时备份脚本

    在生产环境上,为了避免数据的丢失,通常情况下都会定时的对数据库进行备份,本篇文章重点为大家讲解一下 mysql定时备份具体方法。 1. 创建备份脚本 备份脚本: #!/bin/ba…

    Linux系统 2025年6月8日
  • 详chcon命令使用方法

    chcon命令是修改对象(文件)的安全上下文,比如:用户、角色、类型、安全级别。也就是将每个文件的安全环境变更至指定环境。 语法 chcon [选项]… 环…

    Linux系统 2025年10月19日
  • SVN版本回退

    SVN是一款版本控制工具。相对于GitHub而言,SVN在使用上更为简化些,本篇文章重点为大家讲解一下SVN版本回退。 当我们想放弃对文件的修改,可以使用 SVN revert 命…

    Linux系统 2025年6月21日
  • Linux下使用 Docker托管 .NET Core

    .NET Core是适用于 Windows、Linux 和 macOS 的免费、开源托管的计算机软件框架,是微软开发的第一个官方版本,具有跨平台能力的应用程序开发框架 (Appli…

    Linux系统 2025年6月13日
  • Linux mount命令详解:挂载Linux系统外的文件

    《Linux挂载》一节讲到,所有的硬件设备必须挂载之后才能使用,只不过,有些硬件设备(比如硬盘分区)在每次系统启动时会自动挂载,而有些(比如 U 盘、光盘)则需要手动进行挂载。 通…

    Linux系统 2025年10月5日
  • Linux常用命令lndir命令具体使用方法

    Linux lndir命令用于连接目录内容。 执行lndir指令,可一口气把源目录底下的文件和子目录统统建立起相互对应的符号连接。 语法 lndir [-ignoreli…

    Linux系统 2025年6月8日
  • Linux内核增加HDF驱动子系统

    HDF驱动子系统是OpenHarmony重要的特色功能之一,其主要的功能是实现驱动程序在多内核多平台的物联网环境,实现一次驱动开发,多端部署。之前移植OHOS3.0使用了传统的li…

    Linux系统 2025年6月8日
  • Linux中向$PATH添加目录具体方法

    在命令行上键入命令时,基本上是告诉 shell 运行具有给定名称的可执行文件。在 Linux 中,这些可执行程序,如 ls , find , file 和其他命令,他们都位于你的系…

    Linux系统 2025年10月8日
  • 在Django中使用ElasticSearch

    Elasticsearch可以使我们快速,近乎实时地存储,搜索和分析大量数据,并在几毫秒内给出答复。之所以能够获得快速的搜索响应,是因为它可以直接搜索索引,而不是直接搜索文本。 什…

    Linux系统 2025年6月8日

发表回复

登录后才能评论