Ubuntu22.04配置cuda/cudnn/pytorch

news2025/5/15 21:52:33

Ubuntu22.04配置cuda/cudnn/pytorch

  • 安装cuda
    • 官网下载.run文件并且安装
    • /etc/profile中配置cuda环境变量
  • cudnn安装
    • 官网找cuda版本对应的cudnn版本下载
    • 复制相应文件到系统文件中
  • 安装pytorch
    • 官网找cuda对应版本的pytorch
    • python代码测试pytorch-GPU版本安装情况

安装cuda

官网下载.run文件并且安装

nvcc -V        # 验证电脑中是否有CUDA

在这里插入图片描述

nvidia-smi  # 查看cuda最高支持版本

在这里插入图片描述
接下来要去cuda官网找cuda下载: cuda官网
这里都有相关的教程的。
在这里插入图片描述

chmod 777 cuda_12.4.0_550.54.14_linux.run
sh cuda_12.4.0_550.54.14_linux.run					# 这时候要等个几十秒左右

按回车continue
在这里插入图片描述
输入accept
在这里插入图片描述
之前装过NVIDIA驱动了,这里就回车取消选择,接着回车install,开始安装
在这里插入图片描述
估计等个几十秒左右完成
在这里插入图片描述

/etc/profile中配置cuda环境变量

在Linux系统中,/etc/profile 是一个全局的配置文件,用于设置所有用户登录时的环境变量和启动脚本。当需要配置 CUDA 环境变量(例如 PATH 和 LD_LIBRARY_PATH)时,将其添加到 /etc/profile 文件中是一种常见的做法。这种做法的主要目的是为了让 CUDA 工具链(如 nvcc 编译器和其他库)能够在任何终端会话中被正确识别和使用。
PATH 环境变量定义了系统查找可执行文件的路径。CUDA 安装后,其工具链(如 nvcc 编译器)通常位于 /usr/local/cuda/bin 目录下。如果这个目录没有被添加到 PATH 中,系统就无法直接找到这些工具。
LD_LIBRARY_PATH 环境变量定义了动态链接库的搜索路径。CUDA 的运行时库(如 libcudart.so)通常位于 /usr/local/cuda/lib64 目录下。如果没有正确配置 LD_LIBRARY_PATH,程序在运行时可能会找不到这些库,导致错误。
如果让所有用户都能使用 CUDA 工具链,而不仅仅是某个特定用户,那么将环境变量配置到 /etc/profile 是最合适的选择。这样可以避免为每个用户单独配置环境变量的麻烦。

sudo gedit /etc/profile
# 在最后加入:
export PATH=$PATH:/usr/local/cuda-12.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.4/lib64

使环境变量立即生效

 source /etc/profile

查看是否生效

nvcc -V

在这里插入图片描述
完成cuda的安装

cudnn安装

官网找cuda版本对应的cudnn版本下载

cudnn官网链接,这个网站好像只能看到cudnn8的版本与cuda对应。
cudnn与cuda版本对应的下载链接
在这里插入图片描述
这里选对应cuda12版本的cudnn就行,我选个9.5.0吧

复制相应文件到系统文件中

sudo cp cudnn-linux-x86_64-9.5.0.50_cuda12-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp cudnn-linux-x86_64-9.5.0.50_cuda12-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

安装pytorch

官网找cuda对应版本的pytorch

到下面这个链接里找cuda对应版本的pytorch,用相应的命令安装

pytorch官网安装链接
这里我用pytorch2.4.0的

conda install pytorch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 pytorch-cuda=12.4 -c pytorch -c nvidia

python代码测试pytorch-GPU版本安装情况

import torch
torch.cuda.is_available()
print(torch.__version__)
print(torch.version.cuda)
print(torch.backends.cudnn.version())

都有输出,安装完成
在这里插入图片描述

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

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

相关文章

【九】Golang 数组

💢欢迎来到张胤尘的技术站 💥技术如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌💥 文章目录 数组数组初始化默认初始化显式初始化省略长度初始化索…

百达翡丽(Patek Philippe):瑞士制表的巅峰之作(中英双语)

百达翡丽(Patek Philippe):瑞士制表的巅峰之作 在钟表界,百达翡丽(Patek Philippe) 一直被誉为“世界三大名表”之一,并且常被认为是其中的至高存在。一句“没人能真正拥有一枚百达翡丽&#x…

【学习】软件测试中的分类树法介绍

分类树法是一种软件测试设计技术,它通过构建一个树状结构来组织和展示输入数据的多种组合。这种方法有助于系统地识别和分析可能的测试情况,从而确保对软件进行全面而详尽的测试。分类树法特别适用于具有多个选择或条件的复杂系统,它可以有效…

打造智能语料库:通过Coco AI Server 实现 Notion 笔记 RAG 检索功能

本文将详细介绍如何将 Notion 作为语料库,部署 Coco Server 的 RAG(Retrieval-Augmented Generation)功能。我们将使用 Easysearch 作为语料库存储 Notion 素材,并通过 ollama 进行 LLM 推理。 1. 环境准备 1.1 启动 Easysearch…

SP字体UI放大代码

代码: echo off set QT_SCALE_FACTOR放大倍数 start "" "你的SP.exe启动路径"

动手学Agent——Day2

文章目录 一、用 Llama-index 创建 Agent1. 测试模型2. 自定义一个接口类3. 使用 ReActAgent & FunctionTool 构建 Agent 二、数据库对话 Agent1. SQLite 数据库1.1 创建数据库 & 连接1.2 创建、插入、查询、更新、删除数据1.3 关闭连接建立数据库 2. ollama3. 配置对话…

