Windows 环境搭建 CUDA 和 cuDNN 详细教程

CUDA

  1. CUDA(Compute Unified Device Architecture)是由NVIDIA公司推出的一个并行计算平台和编程模型,它允许开发者使用NVIDIA GPU进行通用计算(即GPGPU),从而加速各种计算密集型任务。CUDA提供了一套基于C/C++的编程语言扩展,使得开发者能够编写在GPU上运行的代码,利用GPU的并行处理能力来提升程序性能。

  2. CUDA的架构包括多个核心概念,如线程、线程块、网格以及内存模型。线程是CUDA中最小的执行单位,线程块是一组线程的集合,它们可以共享数据和同步操作。网格则是由多个线程块组成,用于执行大规模的并行计算任务。CUDA的内存模型包括全局内存、共享内存、常量内存和纹理内存,它们各自有不同的访问速度和用途。

  3. NVIDIA发布的CUDA Toolkit 12.0,这是多年来的第一个主要版本,它支持NVIDIA Hopper和Ada
    Lovelace架构的新功能,并提供了新的编程模型和性能优化。此外,CUDA Toolkit 12.2也已发布,引入了对NVIDIA Hopper(H100)GPU的支持,以及异构内存管理(HMM)等新特性。

  4. CUDA技术在科学计算、大数据分析、机器学习和图形处理等领域有广泛应用。例如,在深度学习领域,CUDA与TensorFlow、PyTorch等深度学习框架深度整合,提供了高效的计算加速。

CUDA安装步骤

  1. 查看本机设备NVIDIA显卡对应的驱动版本和CUDA版本,PowerShell中输入命令 nvidia-smi;可以看到驱动Driver和CUDA的版本;或者利用NVIDIA控制面板按照系统信息->组件->NVCUDA64.DLL查看详细CUDA版本;
    在这里插入图片描述
    在这里插入图片描述

  2. 确定本机设备显卡的算力:https://developer.nvidia.com/cuda-gpus;可以看到本机设备显卡3060的计算算力为8.6;
    在这里插入图片描述
    在这里插入图片描述

  3. 安装CUDA Toolkit:https://developer.nvidia.com/cuda-toolkit-archive;选择本机设备显卡需要的CUDA Toolkit版本下载;
    在这里插入图片描述

  4. 按照下图的1-2-3-4-5的顺序点击,进行下载;
    在这里插入图片描述

  5. 点击下载好的的 exe 进行安装;
    在这里插入图片描述

  6. 默认路径即可,此时是临时数据;
    在这里插入图片描述
    在这里插入图片描述

  7. 进入安装界面,选择继续;
    在这里插入图片描述
    在这里插入图片描述

  8. 选择自定义安装,全选;

在这里插入图片描述
在这里插入图片描述

  1. 确定安装路径,进行安装;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 安装结束;
    在这里插入图片描述
  2. 验证是否安装成功,PowerShell输入命令:nvcc -V,返回如下即表示安装成功。
    在这里插入图片描述

cuDNN

cuDNN(CUDA Deep Neural Network library)是NVIDIA推出的一个深度学习加速库,它为深度神经网络提供了高度优化的GPU加速原语。cuDNN特别针对深度学习中常见的操作进行了优化,如前向和后向卷积、池化层、归一化和激活层等,从而大幅提升了深度学习模型训练和推理的性能。
cuDNN的主要特点包括:

  1. Tensor Core加速:支持多种卷积操作的Tensor Core加速,包括2D卷积、3D卷积、分组卷积、深度可分离卷积等。
  2. 运行时融合:通过新的运算符、启发式算法和融合迅速编译内核,提高了内存和计算效率。
  3. 多精度支持:支持FP32、FP16、BF16和TF32浮点格式以及INT8和UINT8整数格式,允许开发者根据需要选择不同的精度和性能平衡。
  4. 灵活的API:提供了C API和开源的C++前端API,方便用户使用。
  5. 广泛的框架支持:与多个流行的深度学习框架集成,如TensorFlow、PyTorch、Caffe等。

cuDNN安装步骤

  1. 下载官网:https://developer.nvidia.com/cudnn-downloads
    在这里插入图片描述
  2. 按照 1-2-3-4-5 的步骤点击选择,进行下载;
    在这里插入图片描述
  3. 解压下载下来的压缩包,里面有includelibbin三个文件夹和LICENSE文件;

