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

Ubuntu 18.04上安装cuDNN 8.9.6.50:一站式指南

Content

  • 一、前言
  • 二、准备工作
  • 三、安装步骤
    • 1. 启用本地仓库
    • 2. 导入CUDA GPG密钥
    • 3. 更新仓库元数据
    • 4. 安装运行时库
    • 5. 安装开发者库
    • 6. 安装代码示例
    • 7. 另外一种安装办法
  • 四、验证安装
    • 1. 验证cuDNN版本
    • 2. 测试示例代码
  • 五、总结

一、前言

在深度学习领域,高效的计算资源对于模型训练和推理过程至关重要。NVIDIA CUDA Deep Neural Network library(cuDNN)作为一个GPU加速库,针对深度神经网络(DNN)的前向传播和反向传播提供高度优化的实现。通过利用NVIDIA GPU的强大计算能力,cuDNN显著加速了深度学习应用的运行速度,成为深度学习研究和开发中的重要组成部分。

cuDNN提供的高级接口标准化了在多种深度学习框架上构建GPU加速应用的过程。这意味着,无论是使用TensorFlow、PyTorch还是其他深度学习框架,cuDNN均能确保模型能够充分利用NVIDIA GPU的计算能力,实现最优性能。

本文将指导读者在Ubuntu 18.04操作系统上安装cuDNN版本8.9.6.50。通过遵循本文提供的步骤,可以顺利完成cuDNN的安装,为深度学习项目提供坚实的基础。文章旨在为深度学习研究者和开发者提供一个清晰、简洁的安装指南,帮助他们无缝开始或继续深度学习的研究与开发工作。


二、准备工作

在开始安装cuDNN 8.9.6.50之前,需要进行一些准备工作以确保安装过程顺利进行。本节将指导完成这些必要的前期准备步骤。

  1. 确保安装了NVIDIA CUDA Toolkit 11.8
    cuDNN是建立在CUDA技术之上的,因此要求系统中已安装兼容版本的CUDA Toolkit。对于cuDNN 8.9.6.50,需要安装CUDA Toolkit 11.8。可以通过以下命令在终端中检查CUDA版本:
nvcc --version

如果系统尚未安装CUDA Toolkit 11.x,可以通过访问NVIDIA官网下载安装包或使用适用于Ubuntu的包管理器进行安装。确保遵循NVIDIA提供的官方安装指南来安装CUDA Toolkit。

  1. 确认系统架构
    cuDNN和CUDA Toolkit的安装包分为不同的架构版本,如x86_64(通常称为amd64)、arm64等。本文档以amd64架构为例,这是目前最常见的个人电脑和服务器架构之一。可以通过执行以下命令来确认您的系统架构:
uname -m

如果输出是x86_64,则表示系统是amd64架构。这是安装适用于大多数现代个人电脑和服务器的cuDNN版本的前提。
完成上述两项准备工作后,即可继续进行cuDNN的安装过程。这些步骤确保了安装环境的正确配置,为cuDNN的顺利安装打下了坚实的基础。


三、安装步骤

进行cuDNN安装之前,确保已完成准备工作,包括确认系统已安装NVIDIA CUDA Toolkit 11.8并且系统架构为amd64。以下是cuDNN 8.9.6.50安装过程的详细步骤。

1. 启用本地仓库

首先,需要将cuDNN的本地仓库包安装到系统中。这可以通过dpkg命令完成。假定cuDNN的.deb安装包已下载到本地,并位于当前目录下:

sudo dpkg -i cudnn-local-repo-ubuntu1804-8.9.6.50_1.0-1_amd64.deb

此命令将安装本地仓库,使得通过APT包管理器安装cuDNN相关包成为可能。

2. 导入CUDA GPG密钥

为确保安装包的安全性,接下来需要导入CUDA GPG密钥到系统的密钥环中。这一步骤确认了包的真实性和完整性:

sudo cp /var/cudnn-local-repo-ubuntu1804-8.9.6.50/cudnn-local-A48BB858-keyring.gpg /usr/share/keyrings/

通过导入GPG密钥,系统能够验证从本地仓库安装的软件包是经过NVIDIA官方签名的。

3. 更新仓库元数据

安装本地仓库包并导入GPG密钥后,需要更新APT的仓库元数据,以确保APT能够识别新添加的仓库:

sudo apt update

此命令刷新APT的包列表,准备安装新的软件包。

4. 安装运行时库

接下来,安装cuDNN的运行时库。这是运行基于cuDNN开发的应用程序所必需的:

sudo apt install libcudnn8

如果需要安装特定版本的cuDNN运行时库,可以指定版本号:

sudo apt install libcudnn8=8.9.6.50+cuda11.8

5. 安装开发者库

为了开发基于cuDNN的应用,还需要安装开发者库:

sudo apt install libcudnn8-dev

同样,指定版本号安装也是可能的:

sudo apt install libcudnn8-dev=8.9.6.50+cuda11.8

安装开发者库后,开发者可以在自己的应用程序中直接使用cuDNN API进行深度学习模型的开发和优化。

6. 安装代码示例

最后,安装cuDNN代码示例可以帮助开发者快速了解如何使用cuDNN API:

sudo apt install libcudnn8-samples

示例代码位于/usr/src/cudnn_samples_v8目录下,通过编译和运行这些示例,开发者可以验证cuDNN安装是否成功,同时学习如何在自己的应用中使用cuDNN。

以上步骤完成了cuDNN 8.9.6.50在Ubuntu 18.04系统上的安装过程,为深度学习项目的开发提供了强大的工具和库。

7. 另外一种安装办法

在启用本地仓库并导入CUDA GPG密钥后,在/var/cudnn-local-repo-ubuntu1804-8.9.6.50有上面三个的deb安装文件,直接通过sudo dpkg -i安装即可。


四、验证安装

安装完成后,验证cuDNN是否正确安装至关重要。以下步骤将帮助确认cuDNN库已成功安装并且能够在系统上正常工作。

1. 验证cuDNN版本

首先,可以通过查询已安装的libcudnn8包来验证cuDNN的版本。在终端中执行以下命令:

apt show libcudnn8

此命令将显示已安装的cuDNN运行时库的详细信息,包括版本号。确认显示的版本号与预期安装的cuDNN版本(8.9.6.50)相匹配。

2. 测试示例代码

cuDNN安装包中包含示例代码,可以用于验证安装。这些示例展示了cuDNN功能的基本用法,是检查cuDNN是否正确安装和配置的好方法。

编译示例代码: 首先,导航到包含cuDNN示例代码的目录。如果已安装libcudnn8-samples,示例代码通常位于/usr/src/cudnn_samples_v8/目录下。编译示例代码前,需要复制该目录到用户的家目录下,避免权限问题:

cp -r /usr/src/cudnn_samples_v8/ ~/cudnn_samples_v8
cd ~/cudnn_samples_v8/mnistCUDNN
sudo make clean && sudo make

这将编译mnistCUDNN示例,一个演示如何使用cuDNN进行数字识别的小程序。

运行示例代码: 编译成功后,运行编译好的示例程序:

./mnistCUDNN

如果cuDNN安装正确,此程序将成功运行,通常会输出识别准确率或其他成功执行的指标。

运行示例代码不仅验证了cuDNN库的安装,也展示了如何在实际应用中使用cuDNN进行深度学习计算。如果示例程序运行成功,表示cuDNN已正确安装在系统上,准备好支持深度学习应用的开发和运行。


五、总结

本文详细介绍了在Ubuntu 18.04系统上安装cuDNN 8.9.6.50版本的步骤,从准备工作到安装过程,再到验证安装的完成,每一步都旨在确保用户能够顺利完成cuDNN的安装。通过启用本地仓库、导入CUDA GPG密钥、更新仓库元数据、安装运行时库、开发者库及代码示例,用户可以为深度学习项目搭建起强大的计算基础。

验证安装过程通过编译和运行cuDNN提供的示例代码,帮助用户确认cuDNN库已成功安装并可用。这一步骤不仅确保了安装的正确性,也为用户提供了如何在实际项目中使用cuDNN的初步经验。

cuDNN是深度学习研究和应用中不可或缺的工具,能够显著提升基于NVIDIA GPU的计算效率。正确安装并配置cuDNN,对于开发高效、可靠的深度学习模型至关重要。希望本文能够为需要在Ubuntu系统上安装cuDNN的开发者提供清晰、有用的指导,帮助他们顺利开始或继续他们的深度学习项目。

相关文章:

Ubuntu 18.04上安装cuDNN 8.9.6.50:一站式指南

Content 一、前言二、准备工作三、安装步骤1. 启用本地仓库2. 导入CUDA GPG密钥3. 更新仓库元数据4. 安装运行时库5. 安装开发者库6. 安装代码示例7. 另外一种安装办法 四、验证安装1. 验证cuDNN版本2. 测试示例代码 五、总结 一、前言 在深度学习领域,高效的计算资…...

Microsoft Word 超链接

Microsoft Word 超链接 1. 取消超链接2. 自动超链接2.1. 选项2.2. 校对 -> 自动更正选项2.3. Internet 及网络路径替换为超链接 References 1. 取消超链接 Ctrl A -> Ctrl Shift F9 2. 自动超链接 2.1. 选项 2.2. 校对 -> 自动更正选项 ​​​ 2.3. Internet…...

SparkJDBC读写数据库实战

