《在 Ubuntu 22.04 上安装 CUDA 11.8 和 Anaconda,并配置环境变量》


安装 CUDA 11.8 和 Anaconda 并配置环境变量

在本教程中,我们将介绍如何在 Ubuntu 22.04 上安装 CUDA 11.8Anaconda,并配置相应的环境变量。我们还将配置使用 阿里云镜像源 来加速软件包更新。以下是具体步骤。

步骤 1:更新软件源

首先,更新系统的软件源,并切换到 阿里云镜像源 来加速 Ubuntu 软件包的下载。

  1. 备份 /etc/apt/sources.list 文件

    在编辑 /etc/apt/sources.list 之前,最好先进行备份,以防出现问题时可以恢复。使用以下命令备份文件:

    sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
    
  2. 修改 /etc/apt/sources.list 文件,将以下内容添加到文件中(根据你的 Ubuntu 版本修改 jammy 为你当前的版本):

    sudo vim /etc/apt/sources.list
    

    在文件中添加以下阿里云镜像源:

    # 阿里云镜像源
    deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse# 安全更新
    deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse# 软件更新
    deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse# 提议的更新
    deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse# 回退包
    deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
    
  3. 更新软件包

    sudo apt update
    sudo apt upgrade
    

步骤 2:安装 gccg++

为了安装 CUDA,我们需要确保系统中有支持的 gccg++ 版本。

  1. 安装 gcc 和 g++ 版本 11

    sudo apt install gcc-11 g++-11
    

    如果遇到错误:
    如果你在执行上述命令时出现了错误,比如找不到 gccg++,请确保已安装这些工具并更新系统:

    sudo apt install gcc g++
    
  2. 检查 gcc 版本

    gcc --version
    

    如果看到如下错误:

    Command 'gcc' not found, but can be installed with:
    apt install gcc
    

    那么请执行以下命令来安装 gcc

    sudo apt install gcc
    

步骤 3:安装 CUDA 11.8

接下来,我们下载并安装 CUDA 11.8

  1. 下载 CUDA 11.8 本地安装包

    wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
    
  2. 运行安装程序

    sudo sh cuda_11.8.0_520.61.05_linux.run
    

    如果出现错误:
    在运行 CUDA 安装时,遇到如下错误:

    Failed to verify gcc version. See log at /var/log/cuda-installer.log for details.
    

    这通常是因为系统中没有正确的 gcc 版本或者版本不兼容。解决此问题的方法是确认你安装的 gcc 版本为 gcc-11。运行以下命令确认安装:

    gcc --version
    

    如果版本不符,可以通过如下命令安装正确版本的 gcc

    sudo apt install gcc-11
    

步骤 4:下载和安装 CUDA .deb 文件

  1. 下载 CUDA .deb 文件

    wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb
    
  2. 安装 .deb 文件

    sudo dpkg -i cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb
    
  3. 复制 GPG 密钥并更新 apt

    sudo cp /var/cuda-repo-ubuntu2204-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
    sudo apt-get update
    
  4. 安装 CUDA

    sudo apt-get -y install cuda
    

    如果遇到依赖问题:
    如果在安装时出现依赖问题,可以运行以下命令来修复它们:

    sudo apt --fix-broken install
    

步骤 5:配置环境变量

为了使 CUDA 工具和库可用,配置环境变量。

  1. 配置环境变量

    打开 .bashrc 文件并添加以下行:

    vim ~/.bashrc
    

    添加以下行以更新 PATHLD_LIBRARY_PATH 环境变量:

    export PATH=/usr/local/cuda-12.8/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH
    
  2. 应用更改并检查环境变量

    source ~/.bashrc
    echo $PATH
    echo $LD_LIBRARY_PATH
    

步骤 6:安装 Anaconda

  1. 下载 Anaconda 安装脚本

    wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
    
  2. 赋予安装脚本执行权限

    chmod +x Anaconda3-2024.02-1-Linux-x86_64.sh
    
  3. 运行 Anaconda 安装程序

    bash Anaconda3-2024.02-1-Linux-x86_64.sh
    
  4. 配置 Anaconda 环境变量

    打开 .bashrc 文件并添加 Anaconda 的 bin 目录到 PATH

    vim ~/.bashrc
    

    在文件末尾添加:

    export PATH="~/anaconda3/bin:$PATH"
    

    然后应用更改:

    source ~/.bashrc
    
  5. 验证安装

    echo $PATH
    

