【环境搭建】(六)Ubuntu22.04安装cuda_11.8.0+cudnn_8.6.0

【环境搭建】(六)Ubuntu22.04安装cuda_11.8.0+cudnn_8.6.0

设备配置:

电脑系统:

Ubuntu22.04.4 LTS(桌面版)

显卡:

RTX2060s (8G)

内存:

32G

一、安装GCC

安装cuda之前,首先应该安装GCC,安装cuda需要用到GCC,否则报错。可以先使用下方指令在终端查看是否已经安装GCC。

gcc --version

如果终端打印如下则说明已经安装。

如果显示“找不到命令 “gcc”......”使用下方指令安装

sudo apt-get update sudo apt-get install gcc

二、安装cuda11.8.0

step1:查看显卡驱动支持cuda最高版本

安装cuda之前首先需要查看系统显卡驱动所支持的最高cuda版本,在终端使用如下之指令就可以查看。

nvidia-smi

终端打印如下,就可以看到当前显卡驱动支持的最高版本的cuda。

step2:下载cuda

cuda下载连接地址:CUDA Toolkit Archive | NVIDIA Developerhttps://developer.nvidia.com/cuda-toolkit-archive

打开界面如下:

点击CUDA Toolkit 11.8.0窗口跳转至如下界面,选择自己的系统属性固定版本,此处本人系统是Ubuntu22.04.4 LTS选择如下:

如上图所示在终端使用下方指令进行下载:

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run

step3:安装cuda

下载完成使用下方指令安装:

sudo sh cuda_11.8.0_520.61.05_linux.run

弹出窗口按<上下键>选择“continue”,按键盘<回车键>,弹出窗口输入“accept”,按键盘<回车键>,弹出窗口使用<上下键>和<空格键>选择和取消选择,最后选择“install”点击键盘<回车键>,进行安装,如下图:

安装好弹出如下图:

step4:设置cuda环境变量

设置cuda环境变量,首先使用如下指令打开bashrc:

sudo gedit ~/.bashrc

打开的文档里最后添加下方两行代码:

export PATH=$PATH:/usr/local/cuda-11.8/binexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64

保存关闭后,终端使用下方指令更新环境变量:

source ~/.bashrc

step5:验证cuda是否安装成功

使用下方指令验证cuda是否安装成功:

nvcc -V

打印如下即安装成功:

三、安装cuDNN 8.6.0

 cuDNN下载连接地址:cuDNN Archive | NVIDIA Developerhttps://developer.nvidia.com/rdp/cudnn-archive

step1:下载cuDNN 8.6.0

打开网站,按照自己cuda的版本和ubuntu系统版本找到相应的cuDNN,此处博主选择如下:

点击下载,下载需要登陆NVIDIA的账号,没有的可以注册一个,注册是免费的。

step2:安装cuDNN 8.6.0

下载好的文件一般默认在“下载”目录下。因此安装前先进入下载目录下:

cd /home/ub/下载/

使用下方指令运行cudnn-local-repo-ubuntu2204-8.6.0.163_1.0-1_amd64.deb文件:

sudo dpkg -i cudnn-local-repo-ubuntu2204-8.6.0.163_1.0-1_amd64.deb

终端打印如下:

step3:根据提示拷贝密钥

在上方终端打印的指令提出需要使用下方指令拷贝密钥,你们可以根据自己安装打印的指令信息去拷贝,(不懂得把上面打印的翻译一下我的是这样的)

sudo cp /var/cudnn-local-repo-ubuntu2204-8.6.0.163/cudnn-local-FAED14DD-keyring.gpg /usr/share/keyrings/

step4:重点!重点!重点!

大部分人在这一部就找不到libcudnn8、libcudnn8-dev、libcudnn8-samples文件,导致无法安装成功,此处如果是安装在默认路径,可以cd至/var/cudnn-local-repo-ubuntu2204-8.9.0.131/目录下查看文件:

cd /var/cudnn-local-repo-ubuntu2204-8.6.0.163/

在该目录下就会看见这三个文件,使用下方指令分别进行安装:

sudo dpkg -i libcudnn8_8.6.0.163-1+cuda11.8_amd64.deb sudo dpkg -i libcudnn8-dev_8.6.0.163-1+cuda11.8_amd64.deb sudo dpkg -i libcudnn8-samples_8.6.0.163-1+cuda11.8_amd64.deb

