linux下cuda安装-ubuntu22.04安装cuda11.8(cuda+cudnn)

原文链接:linux下cuda安装-ubuntu22.04安装cuda11.8(cuda+cudnn)

导言

cuda是nvidia提供在N卡上实现并行计算的工具包,cudnn是cuda的运行时库,通过cuda提供的内核函数能够高效的在N卡上跑密集计算程序。
本文在N卡机器上安装好了相应的驱动后,提供安装cuda和cudnn的详细步骤,并运行官方示例程序验证。

Nvidia驱动安装参考链接:linux下nvidia驱动安装-ubuntu22.04安装2060-notebook驱动

cuda下载和安装

在官网找到对应环境的cuda(本文使用linux-x64-ubuntu22.04-runfile),最好使用run脚本本地安装,以保证稳定性。

#wget下载,不同环境的run文件不同
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
#执行安装,同意协议
sudo sh cuda_11.8.0_520.61.05_linux.run #注意选项中要取消nvidia-driver选择,因为驱动已经安装了

最好不要使用该脚本中的驱动安装方法,驱动、cuda和cudann的安装可能会存在冲突。本文中ubuntu默认gcc11.4,安装550以上的驱动要求gcc12.3.0,但是安装cuda11.8时又要求gcc11.4。
cuda默认安装在了/usr/local/cuda-11.8/bin

#添加cuda到用户环境
export PATH=$PATH:/usr/local/cuda-11.8/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64

cudnn下载安装

官方引导安装方法
在cudnn中先找到找到对应版本下载

可以在兼容列表中查看cudnn、cuda、驱动的兼容性

sudo apt-get install zlib1g #安装依赖
sudo dpkg -i cudnn-local-repo-ubuntu2204-8.9.7.29_1.0-1_amd64.deb #安装cudnn
sudo cp /var/cudnn-local-repo-ubuntu2204-8.9.7.29/cudnn-local-8AE81B24-keyring.gpg /usr/share/keyrings/ #添加共享钥匙,版本8.9.7.29不一定相同
sudo apt-get update

查看安装位置信息

dpkg-query -L cudnn-local-repo-ubuntu2204-8.9.7.29

安装deb后会在/var/cudnn文件夹可以看到3个deb:libcudnn,dev,samples,将其都安装完成,其中samples就是官方提供的示例程序

cd /var/cudnn-local-repo-ubuntu2204-8.9.7.29/
sudo dpkg -i libcudnn8_8.9.7.29-1+cuda11.8_amd64.deb  libcudnn8-dev_8.9.7.29-1+cuda11.8_amd64.deb libcudnn8-samples_8.9.7.29-1+cuda11.8_amd64.deb

还需要安装 freeimage用于模块测试

sudo apt-get install -y libfreeimage3 libfreeimage-dev

cudnn测试

将/usr/src/cudnn-samples-v8复制到任意工作文件夹中,进入cudnn_samples_v8/mnistCUDNN,执行

cd cudnn_samples_v8/mnistCUDNN 
make clean& make #确保编译无错
./mnistCUDNN 

本文测试时出现了gcc12.3.0版本过高的错误,降回11.4.0后测试通过

卸载

#cuda:
执行 cuda-uninstaller 在 /usr/local/cuda-11.8/bin 中#cudnn: 
检查
sudo dpkg -l | grep cudnn
卸载并删除gpg钥匙
sudo dpkg -r cudnn-local-repo-ubuntu2204-8.9.7.29 & sudo rm -r /usr/share/keyrings/cudnn-local-repo-ubuntu2204-8.9.7.29/cudnn-local-8AE81B24-keyring.gpg
sudo apt-get purge cudnn-local-repo-ubuntu2204-8.9.7.29

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

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

相关文章

Building wheels for collected packages: mmcv, mmcv-full 卡住

安装 anime-face-detector 的时候遇到一个问题:Installation takes forever #1386:在构建mmcv-full时卡住,这里分享下解决方法(安装 mmcv 同理,将下面命令中的 mmcv-full 替换成 mmcv) 具体表现如下&#x…

学习笔记——交通安全分析06

目录 前言 当天学习笔记整理 交通行为、心理与安全 结束语 前言 #随着上一轮SPSS学习完成之后,本人又开始了新教材《交通安全分析》的学习 #整理过程不易,喜欢UP就点个免费的关注趴 #本期内容接上一期05笔记 当天学习笔记整理 交通行为、心理与…

基于Java技术的家乡特色推荐系统

开头语:你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:Java 数据库:MySQL 技术:Java技术,SpringBoot框架 工具:Eclipse,Navi…

强大的多数据库客户端工具:DataGrip【送源码】

今天给大家带来的工具是:DataGrip 介绍 DataGrip是jetbrains开发的一款关系数据库和 NoSQL 数据库的多数据库客户端工具,可以30天免费试用,后续使用需要购买。 DataGrip还是一款强大的跨平台工具,支持多种操作系统,比…

这个方法在Arcmap10.8里打得开adf文件

ArcMap如何打开.adf图层文件并将其文件转换为shp文件_adf文件怎么在arcmap里打开-CSDN博客像adf和它的info应该放在C盘,然后路径命名应该符合要求。 adf科普:ArcMap如何打开.adf图层文件并将其文件转换为shp文件_adf文件怎么在arcmap里打开-CSDN博客

鸿蒙开发组件:【DataAbility的生命周期】