总结

通过以上步骤,你已经成功在 Ubuntu 22.04 上安装了 CUDA 11.8Anaconda,并配置了相应的环境变量以使其生效。这样你就可以在你的 Ubuntu 系统中开始使用 CUDA 加速的深度学习框架和其他应用程序了。

如果你在安装过程中遇到任何问题,或者有任何疑问,欢迎在评论区留言!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/76804.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu环境基于Ollama部署DeepSeek+Open-Webui实现本地部署大模型-无脑部署

Ollama介绍 Ollama是一款简单好用的模型部署工具,不仅可以部署DeepSeek,市面上开源模型大部分都可以一键部署,这里以DeepSeek为例 官网 DeepSeek 版本硬件要求 安装Ollama 环境 sudo apt update sudo apt install curl sudo apt install lsof1.命令一键安装 在官网点击…

Angular 项目 PDF 批注插件库在线版 API 示例教程

本文章介绍 Angular 项目中 PDF 批注插件库 ElasticPDF 在线版 API 示例教程,API 包含 ① 导出批注后PDF数据;② 导出纯批注 json 数据;③ 加载旧批注;④ 切换文档;⑤ 切换用户;⑥ 清空批注 等数据处理功能…

Spring Boot 中利用 Jasypt 实现数据库字段的透明加密解密

1. 引言 1.1 什么是 Jasypt Jasypt(Java Simplified Encryption)是一个用于简化 Java 应用程序中加密操作的库。 1.2 为什么使用 Jasypt 简化加密操作:提供简单的 API 进行加密和解密。透明加密:自动处理加密和解密过程,无需手动干预。多种加密算法:支持多种加密算法,…

Linux的: /proc/sys/net/ipv6/conf/ 笔记250405

Linux的: /proc/sys/net/ipv6/conf/ /proc/sys/net/ipv6/conf/ 是 Linux 系统中用于 动态配置 IPv6 网络接口参数 的核心目录。它允许针对不同网络接口(如 eth0、wlan0)或全局设置(all)调整 IPv6 协议栈的行为。 它通过虚拟文件系…

Spring Cloud 框架为什么能处理高并发

Spring Cloud框架能够有效处理高并发场景,核心在于其微服务架构设计及多组件的协同作用,具体机制如下: 一、分布式架构设计支撑高扩展性 服务拆分与集群部署 Spring Cloud通过微服务拆分将单体系统解耦为独立子服务,每个服务可独…

无人机智慧路灯杆:智慧城市的‘全能助手’

在城市发展的进程中,智慧路灯杆作为智慧城市建设的关键载体,正逐步从传统的照明设备转型为集多种功能于一体的智能基础设施。无人机与智慧路灯杆的创新性融合,为城市管理和服务带来了全新的变革与机遇。 一、无人机智慧路灯杆的功能概述 照…

Libevent UDP开发指南

UDP 与 TCP 的核心区别 无连接:不需要建立/维护连接 不可靠:不保证数据包顺序和到达 高效:头部开销小,没有连接管理负担 支持广播/多播:可以向多个目标同时发送数据 一、基础UDP服务器实现 1. 创建 UDP 套接字 #include <event2/event.h> #include <event2/lis…

基于阿里云可观测产品构建企业级告警体系的通用路径与最佳实践

前言 1.1 日常生活中的告警 任何连续稳定运行的生产系统都离不开有效的监控与报警机制。通过监控&#xff0c;我们可以实时掌握系统和业务的运行状态&#xff1b;而报警则帮助我们及时发现并响应监控指标及业务中的异常情况。 在日常生活中&#xff0c;我们也经常遇到各种各样…

智能多媒体处理流水线——基于虎跃办公API的自动化解决方案

在内容爆炸的时代&#xff0c;多媒体文件处理&#xff08;图片压缩、视频转码、音频降噪&#xff09;已成为内容生产者的日常挑战。本文将演示如何基于虎跃办公的多媒体处理API&#xff0c;构建自动化处理流水线&#xff0c;实现&#xff1a; 批量文件智能分类格式自动转换质量…

01-STM32(介绍、工具准备、新建工程)p1-4

