当前位置: 首页 > article >正文

linux CUDA与CUDNN安装教程

目录

1.CUDA安装

1.1.CUDA作用

1.2.CUDA下载

1.3.CUDA安装 

1.4.验证

2.CUDNN安装

2.1.CUDNN作用

2.2.下载  

2.3.安装 

2.4.验证


1.CUDA安装

1.1.CUDA作用

       CUDA 是 NVIDIA 提供的并行计算平台和编程模型,允许开发者直接利用 GPU 的并行计算能力,而无需编写底层图形API(如OpenGL)。通过扩展 C/C++/Python 等语言,CUDA 使得开发者可以编写直接在 GPU 上运行的代码(称为核函数),适用于任何需要大规模并行计算的任务,如科学模拟、图像处理、深度学习等。

1.2.CUDA下载

查看CUDA驱动:

nvidia-smi

显示如下:

CUDA version12.4表示当前驱动最多支持到 CUDA Toolkit 12.4,但通常也向下兼容更低的 CUDA Toolkit 版本。

NVIDIA 驱动通常支持 所有 ≤ 驱动标称版本 的 CUDA Toolkit。例如:

驱动版本 12.4 → 支持 CUDA Toolkit 12.x、11.x、10.x 等。

但具体兼容范围需参考 NVIDIA 官方文档。

 为了omega-ai项目更好的兼容性,我们这里安装CUDA 11.7版本,地址:CUDA Toolkit 11.7 Downloads | NVIDIA Developer

注意:如果机器已经有12.4的CUDA Tookit了,不影响本次11.7的安装,可以安装多个版本。

wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run

1.3.CUDA安装 

执行linux命令安装:

sudo sh cuda_11.7.0_515.43.04_linux.run

 第一步:输入accept,回车

 第二步:选择drive,回车,取消驱动安装,再选择install安装

 显示如下安装成功:

 查看安装日志:

cat /var/log/cuda-installer.log

遇到 "Cannot find manpages to install" 的警告或错误,通常是因为CUDA安装包缺少manpages(手册页)文件,或者安装程序无法找到它们。如果不需要查阅CUDAman手册,可以直接忽略此警告。我们这里忽略 !如果你确实需要查阅CUDA的man手册,你可以在此https://developer.download.nvidia.cn/compute/cuda/redist/cuda_documentation/linux-x86_64/下载相同版本的documentation安装。

1.4.验证

nvcc --version  # 查看 CUDA 编译器版本

 如下说明安装成功:

2.CUDNN安装

2.1.CUDNN作用

       cuDNN 是 NVIDIA 针对深度学习优化的高性能库,基于 CUDA 构建,提供了高度优化的常见深度学习操作实现。针对卷积(Convolution)、池化(Pooling)、归一化(BatchNorm)、激活函数(ReLU等)、循环神经网络(RNN/LSTM)等操作进行了极致优化,显著提升训练和推理速度。主流深度学习框架(如 TensorFlow、PyTorch)依赖 cuDNN 作为底层计算引擎。

2.2.下载  

Index of /compute/cudnn/redist/cudnn/linux-x86_64

2.3.安装 