默认的操作 代码val df = spark.read.format("jdbc").option("url", "jdbc:postgresql://localhost:5432/testdb").option("user", "username").option("password", "password").option("driver&q…...

代码随想录 -- 数组

文章目录 二分查找题目描述题解 移除元素题目描述题解:暴力解法题解:双指针法 有序数组的平方题目描述题解:暴力解法题解:双指针法 长度最小的子数组题目描述题解:暴力解法题解:滑动窗口(双指针…...

【国产MCU】-CH32V307-基本定时器(BCTM)

基本定时器(BCTM) 文章目录 基本定时器(BCTM)1、基本定时器(BCTM)介绍2、基本定时器驱动API介绍3、基本定时器使用实例CH32V307的基本定时器模块包含一个16 位可自动重装的定时器(TIM6和TIM7),用于计数和在更新新事件产生中断或DMA 请求。 本文将详细介绍如何使用CH32…...

Node.js开发-fs模块

这里写目录标题 fs模块1) 文件写入2) 文件写入3) 文件移动与重命名4) 文件删除5) 文件夹操作6) 查看资源状态7) 相对路径问题8) __dirname fs模块 fs模块可以实现与硬盘的交互,例如文件的创建、删除、重命名、移动等,还有文件内容的写入、读取&#xff…...

探索Nginx:强大的开源Web服务器与反向代理

一、引言 随着互联网的飞速发展,Web服务器在现代技术架构中扮演着至关重要的角色。Nginx(发音为“engine x”)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx因其卓越的性能、稳定性和灵活性&…...

相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…...

【从Python基础到深度学习】1. Python PyCharm安装及激活

前言: 为了帮助大家快速入门机器学习-深度学习,从今天起我将用100天的时间将大学本科期间的所学所想分享给大家,和大家共同进步。【从Python基础到深度学习】系列博客中我将从python基础开始通过知识和代码实践结合的方式进行知识的分享和记…...

片上网络NoC(3)——拓扑指标

目录 一、概述 二、指标 2.1 与网络流量无关的指标 2.1.1 度(degree) 2.1.2 对分带宽(bisection bandwidth) 2.1.3 网络直径(diameter) 2.2 与网络流量相关的指标 2.2.1 跳数(hop coun…...

二叉树 ---- 所有结点数

普通二叉树的结点数: 递归法: 对二叉树进行前序or后序遍历: typedef struct Tree {int data;Tree* leftChild;Tree* rightChild; }tree,*linklist; //计算普通二叉树的结点数 int nodenums(linklist node) {if(node nullptr) return 0; …...

步步深入 k8s 使用 pv pvc sc 在 nfs 基础上共享存储

博客原文 文章目录 前言集群环境nfs 环境搭建pod 挂载 nfs架构图 pvc 方式挂载 nfs架构图 storageclass 方式动态申请 pv架构图 参考 前言 持久化卷(Persistent Volume, PV)允许用户将外部存储映射到集群,而持久化卷申请(Persist…...

Stable Diffusion 模型下载:Disney Pixar Cartoon Type A(迪士尼皮克斯动画片A类)

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十...

Modelsim10.4安装

简介(了解,可跳过) modelsim是Mentor公司开发的优秀的HDL语言仿真软件。 它能提供友好的仿真环境,采用单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化的编译技术、Tcl/Tk技术和单一内核仿真技术,编译仿真速…...

Java基于微信小程序的医院核酸检测服务系统,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...

VC++ 绘制折线学习

win32 有三个绘制折线的函数; Polyline,根据给定点数组绘制折线; PolylineTo,除了绘制也更新当前位置; PolyPolyline,绘制多条折线,第一个参数是点数组,第二个参数是一个数组、指…...

速盾:dns解析和cdn加速的区别与联系

DNS解析和CDN加速是两种不同的网络技术,但在网站访问过程中起到了相互协作的作用。 首先,DNS解析(Domain Name System)是将域名转换为IP地址的过程。当用户输入一个网址时,计算机会先向本地DNS服务器发送一个查询请求…...

C++ Qt框架开发 | 基于Qt框架开发实时成绩显示排序系统(3) 保存表格数据

对上两篇篇的工作C Qt框架开发| 基于Qt框架开发实时成绩显示排序系统(1)-CSDN博客和C Qt框架开发 | 基于Qt框架开发实时成绩显示排序系统(2)折线图显示-CSDN博客继续优化,增加一个保存按钮,用于保存成绩数据…...

ChatGPT 4:新特性与优势

ChatGPT 4:新特性与优势 一、引言 ChatGPT 4是一款备受瞩目的人工智能模型,它以其强大的语言生成能力和智能回答能力,为用户提供了更高效、更便捷的对话体验。为了能够充分享受ChatGPT 4的各项功能,本文将向您详细介绍其新特性&…...

【教程】MySQL数据库学习笔记(二)——数据类型(持续更新)

写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 【MySQL数据库学习】系列文章 第一章 《认识与环境搭建》 第二章 《数据类型》 文章目录 【MySQL数据库学习】系列文章一、整…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...

云计算——弹性云计算器(ECS)

弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

AI,如何重构理解、匹配与决策?

AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...