CUDA安装及环境配置——最新详细版

article/2025/8/29 23:24:20

确定安装版本

在安装之前呢,我们需要确定三件事
第一:查看显卡支持的最高CUDA的版本,以便下载对应的CUDA安装包
第二:查看对应CUDA对应的VS版本,以便下载并安装对应的VS版本(vs需要先安装)
第三:确定CUDA版本对应的cuDNN版本,这个其实不用太关注,因为在cudnn的下载页面会列出每个版本对应的cuda版本,11.x以上对应的范围很宽

确定显卡支持的CUDA版本

在显卡驱动被正确安装的前提下,在命令行里输入nvidia-smi.exe,效果如图所示
CUDA Version
可以看到显示CUDA Version为11.6,说明该显卡最高支持到11.6,我这里就选择11.6的版本,你也可以选择更低的版本比如 11.5,11.4更低的版本

确定CUDA版本支持的VS版本

查询官方安装文档,这里给出文档地址:https://docs.nvidia.com/cuda/archive/11.6.0/cuda-installation-guide-microsoft-windows/index.html
可知,支持的VS版本如下表:
vs 版本
可以看到支持VS2017的15.x以上的版本,VS2019 16.x以上的版本,也支持VS2022 17.0
我这里选择VS2019

确定CUDA版本对应的cuDNN版本

在cudnn下载页面,我们cuda是11.6,这里就选择cuDNNV8.4.0版本的for CUDA11.x版本即可
cuDNN版本
好了三个安装版本都确定好了,现在开始一个个安装就行,安装的顺序是先安装vs2019、CUDA11.6、然后是cuDNNV8.4.0,如果 你安装的是别的版本,注意它们之间的版本对应就行,套路是一样的。

安装vs2019

官方下载地址:https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
vs2019下载页面
因为现在最新的VS2022都出来了,要下载VS2019需要注册账户,不愿意注册的小伙伴,可以从我给的百度云盘链接中下(是个在线安装包,版本为VS2019社区版 v16.11,满足刚才CUDA对vs2019 16.x以上的要求)
链接:https://pan.baidu.com/s/1D8eGWZwkRBoGyDiriWa-Hw?pwd=g790
提取码:g790
下载vs2019社区版在线安装器,然后双击运行即可
vs2019安装页面注意,需要选择C++开发模块,其它根据自己的需求安装就好了,安装路径可以默认,也可以根据自己情况更改一下,然后点击安装就好了,后面都是自动安装了,因为需要在线下载东西,过程有点长,耐心等待一下~~

安装CUDA

下载安装包,在NVIDIA官方网站即可下载,地址为:https://developer.nvidia.com/cuda-toolkit-archive
CUDA下载页面
注意选择你的操作系统,什么版本的 我是Windows11 需要选择11,离线安装包还是在线安装包,省得麻烦就选择离线安装包了,选择好后,点击下面的Download按钮。
安装包下载好后,双击安装包进行安装
抽取页面
弹出这个,临时抽取文件放置位置的,直接点击ok、随后进入系统兼容性的检查,就是看你是否下错安装包了
兼容性检查
没问题后会弹出许可协议
许可协议
直接点击同意并继续,弹出的安装选项,选择自定义
自定义选型
点击下一步
选择安装选型
把CUDA选一下,还需要注意一点,如果 你前面没有安装vs,直接安装的这个,需要把CUDA里面的
Visual Studio Integration取消勾选,否则会安装不成功
取消
我们前面已经安装vs2019了,所以我就不取消了,下一步就是选择安装的位置了,你可以直接默认安装在C盘,如果 你像我一样自定义的话,需要记住安装的位置,后面需要用到
安装位置
下一步之后,就会进行安装
安装进行中
安装完成后,会提示Nsight Visual studio的整合情况,这里提示安装了vs2019版的,正是我们前面安装的VS版本,这样就能在vs2019里面做GPU方面的开发了
Nsight
点击下一步
安装完成
这里提示了你选择的组件的安装情况,到这就安装好了,点击关闭。

检查是否安装成功

打开cmd,输入 nvcc -V
CUDA安装成功
出现了你安装的CUDA的版本信息,说明安装成功了
你可能还觉得不过瘾,CUDA里面有个demo_suite文件夹中有些工具,让我们测试,我们一起来试试吧 ,定位安装目录的demo_suite文件夹,我的是
D:\Program Files\Nvidia\CUDA\v11.6\extras\demo_suite
确定cmd的执行位置在这个文件夹
cmd位置
我们先输入deviceQuery,查询一下本机的gpu设备
devicequery
我们再来测试一下带宽,输入bandwidthTest
bandwidthTest
能看出结果都是PASS,说明一切运行正常

