Ubuntu22.04配置cuda/cudnn/pytorch

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.rhkb.cn/news/20107.html

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

相关文章

动态规划算法篇:枚举的艺术

那么本篇文章就正式进入了动态规划的算法的学习,那么动态规划算法也可谓是算法内容中的一座大山,那么在大厂算法笔试乃至算法比赛中出现的频率也逐渐变高,那么可见学习好动态规划算法的一个重要性,那么对于动态规划最难理解的&…

从入门到精通:Postman 实用指南

Postman 是一款超棒的 API 开发工具,能用来测试、调试和管理 API,大大提升开发效率。下面就给大家详细讲讲它的安装、使用方法,再分享些实用技巧。 一、安装 Postman 你能在 Postman 官网(https://www.postman.com )下…

Android平台基于SmartPlayer实现多实例RTSP|RTMP播放器

在 Android开发中,实现多实例的RTSP或RTMP直播播放器是一个常见的需求,本文将介绍如何利用大牛直播SDK的SmartPlayer模块接口,快速实现Android平台上的多实例播放器。通过合理的架构设计和 API 调用,我们可以轻松地管理多个播放实…

Linux中进程的状态3 进程的优先级1

目录 X(dead) && Z(zombie) 僵尸进程 && 孤儿进程 进程的优先级 如何修改进程的优先级 我们至此还剩两种状态没有查看,X和Z状态。 X(dead) && Z(zombie) X状态是进程死亡状态,Z状态依照这个词可知是进程处于僵死状态&…

基于语音的阿尔茨海默病检测识别

摘要 阿尔茨海默病 (AD) 是一种进行性神经退行性疾病,会严重损害认知功能,导致记忆力减退和其他行为改变。它是全球第七大死因,有数百万人受到影响。早期准确检测 AD 对于改善患者预后和减缓疾病进展至关重要。机器学习…

Ubuntu添加桌面快捷方式

以idea为例 一. 背景 在ubuntu中,很多时候是自己解压的文件并没有桌面快捷方式,需要自己找到对应的目录的执行文件手动打开,很麻烦 而只需要在 /usr/share/applications 中创建自定义的desktop文件就能自动复制到桌面 二. 添加方法 创建desk…

pycharm社区版虚拟环境如何配置、如何验证配置成功

1、无配置直接新建按照以下步骤: 新建——自定义环境——类型确定为虚拟 2、以前设置过的只需要将虚拟环境配置上就行了 选择文件——设置——对应文件下的解释器——选择带.ven的解释器 如何检查安装成功? 看终端开头是否显示.venv

【有啥问啥】DeepSeek 技术原理详解

DeepSeek 技术原理详解 DeepSeek 是一款具有突破性技术的大型语言模型,其背后的技术原理涵盖了多个方面,以下是对其主要技术原理的详细介绍: 架构创新 多头潜在注意力机制(MLA) 传送门链接: DeepSeek V3中的Multi-…

Java通过ollama平台接入DeepSeek

1、配置适配jdk8的依赖 <dependency><groupId>io.github.lnyo-cly</groupId><artifactId>ai4j-spring-boot-stater</artifactId><version>0.7.0</version> </dependency>2、配置bootstrap.yml ai:ollama:api-host: http://loc…

【Ai】使用AnythingLLM访问DeepSeek,界面友好,API调用

本文假设已经安装好Ollama 如果还没安装可以看见这个https://blog.csdn.net/wlddhj/article/details/145418880 AnythingLLM是Mintplex Labs推出的一款功能强大的全栈AI应用程序&#xff1a; 功能特点 支持多种LLM和数据库&#xff1a;支持OpenAI、Azure OpenAI、AWS Bedrock…

猿大师播放器与其他网页播放RTSP方案对比有哪些优势?

1. 超低延迟播放&#xff08;300毫秒级&#xff09; - 基于VLC/FFPLAY引擎直接调用本地硬件解码&#xff0c;无需服务器转码&#xff0c;延迟低至300毫秒&#xff0c;远低于传统转码方案&#xff08;通常1-3秒&#xff09;。在消防、安防等场景中&#xff0c;毫秒级延迟可显著…

Breakout Tool

思科 CML 使用起来还是很麻烦的&#xff0c;很多操作对于习惯了 secure crt 或者 putty 等工具的网络工程师都不友好。 Breakout Tool 提供对远程实验室中虚拟机控制台与图形界面的本地化接入能力&#xff0c;其核心特性如下&#xff1a; Console 访问&#xff1a;基于 Telnet…

c语言易错题(选择)

这里给大家讲一下c语言部分遗留的选择题&#xff0c;用来巩固知识&#xff0c;一共13道题 1 答案解析 A&#xff1a;正确 不同的函数属于不同的作用域&#xff0c;因此不同的函数中定义相同名字的变量不会冲突 B&#xff1a;正确 在C语言中&#xff0c;函数的形参一般都是通过参…

《Python实战进阶》专栏 No2: Flask 中间件与请求钩子的应用

专栏简介 《Python实战进阶》专栏共68集&#xff0c;分为 模块1&#xff1a;Web开发与API设计&#xff08;共10集&#xff09;&#xff1b;模块2&#xff1a;数据处理与分析&#xff08;共10集&#xff09;&#xff1b;模块3&#xff1a;自动化与脚本开发&#xff08;共8集&am…

机器学习:k近邻

所有代码和文档均在golitter/Decoding-ML-Top10: 使用 Python 优雅地实现机器学习十大经典算法。 (github.com)&#xff0c;欢迎查看。 K 邻近算法&#xff08;K-Nearest Neighbors&#xff0c;简称 KNN&#xff09;是一种经典的机器学习算法&#xff0c;主要用于分类和回归任务…

初识Linux(9):程序地址空间

实验&#xff1a; 1 #include <stdio.h>2 #include <sys/types.h>3 #include <unistd.h>4 #include <string.h>5 6 int g_val 100;7 8 int main()9 {10 printf("我是一个进程: pid:%d,ppid:%d\n",getpid(),getppid());11 pid_t id for…

RadASM环境,win32汇编入门教程之六

;运行效果 ;RadASM环境&#xff0c;win32汇编入门教程之六 ;在上一个教程里面&#xff0c;我们学习了如何定义数据&#xff0c;那么在这一章节里面&#xff0c;我们来学习一下&#xff0c;再说明怎么把这些数据显示出来 ;下列就是显示出这些数据的示例程序&#xff0c;可以直接…

Flutter

项目文件目录结构介绍 注&#xff1a;创建 Flutter 项目名称不要包含特殊字符&#xff0c;不要使用驼峰标识 // TODO 开发中运行一个 Flutter 三种启动方式&#xff1a; Run 冷启动从零开始启动Hot Reload 热重载执行 build 方法Hot Restart 热重启重新运行整个 APP 代码分析…

【基础架构篇十一】《DeepSeek日志体系:ELK+Prometheus监控方案》

各位被日志淹没的工程师们,是否经历过这些抓狂时刻?——凌晨三点被报警短信吵醒,打开系统却看到: 日志文件以每秒100MB的速度疯狂膨胀关键报错信息在10TB日志里玩捉迷藏监控图表像心电图一样上蹿下跳服务器硬盘在报警声中发出垂死呻吟今天我们不聊什么基础的日志收集,直接…

JavaEE -JDBC池化思想 与 IDEA导包

1.JDBC概述 1.JDBC 的概述 * Java DataBase Connectivity Java数据库的连接。 * 目的使用 Java 的代码来操作数据库 * 需要使用 JDBC &#xff08; Java 数据库的连接&#xff09;规范来操作数据。 2.JDBC 的规范 * JDBC是一套接口规范 * JDBC的实现类都是由各个数据库的…