在 Ubuntu 22.04 中安装 CUDA

MuYusen 于 2023-09-25 发布 本文总阅读量

在 Ubuntu 22.04 中安装 CUDA

介绍,如何直接导入 Nvidia 官方 APT 软件源和 GPG 密钥,在 Ubuntu 22.04 LTS 中安装 CUDA 的详细步骤。这样可以确保拥有最新的 Nvidia 驱动程序和 CUDA Toolkit,也方便未来的版本更新。

在高性能计算领域,CUDA(Compute Unified Device Architecture)是一项革命性的技术。它由 Nvidia 开发,是一个并行计算平台和应用程序编程接口(API)模型,利用 NVIDIA GPU(图形处理器)的强大计算能力来提高软件应用程序的计算速度和效率。

CUDA 对 Ubuntu 用户、程序员和开发者的重要性主要包括:

推荐直接从 Nvidia 官方软件源安装最新 CUDA 版本,以下是主要原因:

步骤 1:清除 Ubuntu 中已有的 CUDA 和 Nvidia

清除 Nvidia 软件包

sudo apt-get autoremove cuda* nvidia* --purge

卸载 .run 文件安装的 Nvidia 驱动程序

sudo /usr/bin/nvidia-uninstall

卸载通过 .run 文件安装的 CUDA Toolkit

sudo /usr/local/cuda-X.Y/bin/cuda-uninstall

步骤 2:在 Ubuntu 中安装 CUDA

准备 Ubuntu 系统

sudo apt-get install dirmngr ca-certificates software-properties-common apt-transport-https dkms curl -y

导入 Nvidia 软件源 GPG 密钥

curl -fSsL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nvidia-drivers.gpg > /dev/null 2>&1

将 Nvidia 软件源添加到 Ubuntu 系统

echo 'deb [signed-by=/usr/share/keyrings/nvidia-drivers.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /' | sudo tee /etc/apt/sources.list.d/nvidia-drivers.list

刷新软件包列表

sudo apt-get update

安装 CUDA 和 Nvidia 驱动程序

apt search cuda-drivers

sudo apt-get install nvidia-driver-535 cuda-drivers-535 cuda

sudo reboot

步骤 3:在 Ubuntu 中使用 CUDA

了解您的 GPU 功能

在开始学习 CUDA 编程之前,了解您的 GPU 功能非常重要。不同的 GPU 支持不同版本的 CUDA,并且具有不同的核心数、显存大小和其他特性。

nvidia-smi

该命令可以输出 GPU 的名称、总显存、CUDA 版本等信息。

熟悉 CUDA Toolkit 文档

CUDA Toolkit 提供了丰富的文档,包括编程指南、最佳实践指南和 API 参考。熟悉这些资源大有好处,您可以在线访问 NVIDIA CUDA Toolkit 文档页面获取这些文档。

使用 CUDA 示例

CUDA Toolkit 中包含一系列示例程序,展示了 CUDA 编程从基本概念到高级技巧的各个方面。这些示例可以作为很好的学习资源。在安装 CUDA Toolkit 后,可以在/usr/local/cuda/samples目录中找到它们。

探索 CUDA 库

CUDA 提供了多个库,用于处理常见的计算任务,如线性代数、傅里叶变换等。这些库包括 cuBLAS、cuFFT 和 cuDNN 等,它们经过高度优化,能够节省大量的时间和精力。您可以在 CUDA Toolkit 的文档中找到关于这些库的更多信息。

调试和分析 CUDA 程序

调试和分析是 CUDA 编程的关键方面。CUDA Toolkit 中的 cuda-gdb 和 nvprof 等工具可以帮助您调试 CUDA 程序并分析其性能。这些工具在优化 CUDA 程序方面非常有用。

参考