在 Windows 11 下的 WSL - Ubuntu 24.04 中安装 CUDA 的记录
#记录工作
以下是基于CUDA官网给定命令在 Windows 11 下的 WSL - Ubuntu 24.04 中安装 CUDA 的记录:
一、准备工作
确保你的 Windows 11 系统已经成功启用 WSL 功能,并且已经安装了 Ubuntu 24.04 操作系统。同时,确保系统处于联网状态,以便能够顺利下载所需文件。
二、下载和安装 CUDA
- 下载 pin 文件
在 Ubuntu 24.04 终端中,输入以下命令:
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
这条命令会从 NVIDIA 官方服务器下载一个用于设置 CUDA 软件包优先级的 pin 文件。
- 移动 pin 文件到指定目录
接着执行:
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
此命令将下载的 pin 文件移动到 /etc/apt/preferences.d/
目录下,并命名为 cuda-repository-pin-600
,用于后续的软件包管理操作。
- 下载 CUDA 安装包
输入:
wget https://developer.download.nvidia.com/compute/cuda/12.6.3/local_installers/cuda-repo-wsl-ubuntu-12-6-local_12.6.3-1_amd64.deb
这会下载 CUDA 12.6.3 的本地安装包,版本号可能会根据实际情况有所不同,请根据官方网站提供的最新版本进行下载。
- 安装 CUDA 安装包
执行:
sudo dpkg -i cuda-repo-wsl-ubuntu-12-6-local_12.6.3-1_amd64.deb
此命令会安装之前下载的 CUDA 安装包,安装过程中可能会提示输入管理员密码进行权限验证。
- 复制密钥文件
输入:
sudo cp /var/cuda-repo-wsl-ubuntu-12-6-local/cuda-*-keyring.gpg /usr/share/keyrings/
这一步是将 CUDA 软件包的密钥文件复制到系统的共享密钥目录中,以确保软件包的完整性和安全性。
- 更新软件包列表
执行:
sudo apt-get update
此命令会更新系统的软件包列表,以便能够安装最新的 CUDA 相关软件包。
- 安装 CUDA 工具包
最后输入:
sudo apt-get -y install cuda-toolkit-12-6
这将安装 CUDA 工具包,-y
参数表示自动确认安装过程中的所有提示信息,安装过程可能会需要一些时间,请耐心等待。
三、验证安装
安装完成后,在终端中输入以下命令来验证 CUDA 是否安装成功:
nvcc -V
如果能够正确显示 CUDA 的版本信息,例如:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-20XX NVIDIA Corporation
Built on some_date
Cuda compilation tools, release XX.YY, VXX.YY.ZZ
则说明 CUDA 已经成功安装在 WSL - Ubuntu 24.04 环境中。
如果版本号和期望安装的不一致,不用太介意,因为安装过程中会适配安装。
在安装Anaconda和cuDNN还有torch后,可用以下命令在python3中统一验证安装:
import torch
print(torch.__version__)
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print("CUDA 可用:", torch.cuda.is_available())
print("cuDNN 已启用:", torch.backends.cudnn.enabled)
print(torch.__version__)
x = torch.rand(5, 3)
y = torch.rand(5, 3)
z = x + y
print(z)
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print(device)
print("CUDA available:", torch.cuda.is_available())
print("cuDNN enabled:", torch.backends.cudnn.enabled)
print(torch.version.cuda)
print(torch.backends.cudnn.version())
结果如下:
按照以上步骤,你就可以在 Windows 11 下的 WSL - Ubuntu 24.04 中顺利安装 CUDA 了。如果在安装过程中遇到任何问题,请仔细查看命令的输出信息,并参考 NVIDIA 官方文档或相关技术论坛寻求帮助。欢迎讨论。
相关文章:
在 Windows 11 下的 WSL - Ubuntu 24.04 中安装 CUDA 的记录
#记录工作 以下是基于CUDA官网给定命令在 Windows 11 下的 WSL - Ubuntu 24.04 中安装 CUDA 的记录: 一、准备工作 确保你的 Windows 11 系统已经成功启用 WSL 功能,并且已经安装了 Ubuntu 24.04 操作系统。同时,确保系统处于联网状态&#…...
Qt 12.28 day3
作业: 1】 思维导图 2】 在登录界面的登录取消按钮进行以下设置: 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&a…...
AISuite:提供了统一的跨 LLM API的开源 Python 库
1. 简介: AISuite是一个开源的Python库,旨在提供一个统一的接口来调用不同的大型语言模型(LLM)API。这个工具由吴恩达(Andrew Ng)领导开发,目的是简化AI模型的调用过程,使得开发者能…...
springMVC-请求响应
springmvc——一 站式web框架,核心是处理http请求响应。 前后端分离:需要序列化,服务端把数据序列化成字符串或者流给前端,前端又把json转成对象,前端的叫反序列化。前端把数据序列化转成字符串给服务器,服…...
【代码分析】Unet-Pytorch
1:unet_parts.py 主要包含: 【1】double conv,双层卷积 【2】down,下采样 【3】up,上采样 【4】out conv,输出卷积 """ Parts of the U-Net model """import torch im…...
uni-app开发-识图小程序-个人中心页面
目录 一:功能描述 二:代码实现 一:功能描述 个人中心中心主要包含用户登录信息,退出登录,图像识别记录,分类识别记录,分享记录以及小程序介绍信息。用户登录状态下可以看到图形识别记录,分类识别记录和分享记录,未登录状态只能看到介绍信息,点击未登录文字会触发…...
C++小游戏
【欢迎关注编码小哥,学习更多实用的编程方法和技巧】 设计一个桌面游戏是一个有趣且富有挑战性的项目。下面是一个简单的C桌面游戏的设计思路和示例代码。我们将创建一个简单的“猜数字”游戏,玩家需要在有限的尝试次数内猜测一个随机生成的数字。 游戏…...
Flutter封装一个三方ViewPager学习
Flutter如何实现一个增强的 PageView,支持自定义页面切换动画。 前置知识点学习 CrossAxisAlignment CrossAxisAlignment 是 Flutter 中用于控制布局子组件在交叉轴(cross axis)方向上的对齐方式的一个枚举类。它主要在 Flex 布局模型中使…...
【算法】复杂性理论初步
六、算法复杂性初步 重要的复杂性类 P P P 的定义 多项式时间内可解的问题 若 L ∈ P L∈P L∈P,则存在确定性多项式时间的图灵机 M M M,使得 M ( x ) 1 ⟺ x ∈ L M(x)1⟺x∈L M(x)1⟺x∈L N P NP NP 的定义 多项式时间内可验证验证解的正确性 &…...
vscode实用插件(持续更新)
目录 Git History Diff Git Graph Error Lens Git History Diff 用于将当前分支的某个文件夹与远程分支的相同文件夹做对比,方便代码评审!解决了为了一个问题而多次commit,导致代码不好评审,即不晓得和远程分支相比࿰…...
使用Lodash工具库的orderby和sortby进行排序的区别
简介 _.orderBy 和 _.sortBy 是 Lodash 库中用于排序数组的两个函数。 区别 _.orderBy 允许你指定一个或多个属性来排序,并为每个属性指定排序方向(升序或降序)。默认所有值为升序排,指定为"desc" 降序,…...
胡闹厨房练习(三)
ScriptableObject 一、初步了解 1、实质:是一种特殊类型的Unity对象, 2、作用:用于存储大量数据,而不必依附于游戏场景中的某个GameObject。 3、特点: 可以在不增加场景中对象数量的情况下,管理和存储复杂的数据结构、配置信息、游戏状态等。 4、适用:非常适合用来…...
Postman接口测试01|接口测试基础概念、http协议、RESTful风格、接口文档
目录 一、接口测试基础概念 1、什么是接口 2、接口的类型 3、什么是接口测试 4、为什么要做接口测试 5、接口测试的实现方式 6、什么是自动化接口测试? 二、接口返回的数据格式 1、三种格式 2、Json 三、接口协议 1、webservice协议 2、dubbo协议 3、…...
算法进阶:贪心算法
贪心算法是一种简单而直观的算法思想,它在每一步选择中都采取在当前状态下最优的选择,以期望最终得到全局最优解。贪心算法通常适用于一些具有最优子结构的问题,即问题的最优解可以通过一系列局部最优解的选择得到。 贪心算法的基本思路是&a…...
深度学习笔记(6)——循环神经网络RNN
循环神经网络 RNN 核心思想:RNN内部有一个“内部状态”,随着序列处理而更新 h t f W ( h t − 1 , x t ) h_tf_W(h_{t-1},x_t) htfW(ht−1,xt) 一般来说 h t t a n h ( W h h h t − 1 W x h x t ) h_ttanh(W_{hh}h_{t-1}W_{xh}x_t) httanh(Whhht−1Wxhxt…...
电商项目高级篇07-redisson分布式锁
redisson分布式锁 1、引入maven依赖2、config类3、可重入锁设计 1、引入maven依赖 <!--引入redisson--><dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.12.0</version></depend…...
STM32中断详解
STM32中断详解 NVIC 中断系统中断向量表相关寄存器中断优先级中断配置 外部中断实验EXTI框图外部中断/事件线映射中断步骤初始化代码实现 定时器中断通用定时器相关功能标号1:时钟源标号 2:控制器标号 3:时基单元 代码实现 NVIC 中断系统 STM…...
KNN分类算法 HNUST【数据分析技术】(2025)
1.理论知识 KNN(K-Nearest Neighbor)算法是机器学习算法中最基础、最简单的算法之一。它既能用于分类,也能用于回归。KNN通过测量不同特征值之间的距离来进行分类。 KNN算法的思想: 对于任意n维输入向量,分别对应于特征…...
【Win11】安装 VMware17 和 Ubuntu
【Win11】安装 VMware17 和 Ubuntu 15 版本和 Win11 家庭版间的兼容应该有 BUG,请直接跳至【VMware 17】 安装【VMware 15】 本来是按如下资源链接安装的,但发现 15 版本和 Win11 家庭版间的兼容应该有 BUG,在安装并关闭 Hyper-Vÿ…...
Jmeter快速入门
目录 1.安装Jmeter 1.1.下载 1.2.解压 1.3.运行 2.快速入门 2.1.设置中文语言 2.2.基本用法 1.安装Jmeter Jmeter依赖于JDK,所以必须确保当前计算机上已经安装了JDK,并且配置了环境变量。 1.1.下载 可以Apache Jmeter官网下载,地址…...
Android Studio2024版本安装环境SDK、Gradle配置
一、软件版本,安装包附上 👉android-studio-2024.1.2.12-windows.exe👈 👉百度网盘Android Studio安装包👈 (若下载连链接失效可去百度网盘链接下载) 二、软件安装过程 三、准备运行…...
嵌入式单片机窗口看门狗控制与实现
窗口看门狗 注意:WWDG外设没有独立的时钟源,而是挂载在APB1总线下,APB1总线外设时钟为42MHZ。 了解WWDG外设的使用流程,可以参考stm32f4xx_wwdg.c的开头注释,具体流程如下图所示...
[单master节点k8s部署]43.全链路监控(二)
部署pinpoint服务端 这里安装的是pinpoint-docker,可以从GitHub - pinpoint-apm/pinpoint-docker: Officix 下载。通过readme可以看到,该项目提供的镜像: Pinpoint-Web ServerPinpoint-CollectorPinpoint-AgentPinpoint-FlinkPinpoint-Hba…...
Apache Doris 创始人:何为“现代化”的数据仓库?
在 12 月 14 日的 Doris Summit Asia 2024 上,Apache Doris 创始人 & PMC 成员马如悦在开场演讲中,围绕“现代化数据仓库”这一主题,指出 3.0 版本是 Apache Doris 研发路程中的重要里程碑,他将这一进展总结为“实时之路”、“…...
json的作用?
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,具有简洁、易读、易于解析和生成等特点,在前后端数据交互、配置文件、数据存储等多个领域发挥着重要作用,以下是具体介绍: JSON 的作用 数据…...
ChatGPT是如何生成长文的
说实话,现在我们对chatGPT的最深的印象就是他是一个各方面知识都比较全面的机器助手,我们的问题他都能生成答案,不过大家发现没有,它生成相对应的长文的时候,都是一个词一个词蹦出来的,有的时候是一个个词组…...
微服务——部署与运维
1、你是否有将 Java 微服务部署到容器(如 Docker)中的经验?请描述一下部署过程和相关注意事项。 部署过程: 编写 Dockerfile,定义基础镜像(如 openjdk)、应用 JAR 包路径和启动命令。构建镜像…...
json笔记
1、json的组成 JSON是一个标记符序列。这套标记符包括:构造字符、字符串、数字和字面值(false, true, null)。 1.1 构造字符 六个构造字符: 左方括号 [ 右方括号 ] 左大括号 { 右大括号 } 冒号 : 逗号 , 1.2 JSON值 json值包括:对象…...
从0入门自主空中机器人-1【课程介绍】
关于本课程: 本次课程是一套面向对自主空中机器人感兴趣的学生、爱好者、相关从业人员的免费课程,包含了从硬件组装、机载电脑环境设置、代码部署、实机实验等全套详细流程,带你从0开始,组装属于自己的自主无人机,并让…...
C++ 设计模式
代码示例 从封装变化角度分类 1.组件协作 现代软件专业分工之后的第一个结果“框架与应用程序的划分” ,“组件协作”模式通过晚期绑定,来实现框架与应用程序之间的松耦合,是二者之间协作时常用的模式。 模板方法(Template Me…...
最新版Edge浏览器加载ActiveX控件技术——alWebPlugin中间件V2.0.28-迎春版发布
allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品,致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器,实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefo…...
HarmonyOS NEXT应用开发实战:免费练手的网络API接口分享
学习一项技能,最好也最快的办法就是直接动手实战。在实战中不断的总结经验和收获成就感。这里分享些好用且免费的网络API练手接口,这对于想要提升自己网络开发能力的开发者来说,无疑是极大的福音。今天,我将详细介绍一个API接口集…...
高级技巧-使用Mysql 实现根据条件过滤整个分组数据
博客-mysql exists实现过滤所属条件对应分组的全部数据 在数据查询中,有时需要根据某一条件来过滤整个分组的数据,尤其是当某条记录满足特定条件时,需要将该组内的所有记录排除。本文将介绍如何使用 MySQL 的 EXISTS 关键字来实现这种分组过滤…...
LeetCode 9. 回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数 是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,…...
园区网综合拓扑实验
一、实验要求 实验拓扑图如上图所示 1、按照图示的VLAN及IP地址需求,完成相关配置 2、要求SW1为VLAN 2/3的主根及主网关 SW2为vlan 20/30的主根及主网关 SW1和SW2互为备份 3、可以使用super vlan(本实验未使用) 4、上层…...
Flink状态编程
Flink处理机制的核心就是“有状态的流处理”,在某些情况下,一条数据的计算不仅要基于当前数据自身,还需要依赖数据流中的一些其他数据。这些在一个任务中,用来辅助计算的数据我们就称之为这个任务的状态。 一、按键分区状态&…...
Ajax数据爬取
有时我们用requests 抓取页面得到的结果,可能和在浏览器中看到的不一样:在浏览器中可以看到正常显示的页面数据,而使用requests 得到的结果中并没有这些数据。这是因为 requests 获取的都是原始 HTML 文档,而浏览器中的页面是JavaScript 处理…...
MVCC实现原理以及解决脏读、不可重复读、幻读问题
MVCC实现原理以及解决脏读、不可重复读、幻读问题 MVCC是什么?有什么作用?MVCC的实现原理行隐藏的字段undo log日志版本链Read View MVCC在RC下避免脏读MVCC在RC造成不可重复读、丢失修改MVCC在RR下解决不可重复读问题RR下仍然存在幻读的问题 MVCC是什么…...
PilotGo
title: 解锁 PilotGo:智能化运维的得力助手 date: ‘2024-12-29’ category: blog tags: PilotGo运维管理智能化工具技术应用 sig: ops archives: ‘2024-12’ author:way_back summary: PilotGo 作为一款创新的运维管理工具,凭借其智能化的特性和丰富的…...
【后端】LNMP环境搭建
长期更新各种好文,建议关注收藏! 本文近期更新完毕。 LNMPlinuxnginxmysqlphp 需要的资源 linux服务器 web服务软件nginx 对应的语言编译器代码文件 数据库mysql安装 tar.gz包或者命令行安装 进入root: sodu 或su mkdir path/{server,soft}…...
vue 本地自测iframe通讯
使用 postMessage API 来实现跨窗口(跨域)的消息传递。postMessage 允许你安全地发送消息到其他窗口,包括嵌套的 iframe,而不需要担心同源策略的问题。 发送消息(父应用) 1. 父应用:发送消息给…...
【人工智能】基于Python和OpenCV实现实时人脸识别系统:从基础到应用
《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着人工智能和计算机视觉的快速发展,人脸识别技术已广泛应用于监控、安全、社交媒体、金融和医疗等领域。本文将介绍如何利用Python和Ope…...
vue2使用pdfjs-dist和jsPDF生成pdf文件
vue2使用pdfjs-dist和jsPDF生成pdf文件 1、安装依赖 npm install pdfjs-dist2.6.3472、引入依赖 import { jsPDF } from jspdf// 使用require方式导入pdfjs-dist v2.6.347,高版本报错(import导入会报错:GlobalWorkerOptions undefined&…...
深度学习算法选择
1. 卷积神经网络(Convolutional Neural Networks, CNNs) 简介 卷积神经网络擅长处理具有网格结构的数据,如图像。通过卷积层、池化层和全连接层,CNN能够自动提取和学习数据的空间特征。 应用场景 图像识别与分类:如…...
asp.net core系统记录当前在线人数
实时记录当前在线人数,登录后保持120秒在线状态,在线状态保存在缓存中,采用滑动过期,在120秒内请求了系统,自动续活120秒;超过时间则移除用户在线状态; 需要在登录过滤器标记用户在线状态需要排…...
【每日学点鸿蒙知识】Grid子项拖动、Swiper指示器、手势事件上报、指定使用发布版本API、打包签名失败报错109
1、HarmonyOS Grid组件子项拖动问题? Grid组件中有20个GridItem子组件,其中前4个GridItem是不能拖动的,其余GridItem可拖动排序。 关于可拖拽grid及gridItem可参考如下代码(注:其中 .draggable(parseInt(day) < 6…...
轻松实现向量搜索:探索 Elastic-Embedding-Searcher 项目
随着人工智能和机器学习技术的飞速发展,向量搜索已成为数据检索的重要方式。尤其是在处理大规模文本数据时,传统的基于关键词的检索方式已经难以满足需求。为了优化检索性能并提升搜索精度,向量搜索成为了更加高效的解决方案。而在这一领域&a…...
区块链平台安全属性解释
区块链平台安全属性解释 双向认证 解释:双向认证是指在通信过程中,**通信双方都需要对对方的身份进行验证,确保对方是合法的、可信任的实体。**只有双方身份都得到确认后,通信才会被允许进行,从而防止非法用户的接入和数据的窃取或篡改。举例:在基于区块链和联邦学习的数…...
matlab reshape permute
1.reshape 将向量按照顺序重新构建 矩阵,新矩阵 先排完第一列, 再第二列… 2.permute 将向量 维度变换...
《一文读懂卷积网络CNN:原理、模型与应用全解析》
《一文读懂卷积网络CNN:原理、模型与应用全解析》 一、CNN 基本原理大揭秘(一)从人类视觉到 CNN 灵感(二)核心组件详解 二、经典 CNN 模型巡礼(一)LeNet-5:开山鼻祖(二&a…...