安装cuDNN

下载安装包,在NVIDIA官方网站即可下载,地址为:https://developer.nvidia.com/rdp/cudnn-archive
如果 你没有NVIDIA开发者账号的话,就按照提示注册一个就好,再登录即可下载了。
下载下来是个压缩包,我的是cudnn-windows-x86_64-8.4.0.27_cuda11.6-archive.zip 直接解压缩,完成后点击去你能看到如下三个文件夹(bin、include、lib)
cuDNN文件夹
把这三个文件夹的文件分别拷贝到CUDA安装目录对应的(bin、include、lib)文件夹中即可。CUDA的lib目录有x64 、Win32、cmake三个文件夹,拷到其中的x64这个文件夹中
对应的位置
都装好了运行一个CUDA程序试试呗
在VS2019中创建一个CUDA项目
创建CUDA项目
点击下一步,默认会创建一个数组相加的例子
demo
直接运行该demo,成功打印结果,大功告成了。
demo结果


http://chatgpt.dhexx.cn/article/MCKABCo6.shtml

相关文章

CUDA安装

一、安装显卡驱 1、右击鼠标桌面,点击NVIDIA 控制面板,可以查看是否安装了显卡驱动,以及驱动的版本号,以及显卡的名称,比如我的就是GeForce 940MX,驱动版本如果太旧的话,也需要执行下面的步骤&a…

一看就懂的 CUDA安装教程及Pytorch GPU版本安装教程