DataAbility的生命周期 应用开发者可以根据业务场景实现data.js/data.ets中的生命周期相关接口。DataAbility生命周期接口说明见下表。 表1 DataAbility相关生命周期API功能介绍 接口名描述onInitialized?(info: AbilityInfo): void在Ability初始化调用,通过此回…

优化Java代码中的多层if...else结构

在软件开发中,尤其是处理各种逻辑判断时,多层嵌套的if...else语句几乎是无法避免的。然而,随着业务逻辑的复杂度增加,过度使用if...else会导致代码难以阅读、维护困难且容易出错。本文将探讨几种有效的方法来优化Java代码中的这类…

英伟达市值飙升,超越苹果微软并超过英国股市总市值

原标题:英伟达超越苹果微软市值,成为全球市值最高的企业 易采游戏网6月19日消息:近日,美国科技巨头英伟达市值的迅速增长引起了市场广泛关注。据最新数据显示,截至本周二收盘,英伟达的市场资本化已达到3.34…

基于Redis提高查询性能(保持数据一致性)

Redis实战篇 | Kyles Blog (cyborg2077.github.io) 目录 背景 商户查询缓存(根据ID查询) 根据店铺类型查询(List型) 缓存更新策略(保证数据一致性) 案例(利用缓存更新策略) 背景 起初客户端…

【pytorch01】简单回归问题

1.梯度下降(Gradient Descent) y x 2 ∗ s i n ( x ) yx^{2}*sin(x) yx2∗sin(x) y ′ 2 ∗ x ∗ s i n ( x ) x 2 ∗ c o s ( x ) y2*x*sin(x) x^{2}*cos(x) y′2∗x∗sin(x)x2∗cos(x) 求最小值要求导 梯度下降定义:梯度下降要迭代计…

互联网广告相关概念

互联网广告概念涉及多个关键指标和定价模式,它们帮助广告主和广告平台衡量广告效果、优化广告投放策略,并计算广告成本。以下是互联网广告中一些核心概念的简要概述: 1.ROI (投资回报率) 衡量广告投资的效益,计算公式为&#xff…

【决战欧洲杯巅峰】AI模型预测[走地数据]初步准备工作

数据准备 首先,我们需要收集一些与欧洲杯比赛相关的历史数据。这些数据可能包括球队的历史战绩、球员的能力评分、比赛场地信息、历史交锋记录等。这些数据可以从公开来源获取,并进行适当的预处理和清洗。 特征提取 接下来,我们需要从收集…

vue3+ts+vite集成eslint

项目中安装eslint yarn add eslint -Deslint初始化 npx eslint --init按照下方操作即可 安装typescript-eslint/parser yarn add typescript-eslint/parser -D安装vite-plugin-eslint2 yarn add vite-plugin-eslint2 -D配置vite-plugin-eslint2 // vite.config.ts import …

Flask新手入门(一)

前言 Flask是一个用Python编写的轻量级Web应用框架。它最初由Armin Ronacher作为Werkzeug的一个子项目在2010年开发出来。Werkzeug是一个综合工具包,提供了各种用于Web应用开发的工具和函数。自发布以来,Flask因其简洁和灵活性而迅速受到开发者的欢迎。…

【计算机网络仿真实验-实验2.7】单臂路由

实验2.7 单臂路由 1. 实验拓扑图 2. 测试连通性 测试PC1 PC2 PC3 之间的连通性 无法ping通,因为它们处在不同的网段,而二层交换机不具备路由功能,因此没办法接通 3. 在交换机上创建vlan10,并将端口0/2划分到vlan10中 Switch>…

Java并发编程深度解析:构建高并发应用的实践与探究

摘要:随着互联网技术的飞速发展,大型分布式系统对并发处理能力的要求越来越高。Java作为企业级应用的主流开发语言,在并发编程方面有着深厚的积累和强大的生态支持。本文将深入探讨Java并发编程的基础知识,高级技巧,以…

JavaScript 函数与事件

1. JavaScript自定义函数 语法: function 函数名(参数列表){ 方法体; } 在函数被调用时,一个 arguments 对象就会被创建,它只能使用在函数体中,以数组的形式来管理函数的实际…

HTML基本标签使用【超链接标签、表格标签、表单标签、input标签】

目录 一、基本介绍1.1 概念1.2 HTML的核心特点 二、HTML基本标签三、超链接标签四、表格标签✌<table> 标签属性✍<tr> 标签属性✌ <td> 和 <th> 标签属性演示注意事项 五、表单标签综合应用 最后 一、基本介绍 1.1 概念 HTML&#xff0c;全称为超文…

小阿轩yx-Nginx Rewrite

小阿轩yx-Nginx Rewrite Nginx Rewrite 概述 现在 Nginx 已经成为很多公司作为前端反向代理服务器的首选 实际工作中会遇到很多跳转(重写 URL)的需求 更换域名后需要保持旧的域名能跳转到新的域名上某网页发生改变需要跳转到新的页面网站防盗链等等需求 后端使用的Nginx 服…

SpringBoot集成slf4j日志配置

目录 前言 1、slf4j概述 2、pom.xml的日志依赖 3、application.yml的日志配置 4、logback.xml配置文件定义 5、logback.xml配置文件解析 5.1 定义日志的存储路径 5.2 定义日志的输出格式 5.3 定义控制台输出 5.4 定义日志相关参数 5.5 定义日志的输出级别 6、测试日…