全网最详细教你在Ubuntu20.04安装NVIDIA 驱动+CUDA+cuDNN(避坑版 | 图文详 ...

打印 上一主题 下一主题

主题 926|帖子 926|积分 2780

前言

在深度学习和高性能计算领域,NVIDIA 的 GPU 提供了强大的加快性能,使得各种计算任务(如神经网络练习、科学计算等)能够高效运行。为了充分利用 NVIDIA GPU 的计算能力,我们必要安装 NVIDIA 驱动CUDA ToolkitcuDNN。这三者相互配合,构成了一个完整的开辟和运行环境,能够资助开辟者高效地利用 GPU 进行深度学习任务。
组件作用依靠关系NVIDIA 驱动提供 GPU 与操纵体系的接口,管理 GPU 的资源与运行环境。NVIDIA 驱动是运行 CUDA 和 cuDNN 的底子,必须安装。CUDA Toolkit提供 GPU 加快的编程框架和库,答应开辟者在 GPU 上运行并行计算。依靠于 NVIDIA 驱动,必须先安装驱动才气利用 CUDA。cuDNNNVIDIA 提供的深度学习加快库,优化了神经网络的计算。依靠于 CUDA Toolkit,必须先安装 CUDA 才气利用 cuDNN。 在本篇文章中,我将详细介绍怎样在 Ubuntu 20.04 体系上安装和设置 NVIDIA 驱动CUDA ToolkitcuDNN。这篇文章不仅包含了从安装到设置的完整过程,还将详细讲解每一步的操纵,资助你顺遂完成安装。本文也是我在多次踩坑后的经验总结,针对常见的坑进行了详细的说明,确保你能够避免错误并顺遂搭建起高效的开辟环境。

一、安装 NVIDIA 驱动

1. 更新体系(必须)

起首,确保你的体系是最新的,运行以下命令:
  1. sudo apt update
  2. sudo apt upgrade
  3. sudo apt dist-upgrade
复制代码
2. 禁用 Nouveau 驱动(必须)

NVIDIA 驱动程序必要禁用 Ubuntu 默认利用的 Nouveau 开源驱动。你可以通过以下步骤来禁用 Nouveau 驱动:

  • 创建一个新的黑名单文件:
    1. sudo nano /etc/modprobe.d/blacklist-nouveau.conf
    复制代码
  • 在文件中添加以下内容,然后保存并退出:
    1. blacklist nouveau
    2. options nouveau modeset=0
    复制代码

  • 终端实行以下命令,更新 initramfs:
    1. sudo update-initramfs -u
    复制代码
  • 重启体系以使更改收效:
    1. sudo reboot
    复制代码
3. 禁用 i915 驱动(视环境而定)


  • 打开 Windows体系 的设备管理器,点击显示适配器,如图所示我的包括 Intel(R) UHD Graphics 和 NVIDIA GeForce RTX 4050 Laptop GPU,说明我必要禁用集成显卡,以便让独立显卡负责所有图形处置处罚。

           对于 Ubuntu 体系,如果你的计算机同样配备了集成显卡(如 Intel UHD Graphics)和独立显卡(如NVIDIA GeForce RTX),大概会遇到类似的题目。默认环境下,Ubuntu 会启用集成显卡驱动(i915驱动),这大概与独立显卡(NVIDIA 驱动)发生冲突,导致体系在启动时出现图形题目或性能瓶颈,如下图:
       

  • 为了解决这一题目,我们可以禁用 i915 驱动,让体系只利用独立显卡。起首,打开终端并编辑 GRUB 设置文件:
    1. sudo nano /etc/default/grub
    复制代码
  • 找到以下行:
    1. GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    复制代码
    在这一行末尾添加 nomodeset 和 i915.modeset=0,如下所示,然后保存并退出:
    1. GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset i915.modeset=0"
    复制代码

    • nomodeset:禁用内核模式设置,防止在启动时加载图形驱动。
    • i915.modeset=0:禁用 i915 驱动的模式设置,确保体系倒霉用 Intel 集成显卡。
       
  • 修改完设置文件后,必要更新 GRUB 设置,使修改收效:
    1. sudo update-grub
    复制代码
4. 安装 NVIDIA 驱动

方法 1:通过软件更新器安装(推荐)


  • 在开始菜单中搜刮并打开软件和更新。
  • 切换到附加驱动选项卡,选择体系推荐的附加驱动,并点击应用更改(A)。体系会自动下载并安装所选驱动,稍等片刻即可完成安装。

方法 2:通过 Ubuntu 包管理器安装

Ubuntu 20.04 提供了对 NVIDIA 驱动的支持,可以通过 apt 包管理器来安装官方驱动。

  • 运行以下命令以添加 NVIDIA 驱动的 PPA 存储库:
    1. sudo add-apt-repository ppa:graphics-drivers/ppa
    2. sudo apt update
    复制代码
  • 利用 ubuntu-drivers devices 命令来查看体系推荐的 NVIDIA 驱动版本。这个命令会扫描你的硬件并列出得当你体系的驱动版本,如下图所示:

    在我的体系中,推荐的 NVIDIA 驱动是 nvidia-driver-535-server-open(详细推荐版本大概因硬件不同而有所不同)。
  • 根据 ubuntu-drivers devices 命令输出的推荐驱动版本,利用 apt 安装得当的 NVIDIA 驱动。比方,假设推荐的驱动版本为 nvidia-driver-535-server-open,你可以运行以下命令进行安装:
    1. sudo apt install nvidia-driver-535-server-open
    复制代码
5. 重启体系


  • 安装完成后,重启计算机以确保新的驱动程序收效:
    1. sudo reboot
    复制代码
  • 可以利用以下命令查抄 NVIDIA 驱动是否精确安装:
    1. nvidia-smi
    复制代码
    如果显示了 GPU 的相关信息(如下图所示,必要记住图中标注的CUDA Version,下面会用到),说明安装乐成。


二、安装 CUDA Toolkit

1. 打开官网


  • 打开 NVIDIA官网 CUDA Toolkit 下载页面
  • 下滑找到并点击 <= CUDA Version 的CUDA Toolkit下载链接(如图我选择了CUDA Toolkit 12.1.1的下载链接,由于我的CUDA Version:12.2)

  • 依次选择Linux->x86_64->Ubuntu->20.04->runfile(local)

2. 安装CUDA Toolkit


  • 安装CUDA Toolkit之前必要起首安装一些相互依靠的库文件
    1. sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
    复制代码
  • 下滑找到Base Installer模块

  • 终端实行安装命令:
    1. wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run
    2. sudo sh cuda_12.1.1_530.30.02_linux.run
    复制代码
    运行上面指令后,稍等片刻会弹出如下界面,选择Continue并按回车。

    输入accept并按回车。

    接着,如下图所示,在弹出的界面中通过Enter键,取消Driver和530.30.02的安装,然后点击Install,等待…

           提示:是否必要安装 nvidia-fs(NVIDIA 提供的一个特殊文件体系,用于管理和优化 NVIDIA 驱动和硬件资源的交互)?

    • 普通用户:如果你只是进行根本的 CUDA 开辟或运行应用程序,不必要特定的文件体系优化,通常不必要选择安装 nvidia-fs。
    • 高性能计算或集群环境:如果你在设置集群或实行必要大量数据传输的高性能计算任务时,nvidia-fs 大概会提供性能优化。
        如下图所示,安装完毕,CUDA Toolkit 已乐成安装,但 CUDA 驱动(Driver)没有被安装(正常征象,由于刚才我们取消勾选了Driver和530.30.02的安装)


3. 设置环境变量


  • 打开终端,实行以下命令编辑 .bashrc 文件:
    1. nano ~/.bashrc
    复制代码
  • 在 .bashrc 文件的末尾添加以下几行:
    1. # CUDA Environment Variables for CUDA 12.1
    2. export PATH=/usr/local/cuda-12.1/bin:$PATH
    3. export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH
    4. export LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LIBRARY_PATH
    复制代码
    这些行会将 CUDA 可实行文件目录添加到 PATH 环境变量中,并将 CUDA 库目录添加到 LD_LIBRARY_PATH 环境变量中。这样,体系就能精确地找到 CUDA 的工具和库文件。
           留意:必要将所有的12.1换成你安装的CUDA Version版本
       

  • 保存并退出编辑器后,运行以下命令来使环境变量收效:
    1. source ~/.bashrc
    复制代码
  • 为了验证环境变量是否已精确设置,可以运行以下命令来查抄 PATH 和 LD_LIBRARY_PATH 是否包含 CUDA 目录:
    1. echo $PATH
    2. echo $LD_LIBRARY_PATH
    复制代码

    别的,运行 nvcc 命令,查看 CUDA 编译器是否可用:
    1. nvcc --version
    复制代码
    如果显示 CUDA 的版本信息,则说明环境变量已精确设置。


三、安装 cuDNN

1. 打开官网


  • 打开 NVIDIA cuDNN 汗青下载页面
  • 根据本身下载的CUDA Toolkit版本点击相应的cuDNN版本
  • 点击Local Installer for Linux x86 64 (Tar)(必要登录 NVIDIA 开辟者账号,推荐Google登录),稍等片刻…

2. 安装cuDNN


  • 解压下载的 cuDNN 安装包(cudnn-linux-x86_64-8.9.5.30_cuda12-archive.tar.xz更换为你的安装包的文件名)
    1. tar -xvf cudnn-linux-x86_64-8.9.5.30_cuda12-archive.tar.xz
    复制代码

  • 解压完成后,终端进入下载目录,必要将 cuDNN 文件复制到 CUDA 的相应目录中(cudnn-linux-x86_64-8.9.5.30_cuda12-archive更换为你解压后的文件名,cuda-12.1更换为你的 CUDA Toolkit版本):
    1. cd ~/下载
    2. sudo cp -r cudnn-linux-x86_64-8.9.5.30_cuda12-archive/include/* /usr/local/cuda-12.1/include/
    3. sudo cp -r cudnn-linux-x86_64-8.9.5.30_cuda12-archive/lib/* /usr/local/cuda-12.1/lib64/
    复制代码
  • 确保复制的 cuDNN 文件具有适当的权限,以便其他用户能够访问它们(cuda-12.1更换为你的 CUDA Toolkit版本):
    1. sudo chmod a+r /usr/local/cuda-12.1/include/cudnn*.h
    2. sudo chmod a+r /usr/local/cuda-12.1/lib64/libcudnn*
    复制代码
  • 安装完成后,运行以下命令验证 cuDNN 是否精确安装:
    1. cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
    复制代码
          留意:在较新版本的 cuDNN(如 8.0 及以上)中,cudnn.h 文件不再直接包含版本号宏定义(如CUDNN_MAJOR、CUDNN_MINOR 等),相反,版本信息被移到了 cudnn_version.h 文件中。cuDNN版本 8.0 以下的版本利用命令cat /usr/local/cuda-12.1/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 (cuda-12.1更换为你的 CUDA Toolkit版本)验证安装是否完成。
        如图所示说明cuDNN安装完成,表示安装的 cuDNN 版本为 8.9.5


末端

通过本篇文章,我们详细介绍了怎样在 Ubuntu 20.04 体系上安装和设置 NVIDIA 驱动CUDA ToolkitcuDNN,以及它们在深度学习开辟中的紧张性。从体系更新、驱动安装到 CUDA 和 cuDNN 的设置,每一步都涵盖了详细的操纵流程和常见题目的解决方案。
经过这些步骤,你的体系将具备强大的 GPU 加快能力,能够高效地进行深度学习任务的练习和推理工作。无论你是新手还是有一定经验的开辟者,这篇文章都能资助你顺遂完成环境搭建,避免安装过程中的一些常见错误。
希望这篇文章能为你节流时间,避免踩坑,让你更专注于深度学习项目的开辟。祝你在 AI 和高性能计算的道路上取得更多的成果!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

拉不拉稀肚拉稀

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表