目录 1.先查看电脑的GPU支持的CUDA版本 (1)下载CUDA (2)安装CUDA (3)查看CUDA是否安装成功 2. 下载cuDNN,配置 (1)首先注册的NVIDIA账户 (2&#xff09…

【CUDA安装详细教程】

目录 前言一、cuda的下载及安装1.cuda版本2.CUDA toolkit Download3.cuda安装 二、cuDNN下载及安装1.cuDNN下载2.cuDNN配置 前言 windows10 版本安装 CUDA ,首先需要下载两个安装包 CUDA toolkit(toolkit就是指工具包)cuDNN 注&#xff1a…

【CUDA】cuda安装 (windows版)

【CUDA】cuda安装 (windows10版) 一、前言官方教程 二、安装工具的准备1. CUDA toolkit Download2. cuDNN Download 三、 CUDA 安装与配置过程测试环境是否安装成功 四、cuDNN配置1.解压2.添加至系统变量 参考博客: 本次安装参考了网上许多教…

CUDA安装教程(超详细)

目录 前言 cuda的下载及安装 cuda版本 CUDA toolkit Download cuda安装 cuDNN下载及安装 cuDNN下载 cuDNN配置 参考自 前言 windows10 版本安装 CUDA ,首先需要下载两个安装包 CUDA toolkit(toolkit就是指工具包)cuDNN 注&#x…

西门子博图功能指令(反序列化)

西门子博客功能指令—序列化 功能描述程序举例仿真测试效果源程序 功能描述 反序列化和序列化的功能刚好相反。反序列化功能主要&#xff1a;反向转换 PLC 数据类型 (UDT)、STRUCT 或 ARRAY of <数据类型> 的顺序表示并填充所有内容。 该指令可以逐步将已转换数据的多个顺…

js的序列化和反序列化

js的序列化&#xff08;即js中的object转化为字符串&#xff09; ① 使用toJSONStringvar last obj.toJSONString(); // 将JSON对象转化为JSON字符串 ② 使用stringifyvar last JSON.stringify(obj); // 将JSON对象转化为JSON字符串js的反序列化&#xff08;即js中JSON字…

@responseBody + 序列化

为什么转载responseBody这个注解的博客呢&#xff1f;因为我在看序列化的时候&#xff0c;就在考虑&#xff0c;Spring中使用responseBody的Json序列化&#xff0c;为啥不用最常用的Serializable序列化呢&#xff1f;直接转换为二进制流不好吗&#xff1f;&#xff1f;&#xf…

Django序列化器

一、序列化器作用 1、数据格式转换&#xff1a; 序列化&#xff1a; 对象 -> 字典 反序列化&#xff1a; 字典 -> 对象&#xff08;OrderedDict&#xff09; 2、校验参数合法性&#xff1b; 3、保存和修改数据&#xff1b; 二、定义序列化器 通过继承rest_framework.seri…

Qt知识点梳理 —— 自定义数据结构序列化与反序列化

文章目录 定义 Qt中序列化与反序列化 序列化&#xff1a; 反序列化&#xff1a; 自定义数据结构序列化与反序列化 项目结构 数据结构信息 执行效果 项目源码 开发环境 定义 序列化&#xff1a;将对象或数据结构转换为二进制序列 反序列化&#xff1a;二进制序列转换…

序列化作用

没有implements Serializable&#xff0c;你就不能通过rmi(包括ejb)提供远程调用。 serialization 允许你将实现了Serializable接口的对象转换为字节序列&#xff0c;这些字节序列可以被完全存储以备以后重新生成原来的对象。 serialization不但可以在本机做&#…

PHP反序列化

定义 序列化&#xff08;串行化&#xff09;&#xff1a;是将变量转换为可保存或传输的字符串的过程&#xff1b; 反序列化&#xff08;反串行化&#xff09;&#xff1a;就是在适当的时候把这个字符串再转化成原来的变量使用&#xff1b; 这两个过程结合起来&#xff0c;可以轻…

Spark序列化简介

参考文章&#xff1a;Spark序列化 spark之kryo 序列化 Spark序列化入门 1. 什么是序列化和序列化? 序列化是什么 序列化的作用就是可以将对象的内容变成二进制, 存入文件中保存反序列化指的是将保存下来的二进制对象数据恢复成对象 序列化对对象的要求 对象必须实现 Serial…

谈谈序列化的作用

文章目录 1. 写在前面2. 问题阐述3. 解释3.1 一些不够完整的解释3.2 一种完整的解释3.2.1 去地址3.2.2 节省空间 4. 小节参考链接 1. 写在前面 我们应该都用过各种序列化&#xff08;serialization&#xff09;的方法&#xff08;如Python中的pickle.dumps&#xff09;&#x…

Java 之 Serializable 序列化和反序列化的概念,作用的通俗易懂的解释

遇到这个 Java Serializable 序列化这个接口&#xff0c;我们可能会有如下的问题 a&#xff0c;什么叫序列化和反序列化 b&#xff0c;作用。为啥要实现这个 Serializable 接口&#xff0c;也就是为啥要序列化 c&#xff0c;serialVersionUID 这个的值到底是在怎么设置的&#…

cas 原理分析

CAS 原理分析 1、了解java中锁的类型 1.1 悲观锁(Pessimistic Lock) 顾名思义&#xff0c;就是很悲观&#xff0c;假定会发生并发冲突&#xff0c;屏蔽一切可能违反数据完整性的操作&#xff0c;每次去拿数据的时候都认为别人会修改&#xff0c;所以每次在拿数据的时候都会上…

JAVA中的CAS算法

java 中的线程之间的栈空间是相互独立&#xff0c;堆空间是共享的 V&#xff1a;内存值就是主内存中i值 A&#xff1a;预估值(期望值)就是子线程拿到主内存的值&#xff08;读取到高速缓存中的值&#xff09; B&#xff1a;更新值是子线程拿到i值后,修改i的值 假设有两个线程…

面试:CAS算法原理

1、什么是CAS&#xff1f; CAS&#xff1a;Compare and Swap&#xff0c;即比较再交换。 jdk5增加了并发包java.util.concurrent.*&#xff0c;其下面的类使用CAS算法实现了区别于synchronouse同步锁的一种乐观锁。JDK 5之前Java语言是靠synchronized关键字保证同步的&#x…

CAS原理详解

CAS介绍 CAS全称是Compare And Swap&#xff0c;它的实现和它的字面意思一样&#xff0c;先比较后交换&#xff0c;它是CPU硬件层面的一种指令&#xff0c;从CPU层面能保证"比较并更新"这一段操作的原子性。 与synchronized关键字比较不同是synchronized是一种悲观锁…

CAS算法与ABA问题

锁是用来做并发最简单的方式&#xff0c;当然代价也是最高的。 独占锁是一种悲观锁&#xff0c;synchronized就是一种独占锁&#xff1b;它假设最坏的情况&#xff0c;并且只有在确保其它线程不会造成干扰的情况下执行&#xff0c;会导致其它所有需要锁的线程挂起直到持有锁的…