文章目录 工具准备和介绍硬件设备stm32简介和arm简介stm32简介STM32命名规则STM32选型STM32F103C8T6最小系统板引脚定义STM32启动配置STM32最小系统电路ARM简介 软件安装注册器件支持包安装ST-LINK驱动安装USB转串口驱动 新建工程创建stm32工程STM32工程编译和下载型号分类及缩…

【ABAP】REST/HTTP技术(一)

1、概念 1.1、SAP 如何提供 Http Service 如果要将 SAP 应用程序服务器 &#xff08;application server&#xff09;作为 http 服务提供者&#xff0c;需要定义一个类&#xff0c;这个类必须实现 IF_HTTP_EXTENSION 接口。IF_HTTP_EXTENSION 接口只有一个方法 HANDLE_REQUEST。…

[实战] linux驱动框架与驱动开发实战

linux驱动框架与驱动开发实战 Linux驱动框架与驱动开发实战一、Linux驱动框架概述1.1 Linux驱动的分类1.2 Linux驱动的基本框架 二、Linux驱动关键API详解2.1 模块相关API2.2 字符设备驱动API2.3 内存管理API2.4 中断处理API2.5 PCI设备驱动API 三、Xilinx XDMA驱动开发详解3.1…

1. hadoop 集群的常用命令

1.上传文件 1)hadoop fs -put words.txt /path/to/input/ 2)hdfs dfs -put words.txt /path/wc/input/ 2.获取hdfs中的文件 hadoop fs -get /path/wc/input/words.txt 3.合并下载多个文件 hadoop fs -getmerge /path/wc/input/words.txt /path/wc/input/words2.txt 4.查…

Keepalived+LVS+nginx高可用架构

注明&#xff1a;所有软件已经下载好&#xff0c;防火墙和SELinux已经全部关闭 一.搭建NFS 1.服务端 1.创建文件 [rootnfs ~]# mkdir -p /nfs/data 2、修改权限 [rootnfs ~]# chmod orw /nfs/data 3、写配置文件 [rootnfs ~]# cat /etc/exports /nfs/data 192.168.111.118(r…

深度学习处理文本(13)

我们使用基于GRU的编码器和解码器来在Keras中实现这一方法。选择GRU而不是LSTM&#xff0c;会让事情变得简单一些&#xff0c;因为GRU只有一个状态向量&#xff0c;而LSTM有多个状态向量。首先是编码器&#xff0c;如代码清单11-28所示。 代码清单11-28 基于GRU的编码器 fro…

HashMap 底层原理详解

1. 核心数据结构 JDK 1.7 及之前&#xff1a;数组 链表 JDK 1.8 及之后&#xff1a;数组 链表/红黑树&#xff08;链表长度 ≥8 时转红黑树&#xff0c;≤6 时退化为链表&#xff09; // JDK 1.8 的 Node 定义&#xff08;链表节点&#xff09; static class Node<K,V&g…

使用MySQL时出现 Ignoring query to other database 错误

Ignoring query to other database 错误 当在远程连接软件中输入MySQL命令出现该错误 导致错误原因是&#xff1a;登录mysql时账户名没有加上u 如果出现该错误&#xff0c;退出mysql&#xff0c;重新输入正确格式进入即可&#xff01;

哈尔滨工业大学:大模型时代的具身智能

大家好&#xff0c;我是樱木。 机器人在工业领域&#xff0c;已经逐渐成熟。具身容易&#xff0c;智能难。 机器人-》智能机器人&#xff0c;需要自主能力&#xff0c;加上通用能力。 智能机器人-》人类&#xff0c;这个阶段就太有想象空间了。而最受关注的-类人机器人。 如何…

Javascript代码压缩混淆工具terser详解

原始的JavaScript代码在正式的服务器上,如果没有进行压缩,混淆,不仅加载速度比较慢,而且还存在安全和性能问题. 因此现在需要进行压缩,混淆处理. 处理方案简单描述一下: 1. 使用 terser 工具进行 安装 terser工具: # npm 安装 npm install terser --save-dev# 或使用 yarn 安…

Java String 常用方法详解

目录 一、获取字符串信息(一)获取字符串长度(二)获取指定索引处的字符(三)获取子字符串二、字符串比较(一)比较字符串内容(二)忽略大小写比较三、字符串转换(一)转换为大写(二)转换为小写四、字符串查找(一)查找子字符串的位置(二)从指定位置开始查找五、字符…