[Linux版本Debian系统]安装cuda 和对应的cudnn以cuda 12.0为例

news2025/1/11 0:03:47

写在前面

先检查自己有没有安装使用wget的命令,没有的话输入下面命令安装:

apt-get install wget -y

查看gcc的安装

sudo apt install gcc   #安装gcc
gcc --version          #查看gcc是否安装成功
#若上述命令不成功使用下面的命令尝试之后再执行上面的命令
sudo apt-get install libglib2.0-dev    #报错使用此命令进行依赖库安装
sudo apt-get update                    #更新一下软件资源
apt update -y 
sudo apt install gcc --fix-missing     #更新一下软件资源

在这里插入图片描述

一、检查本机是否有CUDA工具包,输入nvcc -V

在这里插入图片描述

二、安装cuda

[1] CUDA工具包:https://developer.nvidia.com/cuda-toolkit-archive
[2] cuDNN库:https://developer.nvidia.com/rdp/cudnn-archive

1.在命令行输入nvidia-smi查看显卡驱动版本也就是最高支持的CUDA工具包版本。
例如,本机可安装12.0及以下的CUDA工具包:
在这里插入图片描述

2.在nvidia官网选择对应版本的CUDA工具包并选择你的机器配置,我们就选择12.0版本下载

在这里插入图片描述
在这里插入图片描述
3.在终端执行如下命令

wget https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda_12.0.0_525.60.13_linux.run
sudo sh cuda_12.0.0_525.60.13_linux.run

1)第一行命令下载安装包
在这里插入图片描述

2)使用第二行sudo sh命令需要提前下载gcc库,此过程会有点慢有点卡,耐心等待,出现界面之后卡了把终端框往下拉拉…
在这里插入图片描述

键入accept确认
在这里插入图片描述

我们已经有驱动了,这里取消安装驱动,上下键和回车键选择。
在这里插入图片描述

稍作等待,出现以下提示信息就安装好了,可以看到CUDA安装到了/usr/local/cuda-12.0/
在这里插入图片描述

4.修改环境变量
1)打开配置文件

# 打开bashrc配置文件
vi ~/.bashrc

2)在配置文件末尾加上:

# cuda env
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-12.0
export PATH=$PATH:/usr/local/cuda-12.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.0/lib64

在这里插入图片描述

执行wq,保存退出

3)source 一下配置文件

source ~/.bashrc

5.检查是否安装完成
使用nvcc -Vnvidia-smi检查CUDA是否安装完成,出现以下提示代表安装完成
在这里插入图片描述
编译并执行CUDA样例程序,出现pass代表CUDA和GPU正常运行:

cd cd /usr/local/cuda-12.0/extras/demo_suite/
sudo make
./deviceQuery

在这里插入图片描述

三.安装cudnn

1.根据安装的CUDA工具包版本在官网选择适合版本的cuDNN,本文安装的CUDA版本是12.0,就选择与之对应的cuDNN v8.9.1,选择Local Installer for Linux x86_64 (Tar)。
在这里插入图片描述

