在 Ubuntu 20.04 上安装 CUDA (Compute Unified Device Architecture) 支持 NVIDIA GPU 的加速计算

在 Ubuntu 20.04 上安装 CUDA (Compute Unified Device Architecture) 是为了支持 NVIDIA GPU 的加速计算。下面是详细的步骤,包括安装 CUDA、相关驱动以及 cuDNN(用于深度学习的库)。

步骤 1:检查系统要求

  1. NVIDIA GPU:确保你的系统中安装有支持 CUDA 的 NVIDIA 显卡。
  2. Ubuntu 版本:确保你使用的是 Ubuntu 20.04(或者相近版本)。
  3. 驱动程序版本:CUDA 需要安装兼容的 NVIDIA 驱动程序。

步骤 2:安装 NVIDIA 驱动

  1. 更新系统: 在安装任何依赖项之前,首先更新 Ubuntu 系统:
sudo apt update
sudo apt upgrade

2. 添加 NVIDIA PPA: 你可以使用官方的 NVIDIA PPA 来安装最新的驱动程序。

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

3. 安装 NVIDIA 驱动: 使用以下命令安装最新的 NVIDIA 驱动(例如,nvidia-driver-460 或更高版本,取决于你的显卡)。

sudo apt install nvidia-driver-460

你可以通过 nvidia-smi 来验证驱动程序是否安装成功。

nvidia-smi

该命令应该显示 NVIDIA 驱动程序的相关信息和你的 GPU 信息。

4. 重启系统: 安装完驱动后,重启系统以确保驱动正确加载。

sudo reboot

步骤 3:下载并安装 CUDA

  1. 访问 NVIDIA CUDA 官网: 前往 NVIDIA 官方网站,下载适用于 Ubuntu 20.04 的 CUDA 工具包。NVIDIA CUDA Toolkit 下载页面
  2. 选择适合你操作系统的安装选项: 选择操作系统版本、CUDA 版本(例如,CUDA 11.8)以及安装方法(建议使用 .deb 文件)。
  3. 安装 CUDA
    • 下载 .deb 文件: 在终端中运行以下命令来下载并安装 CUDA。
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run

运行安装程序: 给文件执行权限并运行:

chmod +x cuda_11.8.0_520.61.05_linux.run
sudo ./cuda_11.8.0_520.61.05_linux.run
  • 安装过程中,你将看到一些选项:
    • 选择是否安装驱动程序:如果你已经安装了 NVIDIA 驱动,可以跳过此步骤。
    • 安装路径:通常默认路径 /usr/local/cuda 即可。

环境变量配置: 在安装完成后,需要将 CUDA 路径添加到系统的环境变量中。打开终端并编辑 .bashrc 文件:

nano ~/.bashrc

在文件的最后添加以下两行:

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

保存并退出文件(按 Ctrl + X,然后按 Y,最后按回车键)。

5. 重新加载 .bashrc 配置文件

source ~/.bashrc

6. 验证 CUDA 安装: 使用以下命令检查 CUDA 是否安装成功:

nvcc --version

如果安装成功,你应该看到类似如下输出,显示 CUDA 编译器版本信息:

Cuda compilation tools, release 11.8, V11.8.0

步骤 4:安装 cuDNN(可选,推荐用于深度学习)

cuDNN 是 NVIDIA 为深度学习优化的库,如果你需要进行深度学习开发,可以安装 cuDNN。

  1. 下载 cuDNN: 访问 NVIDIA cuDNN 下载页面 并下载与你的 CUDA 版本匹配的 cuDNN。
  2. 安装 cuDNN: 下载完成后,解压并安装 cuDNN:
tar -xzvf cudnn-11.8-linux-x64-v8.6.0.163.tgz
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
  1. 这样就成功安装了 cuDNN。

步骤 5:测试 CUDA 安装

  1. 编译并运行示例程序: 在终端中进入 /usr/local/cuda/samples 目录,编译并运行 CUDA 示例程序:
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

如果安装成功,你将看到关于 NVIDIA GPU 的信息。

总结

通过上述步骤,你可以在 Ubuntu 20.04 上成功安装 CUDA、NVIDIA 驱动以及 cuDNN,并进行深度学习开发或 GPU 加速计算。确保按照步骤顺序操作,并根据系统环境调整版本号和路径。

