Ubuntu下的CUDA环境的安装与配置

news/2024/10/19 21:34:39/

经常要在Ubuntu上配置CUDA的运行环境,这里记录下避免之后忘记。

在 Ubuntu 上配置 CUDA 环境,通常需要以下几个步骤:

  1. 检查系统需求和安装前的准备
  2. 安装 NVIDIA 驱动
  3. 安装 CUDA 工具包
  4. 配置环境变量
  5. 验证 CUDA 安装
  6. (可选)安装 cuDNN(用于深度学习)

1. 检查系统需求和准备工作

在安装 CUDA 之前,确保以下事项:

  • 你使用的 Ubuntu 版本支持 CUDA。可以查看 NVIDIA CUDA 官方文档 获取兼容的操作系统列表。
  • NVIDIA 显卡支持 CUDA(一般来说,较新的 NVIDIA 显卡都支持)。

建议你先删除任何旧版本的驱动程序或 CUDA 软件包,以避免冲突:

sudo apt-get --purge remove "*nvidia*"

2. 安装 NVIDIA 驱动

你可以使用 Ubuntu 的包管理器来自动安装适合的 NVIDIA 驱动。

  1. 首先,更新系统软件包:

    sudo apt update sudo apt upgrade
  2. 启用 Ubuntu 的驱动程序仓库:

    sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update
  3. 检查可用的 NVIDIA 驱动:

    ubuntu-drivers devices

    这将列出系统支持的 NVIDIA 驱动版本。

  4. 安装推荐的 NVIDIA 驱动程序(例如 nvidia-driver-xxx,其中 xxx 是版本号):

    sudo apt install nvidia-driver-xxx

    例如,如果推荐安装 nvidia-driver-470,则命令为:

    sudo apt install nvidia-driver-470

    安装完成后,重新启动计算机:

  5. sudo reboot

3. 安装 CUDA 工具包

  1. 下载 CUDA 工具包:访问 NVIDIA CUDA Toolkit 下载页面,选择你的 Ubuntu 版本并复制对应的安装命令。以 CUDA 12.0 为例,使用以下步骤:

  2. 添加 CUDA 存储库和 GPG 密钥: 根据官网提供的命令,运行以下命令来添加 CUDA 存储库:

    wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin 
    sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600

    添加 GPG 密钥:

    sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
  3. 安装 CUDA: 安装完 GPG 密钥后,添加 CUDA 存储库并安装 CUDA 工具包:

    sudo apt update sudo apt install cuda
  4. 重启系统: 安装完成后,重新启动系统:

    sudo reboot

4. 配置环境变量

为了让系统可以找到 CUDA 工具和库,需要配置环境变量。

  1. 打开终端,编辑 .bashrc 文件:

    nano ~/.bashrc
  2. 在文件的末尾添加以下几行(请根据实际安装路径调整,通常路径是 /usr/local/cuda-<version>):

    export PATH=/usr/local/cuda/bin:$PATH export
    LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
  3. 保存并关闭文件,然后使更改生效:

    source ~/.bashrc

5. 验证 CUDA 安装

  1. 检查 CUDA 版本: 使用以下命令来验证 CUDA 是否安装成功:

    nvcc --version

    你应该看到类似以下的输出,显示 CUDA 版本信息:

    nvcc: NVIDIA (R) Cuda compiler driver 
    Copyright (c) 2005-2023 NVIDIA Corporation 
    Built on Thu_May_25_19:08:35_PDT_2023 
    Cuda compilation tools, release 12.0, V12.0.194
  2. 运行示例代码: CUDA 工具包中通常包含示例代码,可以使用这些示例来测试是否成功安装。

    先导航到 CUDA 安装目录的示例文件夹:

    cd /usr/local/cuda/samples/1_Utilities/deviceQuery

    然后编译并运行 deviceQuery

    sudo make ./deviceQuery

    如果输出显示 GPU 设备的详细信息,说明安装成功。

    示例输出:

    ./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) Detected 1 CUDA Capable device(s) Device 0: "GeForce GTX 1050" 
    CUDA Driver Version / Runtime Version 11.0 / 11.0 
    Total amount of global memory: 4041 MBytes (4235358208 bytes) 
    (6) Multiprocessors, (128) CUDA Cores/MP: 768 CUDA Cores