2.复制cuDNN库的链接,使用wget下载或者下载到自己电脑之后再传到服务器上。
3.解压cuDNN文件,并进入解压出的文件夹,拷贝文件到/usr/local/cuda-12.0中

	tar -xvf cudnn-linux-x86_64-8.9.1.23_cuda12-archive.tar.xz  #解压文件
	cd cudnn-linux-x86_64-8.9.1.23_cuda12-archive               
	sudo cp lib/* /usr/local/cuda-12.0/lib64/                 #复制文件
	sudo cp include/* /usr/local/cuda-12.0/include/
	sudo chmod a+r /usr/local/cuda-12.0/lib64/*              #赋予权限
	sudo chmod a+r /usr/local/cuda-12.0/include/*

在这里插入图片描述

4.查看cuDNN版本cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
在这里插入图片描述

上述教程为这台机器上的所有用户安装了CUDA和cuDNN,我们切一下普通用户查看nvcc是否能用
在这里插入图片描述

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

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

相关文章

VS Code中常用插件推荐

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

epoll协程简述

协程的由来 【协程第二话】协程和IO多路复用更配哦~_哔哩哔哩_bilibili 协程类别:有栈(静态)协程, 无栈(动态协程) 协程epoll 当有需要等待的时候,就切换出去,要用汇编保存这个栈rsp 运行时,要根据协程上下文恢复出这个栈

ArmV8常用汇编指令

1.syntax用法 GNU汇编器的.syntax .syntax命令是ARM架构独有的命令,语法为 .syntax [unified | divided];作用是在汇编ARM指令时,指定按照什么样的语法规则进行汇编。如果在编写汇编语言时不使用该命令指定语法规则,那么默认采用.…

TDengine Restful Authorization 自定义Token

Restful 接口是 TDengine 最常用的接口,仅次于 JDBC。TDengine 支持 HTTP 和 HTTPS,但通常情况下,大家不想搞证书,又在内网环境中,采用 HTTP 方式比较多。但 HTTP 是明文传输,只要抓个包就知道账号密码了。…

23111705[含文档+PPT+源码等]计算机毕业设计SSM框架美妆商城全套电商购物

文章目录 **软件开发环境及开发工具:****项目功能介绍:****论文截图:****实现:****代码片段:** 编程技术交流、源码分享、模板分享、网课教程 🐧裙:776871563 软件开发环境及开发工具&#xff…

uart控制led与beep

仲裁模块代码: // 外设控制模块,根据uart接收到的数据,控制led与beep的标志信号。 module arbit(input wire sys_clk ,input wire sys_rst_n ,input wire pi_flag …

VBA如何快速识别Excel单元格中的文本数字

Excel中一种非常特殊的数字,这些数字看似数字,其实是文本格式(下文简称为文本数字),在单元格的左上角会有一个绿色小三角作为标志,如B1:B3单元格。 在编程时为什么需要区分普通数字和文本数字呢&#xff…

【JavaSE】基础笔记 - 图书管理系统(保姆教程,含源码)

目录 1、图书管理系统介绍 2、大致框架 3、代码实现步骤 3.1、Book图书类 3.2、BookList书架类 3.3、User用户类、AdminUser类、NormalUser类 3.4、IOperation操作接口 3.5、继承IOperation接口的操作类 3.6、完善User类 3.7、Mian类 4、完整代码 Java的三大特性是…

机器学习 天气识别

>- **🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/Nb93582M_5usednAKp_Jtw) 中的学习记录博客** >- **🍖 原作者:[K同学啊 | 接辅导、项目定制](https://mtyjkh.blog.csdn.net/)** >- **🚀…

.nc格式文件的显示及特殊裁剪方式

最近我们遇到一个nc格式的文件,需要将它做成报告插图,bing搜索一番以后,了解到nc的全名为NetCDF(network Common Data Form),是一种网络通用数据格式,广泛用于大气科学、水文、海洋学、环境模拟、地球物理等诸多领域。…

ArcGIS创建格网

目录 1、创建网格 2、裁剪边界外的网格 3、只保留边界内完整的网格 1、创建网格 首先,我们在创建渔网前,需要指定渔网覆盖的范围。这里我们就以四子王为例 在ArcMap软件中,我们依次选择“Toolboxes”→“Data Management Tools&#xff0…

基于STC12C5A60S2系列1T 8051单片机的模数芯片ADC0832实现模数转换应用

基于STC12C5A60S2系列1T 8051单片的模数芯片ADC0832实现模数转换应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍模数芯片ADC0832介绍通过模数芯片ADC0832把电压模…

【Linux】重定向|重新理解Linux下一切皆文件

文章目录 一、什么是重定向输出重定向的原理认识一下输出重定向的系统调用输出重定向的另外写法 二、浅谈输入重定向三、重定向和进程替换有冲突吗四、Linux下一切皆文件总结 一、什么是重定向 理解重定向之前:先理解一个叫做文件描述符的具体操作。 文件描述符&a…

C语言求0—7所能组成的奇数个数

完整代码&#xff1a; // 求0—7所能组成的奇数个数 //根据题意&#xff0c;应该是没有重复数字的&#xff0c;所以最大只能为八位数 //如果可以重复的话&#xff0c;那么位数就限制不了&#xff0c;然后奇数的个数就是无穷大了 #include <stdio.h>int main() {int coun…

万宾科技智能井盖传感器,提升市政井盖健康

市政井盖就是城市里不可或缺的基础设施之一&#xff0c;关于它的监测工作可马虎不得。它承载着保护市民的交通安全以及城市正常运转的重要使命。虽然现在城市化的速度很快&#xff0c;但是传统的市政井盖管理方式变得有些力不从心了。井盖的覆盖范围很广&#xff0c;如果单单依…

开启数据库审计 db,extended级别或os级别)并将审计文件存放到/opt/oracle/audit/下

文章目录 1、登录到数据库2、查看审计状态3、创建审计目录4、启用审计5、设置审计文件路径5、再次查看结果 1、登录到数据库 使用SQL*Plus或者其他Oracle数据库客户端登录到数据库。 sqlplus / as sysdba;2、查看审计状态 show parameter audit;目前是DB状态&#xff0c;并且…

【超好用的工具库】hutool-all工具库的基本使用

简介&#xff08;可不看&#xff09;&#xff1a; hutool-all是一个Java工具库&#xff0c;提供了许多实用的工具类和方法&#xff0c;用于简化Java开发过程中的常见任务。它包含了各种模块&#xff0c;涵盖了字符串操作、日期时间处理、加密解密、文件操作、网络通信、图片处…

计算机毕业设计 基于SpringBoot的医院档案管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

自动驾驶-BEV感知综述

BEV感知综述 随着自动驾驶传感器配置多模态化、多源化&#xff0c;将多源信息在unified View下表达变得更加关键。BEV视角下构建的local map对于多源信息融合及理解更加直观简洁&#xff0c;同时对于后续规划控制模块任务的开展也更为方便。BEV感知的核心问题是&#xff1a; …

【proverif】proverif的语法3-认证协议的验证代码-案例分析

proverif-系列文章目录 【proverif】proverif的下载安装和初使用【proverif】proverif的语法1-解决中间人攻击-代码详解【proverif】proverif的语法2-各种密码原语的编码【proverif】proverif的语法3-认证协议的验证代码-案例分析 (本文) 文章目录 proverif-系列文章目录前言一…