tar -xvf cudnn-linux-x86_64-9.10.0.56_cuda11-archive.tar.xz
cd cudnn-linux-x86_64-9.10.0.56_cuda11-archive
sudo cp -r include/* /usr/local/cuda-11.7/include/
sudo cp -r lib/* /usr/local/cuda-11.7/lib64/

2.4.验证

        进入 CUDA 的安装目录(默认路径如/usr/local/cuda-11.7),分别进入include和lib文件夹,查看是否存在以cudnn开头的文件,如cudnn.h和cudnn.lib等。也可以运行 CUDA 安装目录下extra\demo_suite文件夹中的deviceQuery和bandwidthTest文件 ,在命令行中进入该文件夹目录,然后依次执行以下命令:

./deviceQuery
./bandwidthTest

 若两个程序的输出结果中都出现Result = PASS,则说明 cuDNN 安装和配置正确。

相关文章:

linux CUDA与CUDNN安装教程

目录 1.CUDA安装 1.1.CUDA作用 1.2.CUDA下载 1.3.CUDA安装 1.4.验证 2.CUDNN安装 2.1.CUDNN作用 2.2.下载 2.3.安装 2.4.验证 1.CUDA安装 1.1.CUDA作用 CUDA 是 NVIDIA 提供的并行计算平台和编程模型,允许开发者直接利用 GPU 的并行计算能力&#xff…...

添加购物车-02.代码开发

一.代码开发 购物车属于用户端功能,因此要在user下创建controller代码。 Controller层 package com.sky.controller.user;import com.sky.dto.ShoppingCartDTO; import com.sky.entity.ShoppingCart; import com.sky.result.Result; import com.sky.service.Shopp…...

Unity动画系统使用整理 --- Playable

​​Playable API​​ 是一个强大的工具,用于更灵活地控制动画、音频、脚本等时间轴内容的播放和混合。它提供了比传统 Animator 更底层、更可控的方式管理时间轴行为,尤其适合复杂动画逻辑或动态内容组合的场景。 优点: 1.Playables API 支…...

Xilinx FPGA PCIe | XDMA IP 核 / 应用 / 测试 / 实践

注:本文为 “Xilinx FPGA 中 PCIe 技术与 XDMA IP 核的应用” 相关文章合辑。 图片清晰度受引文原图所限。 略作重排,未整理去重。 如有内容异常,请看原文。 FPGA(基于 Xilinx)中 PCIe 介绍以及 IP 核 XDMA 的使用 N…...

winreg查询Windows注册表的一些基本用法

注册表是Windows操作系统中用于存储配置信息的数据库。它包含了关于系统硬件、已安装的应用程序、用户账户设置以及系统设置的信息。 特别地,当我们需要某些软件的配置配息时,主要在HKEY_CURRENT_USER和HKEY_LOCAL_MACHINE下的SoftWare内进行查询操作。 …...

计算机网络|| 路由器和交换机的配置

一、实验目的 1. 了解路由器和交换机的工作模式和使用方法; 2. 熟悉 Cisco 网络设备的基本配置命令; 3. 掌握 Cisco 路由器的基本配置方式及配置命令; 4. 掌握路由器和交换机的基本配置与管理方法。 二、实验环境 1. 运行 Windows 操作…...

推理加速新范式:火山引擎高性能分布式 KVCache (EIC)核心技术解读

资料来源:火山引擎-开发者社区 分布式 KVCache 的兴起 背景 在大模型领域,随着模型参数规模的扩大和上下文长度增加,算力消耗显著增长。在 LLM 推理过程中,如何减少算力消耗并提升推理吞吐已经成为关键性优化方向。以多轮对话场…...

中央处理器(CPU)(概述、指令周期)

一、概述 主要功能:(1)程序控制(2)操作控制(3)时序控制(4)数据加工(5)中断处理 组成:早期冯诺依曼计算机的 CPU 主要由运算器和控制…...

【C#】ToArray的使用

在 C# 中&#xff0c;ToArray 方法通常用于将实现了 IEnumerable<T> 接口的集合&#xff08;如 List<T>&#xff09;转换为数组。这个方法是 LINQ 提供的一个扩展方法&#xff0c;位于 System.Linq 命名空间中。因此&#xff0c;在使用 ToArray 方法之前&#xff0…...

(2)Python爬虫--requests

文章目录 前言一、 认识requests库1.1 前情回顾1.2 为什么要学习requests库1.3 requests库的基本使用1.4 响应的保存1.5 requests常用的方法1.6 用户代理1.7 requests库&#xff1a;构建ua池(可以先跳过去)1.8 requests库&#xff1a;带单个参数的get请求1.9 requests库&#x…...

MiniCPM-V

一、引言 在多模态大语言模型(MLLMs)快速发展的背景下,现有模型因高参数量(如 72B、175B)和算力需求,仅能部署于云端,难以适配手机、车载终端等内存和算力受限的端侧设备。MiniCPM-V聚焦 “轻量高效” 与 “端侧落地”,通过架构创新、训练优化和部署适配,打造高知识密…...

Screeps Arena基础入门

本文主要内容 JavaSsript语法使用VScode编译环境Screeps Arena游戏规则 JavaSsript语法使用 基本数据类型 // String, Numker,Boolean,null, undefined const username "John"; const age 30; const rate 4.5; const iscool true; const x null; #表示值为…...

开疆智能Profinet转Canopen网关连接sick RFID读写器配置案例

打开CANopen总线配置软件设置CANopen参数&#xff1a; 1. 使用Profinet转CANopen网关的配置软件修改CANopen主站参数&#xff1a; 首先新建项目&#xff0c;选择对应网关模块 2. 设置波特率&#xff1a;250 kbps&#xff08;需与SICK RFID读写器一致&#xff09;。 设置同步…...

17.three官方示例+编辑器+AI快速学习webgl_buffergeometry_lines

本实例主要讲解内容 这个Three.js示例展示了如何使用BufferGeometry创建大量线段&#xff0c;并通过**变形目标(Morph Targets)**实现动态变形效果。通过随机生成的点云数据&#xff0c;结合顶点颜色和变形动画&#xff0c;创建出一个视觉效果丰富的3D线条场景。 核心技术包括…...

深入掌握CSS定位:构建精密布局的核心技术

一、定位的定义 定位&#xff08;Positioning&#xff09;是CSS中用于控制元素在网页中的具体位置的一种机制。通过定位&#xff0c;可以将元素放置在页面的任意位置&#xff0c;并控制其与其他元素的层叠关系。 二、定位的特点与作用 自由摆放位置&#xff1a; 允许元素摆放…...

Go语言多线程爬虫与代理IP反爬

有个朋友想用Go语言编写一个多线程爬虫&#xff0c;并且使用代理IP来应对反爬措施。多线程在Go中通常是通过goroutine实现的&#xff0c;所以应该使用goroutine来并发处理多个网页的抓取。然后&#xff0c;代理IP的话&#xff0c;可能需要一个代理池&#xff0c;从中随机选择代…...

配置集群(yarn)

在配置 YARN 集群前&#xff0c;要先完成以下准备工作&#xff1a; 集群环境规划&#xff1a;明确各节点的角色&#xff0c;如 ResourceManager、NodeManager 等。网络环境搭建&#xff1a;保证各个节点之间能够通过网络互通。时间同步设置&#xff1a;安装 NTP 服务&#xff0…...

node.js 实战——express图片保存到本地或服务器(七牛云、腾讯云、阿里云)

本地 ✅ 使用formidable 读取表单内容 npm i formidable ✅ 使用mime-types 获取图片后缀 npm install mime-types✅ js 中提交form表单 document.getElementById(uploadForm).addEventListener(submit, function(e){e.preventDefault();const blob preview._blob;if(!blob)…...

CSS3 伪类和使用场景

CSS3 伪类&#xff08;Pseudo-classes&#xff09;大全 CSS3 引入了许多新的伪类&#xff0c;以下是完整的 CSS3 伪类分类列表&#xff08;包括 CSS2 的伪类&#xff09;&#xff1a; 一、结构性伪类&#xff08;Structural Pseudo-classes&#xff09; 这些伪类根据元素在文…...

Shadertoy着色器移植到Three.js经验总结

Shadertoy是一个流行的在线平台&#xff0c;用于创建和分享WebGL片段着色器。里面有很多令人惊叹的画面&#xff0c;甚至3D场景。本人也移植了几个ShaderToy上的着色器。本文将详细介绍移植过程中需要注意的关键点。 1. 基本结构差异 想要移植ShaderToy的shader到three.js&am…...

电脑端音乐播放器推荐:提升你的听歌体验!

在快节奏的职场环境中&#xff0c;许多上班族都喜欢用音乐为工作时光增添色彩。今天要分享的这款音乐工具&#xff0c;或许能为你的办公时光带来意想不到的惊喜。 一、软件介绍-澎湃 澎湃音乐看似是个普通的播放器&#xff0c;实则藏着强大的资源整合能力。左侧功能栏清晰陈列着…...

VIC-2D 7.0 为平面样件机械试验提供全视野位移及应变数据软件

The VIC-2D系统是一个完全集成的解决方案&#xff0c;它基于优化的相关算法为平面试样的力学测试提供非接触、全场的二维位移和应变数据&#xff0c;可测量关注区域内的每个像素子集的面内位移&#xff0c;并通过多种张量选项计算全场应变。The VIC-2D 系统可测量超过 2000%变形…...

一周学完计算机网络之三:1、数据链路层概述

简单的概述 数据链路层是计算机网络体系结构中的第二层&#xff0c;它在物理层提供的基本服务基础上&#xff0c;负责将数据从一个节点可靠地传输到相邻节点。可以将其想象成一个负责在两个相邻的网络设备之间进行数据 “搬运” 和 “整理” 的 “快递中转站”。 几个重要概念…...

网卡网孔速率的协商是如何进行的?

网卡与交换机等网络设备之间的速率协商主要通过**自动协商&#xff08;Auto-Negotiation&#xff09;**机制实现&#xff0c;其核心是物理层&#xff08;PHY&#xff09;芯片之间的信息交互。以下是协商过程的详细解析&#xff1a; 一、自动协商的核心流程 1. 发送配置帧&am…...

单片机-STM32部分:13-1、蜂鸣器

飞书文档https://x509p6c8to.feishu.cn/wiki/V8rpwIlYIiEuXLkUljTcXWiKnSc 一、应用场景 大部分的电子产品、家电&#xff08;风扇、空调、电水壶&#xff09;都会有蜂鸣器&#xff0c;用于提示设备的工作状态 二、原理 蜂鸣器是一种将电信号转换为声音信号的器件&#xff0…...

动态IP技术赋能业务创新:解锁企业数字化转型新维度

在数字经济高速发展的今天&#xff0c;IP地址已不再是简单的网络标识符&#xff0c;而是演变为支撑企业数字化转型的核心基础设施之一。动态IP技术凭借其灵活、高效、安全的特性&#xff0c;正在重塑传统业务模式&#xff0c;催生出诸多创新应用场景。本文将深入剖析动态IP的技…...

使用Python删除PDF中多余或空白的页面

目录 为什么需要删除 PDF 中的多余或空白页面&#xff1f; 所需工具 环境准备 如何使用Python删除PDF中的多余页面 实现思路 详细实现步骤 实现代码 如何使用Python检测并删除PDF中的空白页 实现思路 详细实现步骤 实现代码 在处理 PDF 文件时&#xff0c;常常会遇到…...

英语复习笔记 1

前言 我们知道英语最重要就是单词和阅读理解&#xff0c;因为时间安排和自己懒惰的原因&#xff0c;英语复习实际上进行得非常缓慢。实际上英语复习得比较少&#xff0c;但是我想考一个高分&#xff0c;这样下去肯定是废掉了。所以从今天开始我要好好复习英语。之前有个大佬说…...

UART16550 IP core笔记二

XIN时钟 表示use external clk for baud rate选型&#xff0c;IP核会出现Xin时钟引脚 XIN输入被外部驱动&#xff0c;也就是外部时钟源&#xff0c;那么外部时钟必须要满足特定的要求&#xff0c;就是XIN 的range范围是xin<S_AXI_CLK/2,如果不满足这个条件&#xff0c;那么A…...

TDengine 在金融领域的应用

简介 金融行业正处于数据处理能力革新的关键时期。随着市场数据量的爆炸式增长和复杂性的日益加深&#xff0c;金融机构面临着寻找能够高效处理大规模、高频次以及多样化时序数据的大数据处理系统的迫切需求。这一选择将成为金融机构提高数据处理效率、优化交易响应时间、提高…...