「软件设计模式」适配器模式(Adapter)

软件设计模式深度解析:适配器模式(Adapter)(C实现) 一、模式概述 适配器模式(Adapter Pattern)是结构型设计模式中的"接口转换器",它像现实世界中的电源适配器一样&#…

Dify平台搭建面试机器人

无代码搭建面试机器人 什么是Dify 什么是Dify Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能…

如何通过AI轻松制作PPT?让PPT一键生成变得简单又高效

如何通过AI轻松制作PPT?让PPT一键生成变得简单又高效!在这个信息化飞速发展的时代,PPT已经成为我们日常工作、学习和生活中不可或缺的一部分。无论是公司会议、学术报告,还是个人展示,PPT的作用都不容忽视。很多人对于…

从零开始部署DeepSeek:基于Ollama+Flask的本地化AI对话系统

从零开始部署DeepSeek:基于OllamaFlask的本地化AI对话系统 一、部署背景与工具选型 在AI大模型遍地开花的2025年,DeepSeek R1凭借其出色的推理能力和开源特性成为开发者首选。本文将以零基础视角,通过以下工具链实现本地化部署: …

STM32 CubeMx配置串口收发使用DMA并调用Idle模式(二)

本篇主要结合代码落实,之前串口已经配置好的DMA方式。 一、首先我们把串口看成一个对象,它有属性、私有数据和方法; 每个串口都有名字属性;有初始化、发送、接收方法;还有一个私有数据(这个私有数据是每个…

使用Redis实现分布式锁,基于原本单体系统进行业务改造

一、单体系统下&#xff0c;使用锁机制实现秒杀功能&#xff0c;并限制一人一单功能 1.流程图&#xff1a; 2.代码实现&#xff1a; Service public class VoucherOrderServiceImpl extends ServiceImpl<VoucherOrderMapper, VoucherOrder> implements IVoucherOrderSe…

Nginx内存池源代码剖析----ngx_create_pool函数

ngx_create_pool 是 Nginx 内存池 的初始化函数&#xff0c;负责创建并初始化一个内存池对象。它的作用是 为后续的内存分配操作提供统一的管理入口&#xff0c;通过预分配一块较大的内存区域&#xff0c;并基于此区域实现高效的内存分配、对齐管理和资源回收。 源代码定义&…

DeepSeek 开放平台无法充值 改用其他平台API调用DeepSeek-chat模型方法

近几天DeepSeek开放平台无法充值目前已经关闭状态&#xff0c;大家都是忙着接入DeepSeek模型 &#xff0c;很多人想使用DeepSeek怎么办&#xff1f; 当然还有改用其他平台API调用方法&#xff0c;本文以本站的提供chatgpt系统为例&#xff0c;如何修改DeepSeek-chat模型API接口…

QT基础一、学会建一个项目

注&#xff1a;因为CSDN有很多付费才能吃到的史&#xff0c;本人对此深恶痛绝&#xff0c;所以我打算出一期免费的QT基础入门专栏&#xff0c;这是QT基础知识的第一期&#xff0c;学会建一个项目&#xff0c;本专栏是适用于c / c基础不错的朋友的一个免费专栏&#xff0c;接下来…

科技引领未来,中建海龙C-MiC 2.0技术树立模块化建筑新标杆

在建筑行业追求高效与品质的征程中&#xff0c;中建海龙科技有限公司&#xff08;简称“中建海龙”&#xff09;以其卓越的创新能力和强大的技术实力&#xff0c;不断书写着装配式建筑领域的新篇章。1 月 10 日&#xff0c;由深圳安居集团规划&#xff0c;中建海龙与中海建筑共…

解锁养生秘籍,拥抱健康生活

在这个快节奏的时代&#xff0c;人们行色匆匆&#xff0c;常常在忙碌中忽略了健康。其实&#xff0c;养生并非遥不可及&#xff0c;它就藏在生活的细微之处&#xff0c;等待我们去发现和实践。 规律作息是健康的基础。日出而作&#xff0c;日落而息&#xff0c;顺应自然规律&am…

STM32 如何使用DMA和获取ADC

目录 背景 ‌摇杆的原理 程序 端口配置 ADC 配置 DMA配置 背景 DMA是一种计算机技术&#xff0c;允许某些硬件子系统直接访问系统内存&#xff0c;而不需要中央处理器&#xff08;CPU&#xff09;的介入&#xff0c;从而减轻CPU的负担。我们可以通过DMA来从外设&#xf…

细胞计数专题 | LUNA-FX7™新自动对焦算法提高极低细胞浓度下的细胞计数准确性

现代细胞计数仪采用自动化方法&#xff0c;在特定浓度范围内进行细胞计数。其上限受限于在高浓度条件下准确区分细胞边界的能力&#xff0c;而相机视野等因素则决定了下限。在图像中仅包含少量可识别细胞或特征的情况下&#xff0c;自动对焦可能会失效&#xff0c;从而影响细胞…

蓝桥杯备考:贪心算法之纪念品分组

P1094 [NOIP 2007 普及组] 纪念品分组 - 洛谷 这道题我们的贪心策略就是每次找出最大的和最小的&#xff0c;如果他们加起来不超过我们给的值&#xff0c;就分成一组&#xff0c;如果超过了&#xff0c;就把大的单独成一组&#xff0c;小的待定 #include <iostream> #i…