6. (可选)安装 cuDNN

cuDNN 是 NVIDIA 的深度学习加速库。如果你计划在 GPU 上运行深度学习框架(如 TensorFlow、PyTorch),建议安装 cuDNN。

  1. 下载 cuDNN: 从 NVIDIA 官网 cuDNN 下载页面 下载与你的 CUDA 版本匹配的 cuDNN。

  2. 解压并安装: 下载的文件是 .tar 格式。解压后,将 cuDNN 文件复制到 CUDA 目录中:

    tar -xzvf cudnn-<version>-linux-x64-v<version>.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*
  3. 验证 cuDNN 安装: 检查 cuDNN 版本:

    cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

    如果输出了版本号,说明 cuDNN 安装成功。

总结

  1. 安装 NVIDIA 驱动:确保显卡驱动正确安装。
  2. 安装 CUDA 工具包:下载并配置好 CUDA 工具包。
  3. 配置环境变量:设置 CUDA 的 PATHLD_LIBRARY_PATH
  4. 验证安装:使用 nvcc 和示例代码来验证安装是否成功。

http://www.ppmy.cn/news/1538772.html

相关文章

Windows电脑使用IDEA远程ssh异地无公网IP的Linux服务器进行开发

文章目录 前言1. 检查Linux SSH服务2. 本地连接测试3. Linux 安装Cpolar4. 创建远程连接公网地址5. 公网远程连接测试6. 固定连接公网地址7. 固定地址连接测试 前言 本文主要介绍如何在IDEA中设置远程连接服务器开发环境&#xff0c;并结合Cpolar内网穿透工具实现无公网远程连…

22.1 K8S之KubeSphere实现中间件高可用集群

22.1 K8S之KubeSphere实现中间件高可用集群 一. 章节概述二. WordPress1. WordPress 简介---------------------------------------------------------------------------------------------------一. 章节概述 二. WordPress 1. WordPress 简介 创建并部署 WordPress

如何在UE5中创建加载屏幕(开场动画)?

第一步&#xff1a; 首先在虚幻商城安装好Async Loading Screen&#xff0c;并且在项目的插件中勾选好。 第二步&#xff1a; 确保准备好所需要的素材&#xff1a; 1&#xff09;开头的动画视频 2&#xff09;关卡加载图片 3&#xff09;准备至少两个关卡 第三步&#xff1a…

Unity DOTS框架学习系列四

文章目录 前言一、ECS机制与概述EntityQuery面向数据的编程总结如下 二、Joy System机制与概述Job System的核心机制使用Job System的基本步骤实例说明‌ 三、Burst Compiler工具链Burst Compiler的主要功能包括 总结 前言 本文主要介绍Unity的多线程式数据导向型技术堆栈(DOT…

Spark练习json文件-统计问答数据

目录 题目 准备数据 分析数据 实现数据 总结 题目 计算不同分类的问题数量统计问题中的热搜词&#xff0c;并获取top10的热搜词 准备数据 将数据上传到hdfs上 分析数据 读取数据 from pyspark import SparkContext import json import jiebasc SparkContext()# 读取hd…

C语言 | Leetcode C语言题解之第477题汉明距离总和

题目&#xff1a; 题解&#xff1a; int totalHammingDistance(int* nums, int numsSize) {int ans 0;for (int i 0; i < 30; i) {int c 0;for (int j 0; j < numsSize; j) {c (nums[j] >> i) & 1;}ans c * (numsSize - c);}return ans; }

黑马程序员C++提高编程学习笔记

黑马程序员C提高编程 提高阶段主要针对泛型编程和STL技术 文章目录 黑马程序员C提高编程一、模板1.1 函数模板1.1.1 函数模板基础知识 案例一&#xff1a; 数组排序1.2.1 普通函数与函数模板1.2.2 函数模板的局限性 1.2 类模板1.2.1 类模板的基础知识1.2.2 类模板与函数模板1.…

Python列表专题:list与in

Python是一种强大的编程语言,其中列表(list)是最常用的数据结构之一。列表允许我们存储多个元素,并且可以方便地进行各种操作。在Python中,in运算符被广泛用于检测元素是否存在于列表中。本文将深入探讨Python列表及其与in运算符的结合使用。 1. Python列表的基础 1.1 什…