在这里插入图片描述

  1. 将下载文件解压后放换到NVIDIA GPU TookitC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3)里对应的目录binincludelib中。
    (1)将下载下来的cudnn中bin文件拷贝到NVIDIA GPU Tookit的bin中。
    在这里插入图片描述
    在这里插入图片描述

(2)将下载下来的cudnn中include文件拷贝到NVIDIA GPU Tookit的include中。
在这里插入图片描述
在这里插入图片描述

(3)将下载下来的cudnn中lib\x64中文件拷贝到NVIDIA GPU Tookit目录x64\lib中。

在这里插入图片描述
在这里插入图片描述

  1. 验证安装是否成功:“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.3\extras\demo_suite>”,然后分别运行里的 bandwidthTest.exedeviceQuery.exe,有PASS即代表成功。
    在这里插入图片描述
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/437613.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习:cGAN和pix2pix图像转换

cGAN和pix2pix的基础概念 cGAN cGAN是条件生成对抗网络(Conditional Generative Adversarial Networks)的简称。 它是一种基于基础GAN(Generative Adversarial Networks)架构的变体,通过给GAN模型引入额外的信息或条…

【零基础入门产品经理】学习准备篇 | 需要学一些什么呢?

前言: 零实习转行产品经理经验分享01-学习准备篇_哔哩哔哩_bilibili 该篇内容主要是对bilibili这个视频的观后笔记~谢谢美丽滴up主友情分享。 全文摘要:如何在0实习且没有任何产品相关经验下,如何上岸产品经理~ 目录 一、想清楚为什么…

uniapp 上了原生的 echarts 图表插件了 兼容性还行

插件地址:echarts - DCloud 插件市场 兼容性这块儿不知道后期会不会支持其他浏览器 H5 的话建议可以用原生的不用这个插件

沐风老师3DMAX快速嵌板修改器插件Panelizer使用方法

3DMAX快速嵌板修改器插件Panelizer,一键快速几何体分布工具,基于3dsMax的拓扑修改器,将几何模型散布并对齐到四边形面上的参数化建模工具。 【系统要求】 3dsMax 2018.1 - 2025 【安装方法】 1.将插件安装文件(.mcg)…

Llama 系列简介与 Llama3 预训练模型推理

1. Llama 系列简介 1.1 Llama1 由 Meta AI 发布,包含 7B、13B、33B 和 65B 四种参数规模的开源基座语言模型 数据集:模型训练数据集使用的都是开源的数据集,总共 1.4T token 模型结构:原始的 Transformer 由编码器&#xff08…

基于元神操作系统实现NTFS文件操作(二)

1. 背景 本文主要介绍MBR的读取和解析,并提供了基于元神操作系统的实现代码。由于解析MBR的目的是定位到NTFS磁盘分区进行文件操作,所以只解析了MBR的分区表部分,至于MBR的其它部分,可以参考相关文档进行理解。 2. 方法 &#…

Python使用matplotlib绘制五星红旗

安装包 pip install matplotlib pip install numpy完整代码 import matplotlib.pyplot as plt import numpy as np# 设置画布尺寸 fig plt.figure(figsize(10, 7)) ax fig.add_subplot(111)# 绘制红色背景 ax.set_facecolor(red)# 五星红旗的尺寸定义 flag_width 30 flag_…

VMware ESXi 8.0U3b macOS Unlocker OEM BIOS 2.7 Dell HPE 定制版 9 月更新发布

VMware ESXi 8.0U3b macOS Unlocker & OEM BIOS 2.7 Dell HPE 定制版 9 月更新发布 VMware ESXi 8.0U3b macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版 ESXi 8.0U3 标准版,Dell (戴尔)、HPE (慧与)、Lenovo (联想)、IEIT SYSTEMS (浪潮信息)、Cisco …

前端规范工程-2:JS代码规范(Prettier + ESLint)

Prettier 和 ESLint 是两个在现代 JavaScript 开发中广泛使用的工具,它们结合起来可以提供以下作用和优势: 代码格式化和风格统一: Prettier 是一个代码格式化工具,能够自动化地处理代码的缩进、空格、换行等格式问题,…