发布者:myrgd,转载请注明出处:https://www.object-c.cn/4496

Like (0)
Previous 2024年11月24日 下午1:55
Next 2024年11月24日 下午2:51

相关推荐

  • 在 Windows 11 上使用 WSL2 安装 Ubuntu 子系统时,出现 “无法解析服务器的名称或地址” 错误

    在 Windows 11 上使用 WSL2 安装 Ubuntu 子系统时,出现 “无法解析服务器的名称或地址” 错误,通常与网络配置或 DNS 解析问题相关。以下是可能的解决方法:1. 检查 WSL2 网络配置WSL2 默认使用虚拟机进行网络连接,因此可能会出现网络配置问题。你可以尝试以下步骤修复:1.1 重启 WSL2首先,重启 W…

    2024年11月27日
    00
  • Docker 部署 Navidrome 服务器与远程访问听歌的教程

    Navidrome 是一个轻量级、功能强大的音乐流媒体服务器,可以通过 Docker 容器方便地部署。本教程涵盖从本地部署到远程访问的详细步骤。 一、环境准备 1. 安装 Docker 和 Docker Compose 在服务器(或本地机器)上安装 Docker 和 Docker Compose。 安装 Docker Ubuntu 示例: CentOS 示例…

    2024年11月22日
    00
  • 在 Ant Design ProTable 中,如何设置不分页,依然显示分页信息,前端分页不触发

    在 Ant Design ProTable 中,默认情况下,分页是与数据请求(request)相关联的。也就是说,每当分页切换时,request 会被触发,重新请求新的数据。如果你希望在禁用分页的同时,依然显示分页控件,并且不触发 request 请求,可以通过以下方法进行配置。解决方案要在 Ant Design ProTable 中禁用分页的同时保留分页信…

    2024年11月29日
    00
  • 在 VSCode 中安装和配置 C/C++ 开发环境及调试功能

    在 VSCode 中安装和配置 C/C++ 开发环境及调试功能,涉及几个关键步骤:安装 VSCode、安装 C/C++ 编译器、安装 C/C++ 扩展、配置调试环境等。下面是一个详细的保姆级教程,带你一步步完成配置。1. 安装 VSCode首先,你需要安装 Visual Studio Code(简称 VSCode)。可以通过以下步骤完成安装:访问 Visua…

    2024年11月29日
    00
  • 开发中如何在HarmonyOS NEXT中处理页面间的数据传递的

    在 HarmonyOS NEXT 中,页面间的数据传递是应用开发中的一个常见需求。HarmonyOS 提供了多种方法来实现页面间的数据传递,通常包括 通过 Intent(隐式和显式)传递数据、通过路由传递数据、以及使用 全局状态管理。下面将介绍几种常用的处理方式。1. 使用 Ability 和 Intent 传递数据在 HarmonyOS 中,每个页面都是一…

    2024年11月29日
    00
  • 在 Delphi 中创建一个像 C# 那样的 DLL 类库(即面向对象的 DLL)

    在 Delphi 中创建一个像 C# 那样的 DLL 类库(即面向对象的 DLL)可以通过以下步骤实现:1. 创建 Delphi DLL 项目打开 Delphi。选择 File > New > Other > Dynamic-Link Library。在新项目中,默认生成的代码通常是 exports 部分,其中包含了 DLL 导出的函数。2. 定义类你可以在…

    2024年11月29日
    00
  • 在 MacOS 上开启 HIDPI 模式的多种方案

    在 MacOS 上开启 HIDPI 模式可以帮助提升显示器的清晰度,尤其是在使用 Retina 屏幕时。以下是几种常见的方案:1. 通过终端命令启用 HIDPI 模式打开 终端 (Terminal)。输入以下命令: 然后重启 Mac,或者注销当前用户并重新登录。这将启用隐藏的高分辨率模式。2. 通过 SwitchResX 工具SwitchResX 是一个强大…

    2024年11月27日
    00
  • 在Ubuntu上安装RabbitMQ 的简单过程

    在Ubuntu上安装RabbitMQ是一个简单的过程,以下是详细步骤: 1. 更新系统包 2. 添加 RabbitMQ 和 Erlang 的官方存储库 RabbitMQ 依赖于 Erlang,因此需要确保安装正确版本的 Erlang。 2.1. 安装必要的依赖项 2.2. 添加 Erlang 存储库 2.3. 添加 RabbitMQ 存储库 3. 更新包列表…

    2024年11月22日
    00
  • Linux 命令 su 和 sudo 的区别详解

    在 Linux 中,su 和 sudo 是两个常用命令,用于以其他用户(通常是管理员)身份执行任务。它们的区别主要体现在功能、使用方式、安全性等方面。以下是详细的对比和解释: 1. su 命令 定义 su 是“switch user”(切换用户)的缩写,用于切换到其他用户账户(默认是 root)。 用法 特点 示例 切换到其他用户(如 user2): 2. …

    2024年11月22日
    00
  • 在 Apache Kafka 中消息的消费和传递通过消费者与 Kafka 的分布式系统协作完成

    在 Apache Kafka 中,消息的消费和传递是通过消费者(Consumer)与 Kafka 的分布式系统协作完成的。以下是消息传递的主要流程: 1. Producer 生产消息到 Kafka 2. Consumer 消费消息 Kafka 中消费者的消息消费流程如下: 2.1 订阅主题 消费者通过 Kafka 客户端订阅一个或多个主题。它可以: 2.2 …

    2024年12月9日
    00
  • 在 Debian 8 上设置 Apache 虚拟主机步骤操作

    在 Debian 8 上设置 Apache 虚拟主机需要按照以下步骤操作。这可以让您为不同的域名或子域名配置独立的网站目录和设置。 步骤 1:安装 Apache确保 Apache 已安装。如果没有安装,可以运行以下命令: 步骤 2:创建虚拟主机的目录结构为每个虚拟主机创建单独的目录,例如: 为测试,在每个目录下创建一个 index.html 文件: 设置目录…

    2024年12月2日
    00
  • 浏览器跨域请求中携带 Cookie需要同时在前端和后端进行配置

    浏览器跨域请求中,要让请求携带 Cookie,需要同时在前端和后端进行配置。以下是实现的方法: 前端配置 在前端代码中使用 fetch 或 Axios 发起请求时,需要设置 credentials 属性: 1. Fetch 示例 2. Axios 示例 后端配置 在后端需要允许跨域请求,并确保 Cookie 能够正常传递。 1. 设置 Access-Cont…

    2024年12月9日
    00
  • 远程访问 VMware ESXi 主机的方法

    远程访问 VMware ESXi 主机可以通过以下几种方式实现。具体方法取决于你的网络环境和目标需求,例如是否有公网 IP,是否需要加密传输等。以下是详细教程: 1. 基于公网 IP 的直接访问 1.1 适用场景 1.2 操作步骤 2. 使用 VPN 隧道访问 2.1 适用场景 2.2 操作步骤 3. 配置跳板机访问 3.1 适用场景 3.2 操作步骤 远程…

    2024年11月24日
    00
  • 通过 PHP 读取微软邮箱(Outlook/Office 365 邮箱)

    通过 PHP 读取微软邮箱(Outlook/Office 365 邮箱)邮件,通常需要使用 Microsoft Graph API,因为微软逐步淘汰了基于用户名和密码的 IMAP/SMTP 方式。Microsoft Graph API 支持 OAuth2.0 认证,可以安全地访问和管理用户邮件。 以下是实现读取微软邮箱邮件的完整示例。 实现步骤 1. 准备工…

    2024年11月25日
    00
  • 在 MySQL 中 ORDER BY和HAVING用于数据查询和处理

    在 MySQL 中,ORDER BY和HAVING是用于数据查询和处理的两个重要子句,通常与SELECT语句一起使用,以下是它们的具体使用方法: ORDER BY子句 其中,column1、column2等是要排序的列名。ASC表示升序排序(默认),DESC表示降序排序。 多列排序示例:如果要先按照部门编号升序排序,再按照工资降序排序,可以这样写: 按表达式…

    2024年12月15日
    00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

在线咨询: QQ交谈

邮件:723923060@qq.com

关注微信