终端打印如下:

step5:查看cuDNN安装结果:

cat /usr/include/x86_64-linux-gnu/cudnn_version_v8.h | grep CUDNN_MAJOR -A 2

打印版本号,安装成功了。

至此安装完成。

欢迎在这里评论、沟通、指正。

创作不易,引用请附原文链接。。。。。。

Read more

【Vue3】前端Vue3最常用的 20 道面试题总结(含详细代码解析)

【Vue3】前端Vue3最常用的 20 道面试题总结(含详细代码解析)

以下是老曹关于 Vue 3 最常用的 20 道面试题总结,涵盖 Vue 3 的核心特性如 Composition API、响应式系统(ref / reactive)、生命周期钩子、组件通信、Teleport、Suspense、自定义指令等高频知识点。每道题都配有详细解释和代码示例,适合用于前端开发岗位的 Vue 3 技术面试准备,大家可以码住随时翻出来查阅背诵和练习! 1. Vue 3 和 Vue 2 的区别是什么? 问题: 解释 Vue 3 相比 Vue 2 的主要改进点。(最主要,不是全部,全部后续老曹会再扩展) 答案: 特性Vue 2Vue 3响应式系统Object.definePropertyProxy架构单一源码模块化架构(Tree-shakable)

By Ne0inhk
一文搞懂Webhook:原理、实操与Langflow落地场景

一文搞懂Webhook:原理、实操与Langflow落地场景

Webhook作为现代系统集成的核心轻量通信机制,以“事件驱动”模式实现跨应用实时数据同步,解决了传统API轮询效率低、资源浪费的痛点。本文从定义、工作原理、核心优势、安全实践四个维度拆解Webhook,重点讲解Langflow产品中Webhook组件的实用操作,并结合企业协作、供应链管理、客户服务等实际场景,展示其如何快速实现无代码/低代码的自动化工作流,帮助开发者与业务人员高效落地跨系统联动需求。 一、什么是Webhook?核心认知拆解 简单来说,Webhook是一种基于HTTP回调的被动式通信机制,本质是“事件触发+自动推送”的桥梁——当系统A发生特定事件(如订单支付、代码提交、消息发送)时,会主动向系统B预先配置的URL(回调地址)发送请求,将事件数据实时推送至系统B,无需系统B主动查询(即轮询)。 类比生活场景:传统API轮询像你反复刷新快递物流页面查进度,而Webhook像快递员送货上门时主动打电话通知你,高效且无需额外操作。其核心价值在于“实时性”与“低资源消耗”,这也是它被广泛应用于现代应用集成的关键原因。 1.1 核心工作流程(4步闭环)

By Ne0inhk
Flutter 三方库 shelf_web_socket 的鸿蒙化适配指南 - 实现具备高性能全双工长连接与协议协商能力的端侧服务端架构、支持分布式实时信令与多端协同实战

Flutter 三方库 shelf_web_socket 的鸿蒙化适配指南 - 实现具备高性能全双工长连接与协议协商能力的端侧服务端架构、支持分布式实时信令与多端协同实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 shelf_web_socket 的鸿蒙化适配指南 - 实现具备高性能全双工长连接与协议协商能力的端侧服务端架构、支持分布式实时信令与多端协同实战 前言 在进行 Flutter for OpenHarmony 开发时,当我们的鸿蒙应用需要充当“控制中心”角色(如控制智能家居、开启本地调试服务或实现 P2P 实时对抗脚本时),如何在端侧直接拉起一个支持 WebSocket 协议的高性能微服务端?shelf_web_socket 是针对 shelf 后端框架封装的一款官方级 WebSocket 处理器。本文将探讨如何在鸿蒙端构建极致、透明的长连接交互引擎。 一、原直观解析 / 概念介绍 1.1 基础原理 该库本质上是一个 shelf 处理函数(Handler)

By Ne0inhk

web前端JS—基本语法

一、引入方式 1、内部脚本:将代码定义在HTML页面里面 * 将JS定义在<script></script>之间 * 可以在html里面的任意位置放置任意数量的<script></script> * 一般放置在<body>元素的底部,改善显示速度 <script> console.log('页面加载时执行'); function localFunction() { return '内部函数'; } </script> 2、外部脚本:额外定义一个.js文件,引入到HTML里面 * 只能包含js文件,不包含&

By Ne0inhk