491. 递增子序列

文章目录 491. 递增子序列思路回溯三部曲总结 491. 递增子序列 491. 递增子序列 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如…

Linux中的进程间通信之管道

管道 管道是Unix中最古老的进程间通信的形式。 我们把从一个进程连接到另一个进程的一个数据流称为一个“管道” 匿名管道 #include <unistd.h> 功能:创建一无名管道 原型 int pipe(int fd[2]); 参数 fd&#xff1a;文件描述符数组,其中fd[0]表示读端, fd[1]表示写端 …

解锁PDF阅读器的神奇功能与应用场景

PDF格式的文档因其稳定性、兼容性和安全性&#xff0c;成为了广泛传播和存储信息的重要载体。而PDF阅读器则是我们打开这个数字知识宝库的关键钥匙。接下来&#xff0c;让我们一同走进福昕PDF阅读器和它小伙伴们的世界&#xff0c;去探索它们的神奇之处。 1.福昕阅读器 链接一…

Spring Boot 和 MyBatis-Plus凑一块儿了,这份教程你得看

一、引言 MyBatis-Plus 是 MyBatis 的增强版&#xff0c;提供了 CRUD 接口、分页插件、性能分析插件等特性&#xff0c;简化了开发过程。本文将详细介绍如何在 Spring Boot 项目中集成 MyBatis-Plus。 支持的数据看也越来越多&#xff0c;值得去搞一下&#xff0c;写了一个小例…

Hive数仓操作(八)

一、Hive中的分桶表 1. 分桶表的概念 分桶表是Hive中一种用于提升查询效率的表类型。分桶指的是根据指定列的哈希值将数据划分到不同的文件&#xff08;桶&#xff09;中。 2. 分桶表的原理 哈希分桶&#xff1a;根据分桶列计算哈希值&#xff0c;对哈希值取模&#xff0c;将…

三维激光扫描技术在文保修缮项目中的应用

三维激光扫描技术作为一种新兴的高精度空间数据获取手段&#xff0c;其在文物保护和修缮项目中的应用日益广泛。这项技术通过快速获取物体表面的三维密集点云数据&#xff0c;为文物的数字化存档、保护、修复及再利用提供了强有力的技术支持。 数据采集&#xff1a;高精度与非接…

Python案例--水仙花数的探索之旅

一、引言 水仙花数&#xff0c;也称为阿姆斯特朗数&#xff0c;是一种特殊的三位数&#xff0c;其各位数字的立方和等于其本身。例如&#xff0c;153就是一个水仙花数&#xff0c;因为 135333153135333153。这种数字的发现不仅展示了数字的内在美&#xff0c;也激发了人们对数…

Element-plus安装及其基础组件使用

简而言之&#xff0c;在main.js中导出以下库,仅此&#xff0c;搞多了出错难排查 import ElementPlus from element-plus //导入ElementPlus 模块 import element-plus/dist/index.css //引入样式 app.use(ElementPlus) //注册库就能使用了 Element Plus 是一个基于 Vue 3 的组件…

《Linux从小白到高手》理论篇(十一):Linux的系统环境管理

值此国庆佳节&#xff0c;深宅家中&#xff0c;闲来无事&#xff0c;就多写几篇博文。本篇详细深入介绍Linux的系统环境管理。 环境变量 linux系统下&#xff0c;如果你下载并安装了应用程序&#xff0c;很有可能在键入它的名称时出现“command not found”的提示内容。如果每…

2024必备英语在线翻译工具推荐

英语在线翻译工具就如同一位随时待命的语言助手&#xff0c;为我们打破语言障碍&#xff0c;搭建起沟通的桥梁。接下来&#xff0c;让我们一起深入了解这些英语在线翻译工具的丰富功能及其为我们带来的便利。 1.福昕在线翻译 链接直达>>https://fanyi.pdf365.cn/doc …

命令按钮QLink

主要作用用来点击后可以自动打开系统的网页浏览器&#xff0c;跳转到指定的网页 常用方法 文本 //获取和设置文本 QString text() const void setText(const QString &text)描述信息 //获取和设置描述文本 QString description() const void setDescription(const QSt…