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

2023-11-15

确定安装版本

在安装之前呢,我们需要确定三件事
第一:查看显卡支持的最高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结果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CUDA安装及环境配置——最新详细版 的相关文章

随机推荐

  • (C语言)在屏幕上输出对应的图案(* ** *** *****.....)

    在屏幕上输出如下的图案 根据上面图片可以看出来 前7行中下一行的星比前一行多出两个星 第8行到第13行是下一行比前一行少2个星 代码为 include
  • el-select远程搜索:remote-method遇到的坑

    在使用远程搜索的时候 就是每次发请求获取数据然后选择 会出现选择后总是会出现选择紊乱的情况 在使用debugger后排查了很久 发现每次选择内容后 都会触发 remote method这个事件 也就是继续会发请求 然后获取到新的数据重新赋值
  • 什么是值传递,什么是引用传递

    一般认为 java中基础类型数据传递都是值传递 java中实例对象的传递是引用传递 值传递是对基本型变量而言 传递的是该变量的一个副本 不影响该原变量 而引用传递是一般对于对象型变量而言 传递的是该对象地址的副本 并不是原对象本身 1 值传
  • linux bash环境配置文件

    linux bash环境配置文件 你是否会觉得奇怪 怎么我们什么动作都没有进行 但是一进入 bash 就取得一堆有用的变量了 这 是因为系统有一些环境配置文件案的存在 让 bash 在启动时直接读取这些配置文件 以规划好 bash 的操作环
  • ubuntu切换国内镜像源,加速apt-get下载速度

    ubuntu切换国内镜像源 加速apt get下载速度 如题 使用apt get命令安装包时 由于系统自带的下载源在国外服务器上 故下载速度较慢 若切换为国内源 将显著提升下载速度 下列是设置步骤 STEP 1 查找适合自己系统的镜像源配置
  • 深入理解线程的原理和用法

    Java中的线程 程序 进程和线程 1程序是一段静态的代码 它是应用程序执行的蓝本 2进程是程序的一次动态执行过程 它对应了从代码加载 执行到执行完毕的一个完整过程 作为蓝本的程序可以被多次加载到系统的不同内存区域分别执行 形成不同的进程
  • 某某analysis参数算法分析

    作者 TheWeiJun 来源 逆向与爬虫的故事 今天给大家带来一个干货分享 由于想要查看某些APP的详细信息 需要通过APP名称去某麦网站进行搜索查看 而整个过程中涉及到逆向分析 为了方便大家学习 本次完整流程记录如下 目录 一 确定要获
  • java可变参数函数_Java 变参函数的实现

    Java的变参函数实现实际上参数是一个数组 其简单用法如下 public class variableParamTest private static void variableParam Object args for Object v
  • vue实现任务周期cron表达式选择组件

    vue cron表达式 Cron表达式的详细用法 vue cron 基于vue的cron表达式组件 项目开发过程中遇到了需要在from表单输入cron表达式的情况 但对cron表达式没有深刻了解的用户来说 输入一个正确的cron表达式有些困
  • 实现文件上传进度条及解决request.upload.addEventListener in not a function问题

    使用axios上传文件时需要进度条 可通过监听axios的onUploadProgress获取当前文件上传进度 进度条可以用antd的Progress 实现过程中出现问题request upload addEventListener in
  • 关于Hadoop分布式计算:多个Map分布在不同节点上执行

    1 背景 问题 学习Hadoop已经快一年了 也是似懂非懂的样子 由于项目的原因 再次启动Hadoop 一直以为这个很简单就能够实现多个机器一起完成一个任务 其实并不然 在实验过程中 发现Map的数量并不能通过设置 mapreduce jo
  • 一文详解APS能做什么?不能做什么?

    APS Advanced Planning Scheduling 被翻译成 高级计划排程 我觉得似乎advance用在这里应该是 进阶 的意思 就是在原来手工作业或者MRP MRPII基础进了一步 高级 总觉得是高大上 而APS就是一个辅助
  • Maya删除被锁定的节点

    问题描述 在Maya中如果节点被锁定 则无法被修改或删除 这种情况下需要通过Maya的命令对节点的状态进行修改 解决方法 首先选中被锁定的节点 然后在Python脚本编辑器中执行以下的代码 import maya cmds as mc li
  • 运用@Transactional,自己抛出异常时不会回滚的原因

    近日测试用例 发现这样一个现象 在业务代码中 有如下两种情况 比如 throw new RuntimeException xxxxxxxxxxxx 事务回滚 throw new Exception xxxxxxxxxxxx 事务没有回滚 自
  • 中缀表达式转后缀表达式C语言实现

    解决思路 依次扫描字符串元素 遇到左括号 直接入栈 遇到数字 输出当前数字 遇到乘除符号 除非栈顶遇到为 外进栈 否则遇到栈顶为 时 栈顶出栈 遇到加减符号 除非栈顶遇到 否则栈顶出栈 遇到右括号 除非栈顶遇到 否则栈顶出栈 遍历完后 弹出
  • 中文汉字 hex十六进制 互转

    工具地址 http stool chinaz com hex
  • 关于STM32调试器CMSIS_DAP的使用及注意事项

    说明 最近在淘宝上买了一个STM32F4x1系列的最小系统板 提供CMSIS DAP固件 进群领取固件 秒变CMSIS DAP调试器 技术交流QQ群 970663546 售后QQ群 1055686596 凭订单号进入 1 关于KEIL设置
  • 2021-07-26 WSL2 的安装和联网

    0 说明 最近在学习 Data Assimilation Research Testbed DART 相关内容 其软件是在 Unix Linux 操作系统下编译和运行的 由于我的电脑是 Windows 10 的 DART 推荐可以使用 Wi
  • go搭建服务器基础

    goweb应用工作原理 用于个人学习 客户端发送请求给多路复用器 多路复用器根据请求 gt 处理器处理器 gt 模型 gt 数据库 数据库找到相应的数据反馈给模型 模型将数据封装发给处理器 处理器给模板引擎然后生成模板 go里面有相应的ht
  • CUDA安装及环境配置——最新详细版

    确定安装版本 在安装之前呢 我们需要确定三件事 第一 查看显卡支持的最高CUDA的版本 以便下载对应的CUDA安装包 第二 查看对应CUDA对应的VS版本 以便下载并安装对应的VS版本 vs需要先安装 第三 确定CUDA版本对应的cuDNN