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安装及环境配置——最新详细版 的相关文章

  • Scrapy 在抓取一长串 url 时陷入困境

    我正在抓取一个大的 url 列表 1000 左右 并且在设定的时间后 爬虫程序会以 0 页 分钟的速度爬行 爬行时问题总是出现在同一个位置 url 列表是从 MySQL 数据库检索的 我对 python 和 scrapy 相当陌生 所以我不
  • 如何在 Django Admin 的“更改”页面中显示内嵌上传的图像?

    我正在尝试在中显示内联上传的图像 变更列表 页面在 Django 管理中 这是我的代码如下 models py from django db import models class Product models Model name mod
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • PyQt4 信号和槽

    我正在使用 PyQt4 编写我的第一个 Python 应用程序 我有一个 MainWindow 和一个 Dialog 类 它是 MainWindow 类的一部分 self loginDialog LoginDialog 我使用插槽和信号 这
  • 创建一个行为类似于任何变量但具有更改/读取回调的类

    我想创建一个类 其行为类似于 python 变量 但在更改 读取 变量 时调用一些回调函数 换句话说 我希望能够按如下方式使用该类 x myClass change callback read callback 将 x 定义为 myclas
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • 使用 pygtk3 将 GUI 窗口添加到 python opencv2 程序

    我已经使用Python和Opencv2完成了一个程序 现在 我想向我的程序添加一个 GUI 窗口 我对 PyGtk3 有一些经验 因此 我修改了代码以采用 PyGtk3 但是 我遇到了错误 因此 我尝试了一个简单的程序来找出实际的错误 我的
  • Django REST Framework:无法使用视图名称解析超链接关系的 URL

    我已经广泛研究了这个相当常见的问题 但没有一个修复对我有用 我正在 REST 框架中构建 Django 项目 并希望使用超链接关系 用户可以拥有许多独立的汽车和路线 路线是位置的集合 这些是我的序列化器 class CarSerialize
  • 熊猫 style.background_gradient 忽略 NaN

    我有以下代码来转储数据帧results到 HTML 表格中 这样的列TIME FRAMES根据seaborn 的颜色图进行着色 import seaborn as sns TIME FRAMES 24h 7d 30d 1y Set CSS
  • 不使用 graphviz/web 可视化决策树

    由于某些限制 我无法使用 graphviz webgraphviz com 可视化决策树 工作网络与另一个世界是封闭的 问题 是否有一些替代实用程序或一些 Python 代码用于至少非常简单的可视化可能只是决策树的 ASCII 可视化 py
  • SQLAlchemy 默认日期时间

    这是我的声明模型 import datetime from sqlalchemy import Column Integer DateTime from sqlalchemy ext declarative import declarati
  • 生产环境的 Flask-Login 与 Flask-Security

    我正在构建一个功能 供用户注册 登录 验证和授权自己 特别是使用 Python Flask 作为后端 我找到了一些解决方案 例如flask login and flask security 据我了解 flask login实际上并没有进行任
  • 自定义信号的声明

    在 Qt 中 我们可以通过将自定义信号设为静态变量来创建它们 然后我们使用self signame反而classname signame 这样就在类中创建了一个实例变量 我想了解这种模式之外的理论 这是我尝试过的一些伪代码 这些伪代码已记录
  • Tensorflow 到 ONNX 的转换

    我目前正在尝试转换我使用本教程创建的已保存 且正在工作 的 pb 文件 https github com thtrieu darkflow https github com thtrieu darkflow 到 onnx 文件中 我目前正在
  • Pandas:向量化局部范围操作([i:i+2] 行的最大值和总和)

    我希望在数据帧中的每一行的局部范围内进行计算 同时避免速度缓慢for环形 例如 对于下面数据中的每一行 我想找到未来 3 天内 包括当天 的最高气温以及未来 3 天内的总降雨量 Day Temperature Rain 0 30 4 1 3
  • python 和 android 中通过 AES 算法加密和解密

    我有用于 AES 加密的 python 和 android 代码 当我在android中加密文本时 它在python上成功解密 但无法在android端解密 有人有想法吗 Python代码 import base64 import hash
  • RuntimeError:模型类 django_messages.models.Message 未声明显式 app_label 并且不在 INSTALLED_APPS 中的应用程序中

    我正在尝试使用https github com arneb django messages https github com arneb django messages打包我的消息传递内容并尝试了以下操作 pip install git h
  • 检测计算机何时解锁 Windows

    我用过这个优秀的方法 https stackoverflow com questions 20733441 lock windows workstation using python 20733443锁定 Windows 计算机 那部分工作
  • 有效积累稀疏 scipy 矩阵的集合

    我有一个 O N NxN 的集合scipy sparse csr matrix 每个稀疏矩阵都有 N 个元素集 我想将所有这些矩阵加在一起以获得一个常规的 NxN numpy 数组 N 约为 1000 矩阵内非零元素的排列使得所得总和肯定不
  • Pymongo 批量插入

    我正在尝试批量插入文档 但批量插入时不会插入超过 84 个文档 给我这个错误 in insert pymongo errors InvalidOperation cannot do an empty bulk insert 是否可以批量插入

随机推荐

  • (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