深度学习中的GPU与CUDA

article/2025/9/4 21:46:29

对应视频教程:https://www.bilibili.com/video/BV1S5411X7FY/

文章目录

    • 1. 显卡(GPU)与驱动
    • 2. 显卡与CUDA
    • 3. 如何查看自己的显卡

1. 显卡(GPU)与驱动

显卡,也称之为 GPU。GPU 的全称是 Graphics Processing Unit(图形处理单元)。它出现的目的一目了然,就是用来显示图像的。没错,就是用来在电脑显示器上显示图像的。

大家其实只要知道我们的电脑都有显卡这一点就行了。但我们在深度学习中说的显卡(GPU)一般特指是英伟达(NVIDIA)品牌的显卡,这个我们后面慢慢来说。

除了显卡这个概念之外,还有个概念是驱动。驱动,相信大家都不陌生。我们有的时候给电脑配备一些设备的时候,有可能需要安装对应的驱动,这些设备才能正常运行。

驱动,就是能够让计算机正确识别一些外设(设备)。

显卡,就是外部设备。所以,我们需要安装对应的驱动,这样计算机才能够正确识别对应的显卡,并充分利用显卡的能力。
在这里插入图片描述
大家可以看到,上面这张图中,底部的显卡、鼠标、声卡之类的就是我们的外部设备,是个实打实的硬件,看得见摸得着的东西。中间的 Operating System 就是我们用的操作系统(Windows,Mac,Linux),可以理解为就是我们的电脑。在 Operating System 和 底部的硬件之间,有个 Device Driver,这个就是我们上面讲到的驱动。只有我们在电脑上安装对应的驱动,我们电脑才能正确识别这些实打实的硬件。

2. 显卡与CUDA

在深度学习中,我们常说的显卡,只是指英伟达(NVIDIA)品牌的显卡。其它品牌的显卡暂时还不行哦。

至于为什么呢?这都是因为英伟达(NVIDIA)以前的一个英明的决定。英伟达(NVIDIA)开发了一个开发平台,名叫CUDA。开发者/程序员可以使用这个CUDA开发平台来充分利用英伟达的显卡,可以利用这个CUDA平台,让一部分计算可以在GPU上进行。

后来,随着显卡的计算能力得到不到提升,很多程序尝试使用CUDA平台来进行计算。然后大家发现,哎呀,效果真不错。

在开发深度学习库(PyTorch, Tensorflow等)的时候,开发者如果想让深度学习运算放在GPU上运行,自然而然就想到了CUDA这个平台。所以,几乎所有的深度学习库都需要英伟达的显卡。

但随着一些神经网络芯片的出现,比如 Apple M系列芯片的出现,相信深度学习库会支持越来越多的能够加速神经网络运算的芯片。

在这里插入图片描述

3. 如何查看自己的显卡

在Windows平台上,查看自己的显卡,其实并不难。大家只需要找到 任务管理器 或者 设备管理器,然后进行查看就行了。

对于 任务管理器,找到 性能 选项卡,然后点击其中的GPU,之后就会在旁边的右上角显示对应的显卡名称。

就像下面这张图,显示这台计算机上的GPU型号为NVIDIA GeForce GTX 1060,其中带有NVIDIA字眼,说明是英伟达品牌的显卡。那我们就可以安装GPU版本的PyTorch,GPU版本的PyTorch可以加速神经网络的训练和运算过程。

如果大家有英伟达(NVIDIA)品牌的显卡,大家在安装的时候,记得选择GPU版本的PyTorch,充分利用自己的显卡性能来进行深度学习的学习。

在这里插入图片描述
如果看到性能选项卡中GPU型号没有NVIDIA字眼,就说明电脑上没有英伟达品牌的显卡,就像下面这张图一样。

在这里插入图片描述
这张图中,GPU的型号为 Intel® UHD Graphics 750,所以不是英伟达品牌的显卡。那大家在后续安装PyTorch的时候,需要选择CPU版本的PyTorch。

CPU版本的PyTorch并不影响学习哦!!!

在设备管理器中的显示适配器中也可以看到自己电脑的显卡型号。

在这里插入图片描述
如果大家确信自己的电脑有对应的显卡,但是在 任务管理器 和 设备管理器 中没有看到,说不定是因为没有安装驱动或者是没有安装正确。所以无法在 任务管理器 和 设备管理器 中看到。这个时候,就得去借助各种驱动软件。

就像下面这样,驱动软件中的主显卡中显示了NVIDIA显卡,但是在任务管理器中没有对应的显卡,这种情况可以利用驱动软件安装或者修复驱动就行了。但这种情况出现的概率还是很低的。

在这里插入图片描述


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

相关文章

CUDA详解

CUDA(Compute Unified Device Architecture,统一计算设备架构),是显卡厂商NVIDIA推出的运算平台。 CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构&#xf…

CUDA入门

1. 引言 CUDA为a platform and programming model for CUDA-enabled GPUs。该平台通过GPU来进行计算。CUDA为GPU编程和管理 提供C/C语言扩展和API。 CUDA编程中,会同时使用CPU和GPU进行计算: CPU system:称为host。GPU system:…

cuda和cudatoolkit

Pytorch 使用不同版本的 cuda 由于课题的原因,笔者主要通过 Pytorch 框架进行深度学习相关的学习和实验。在运行和学习网络上的 Pytorch 应用代码的过程中,不少项目会标注作者在运行和实验时所使用的 Pytorch 和 cuda 版本信息。由于 Pytorch 和 cuda 版…

最新CUDA环境配置(Win10 + CUDA 11.6 + VS2019)

最新CUDA环境配置(Win10 CUDA 11.6 VS2019) 本篇博客根据NVIDIA 官方文档所述, 并根据自己实践得出. 供各位需要的朋友参考. 1.前言 本篇文章的软件环境为: Windows 10CUDA 11.6VS2019 CUDA是目前做人工智能, 深度学习等方向的必备工具库. 由CUDA衍生出的加速工具很多, …

一文搞懂CUDA

什么是cuda 统一计算设备架构(Compute Unified Device Architecture, CUDA),是由NVIDIA推出的通用并行计算架构。解决的是用更加廉价的设备资源,实现更高效的并行计算。 CUDA是NVIDIA公司所开发的GPU编程模型,它提供…

GPU,CUDA,cuDNN的理解

我们知道做深度学习离不开GPU,不过一直以来对GPU和CPU的差别,CUDA以及cuDNN都不是很了解,所以找了些资料整理下,希望不仅可以帮助自己理解,也能够帮助到其他人理解。 先来讲讲CPU和GPU的关系和差别吧。截图来自资料1(CUDA的官方文档): 从上图可以看出GPU(图像处理器,…

CUDA编程之快速入门

CUDA(Compute Unified Device Architecture)的中文全称为计算统一设备架构。做图像视觉领域的同学多多少少都会接触到CUDA,毕竟要做性能速度优化,CUDA是个很重要的工具,CUDA是做视觉的同学难以绕过的一个坑,必须踩一踩才踏实。CUDA编程真的是入门容易精通难,具有计算机体…

CUDA学习

想想学习CUDA的时间也应该有十来天了,也该是做一个小总结了,说说我理解的CUDA,它到底是什么东西? 其实说到CUDA,还真的没几个人知道,说实话,我也听说不久,主要因为它2007年才刚发布&…

CUDA简介

CUDA简介 CUDA是什么 CUDA,Compute Unified Device Architecture的简称,是由NVIDIA公司创立的基于他们公司生产的图形处理器GPUs(Graphics Processing Units,可以通俗的理解为显卡)的一个并行计算平台和编程模型。 通过CUDA&#…

CUDA是什么-CUDA简介

在大家开始深度学习时,几乎所有的入门教程都会提到CUDA这个词。那么什么是CUDA?她和我们进行深度学习的环境部署等有什么关系?通过查阅资料,我整理了这份简洁版CUDA入门文档,希望能帮助大家用最快的时间尽可能清晰的了…

java队列和栈 共同_java 栈和队列的模拟--java

栈的定义:栈是一种特殊的表这种表只在表头进行插入和删除操作。因此,表头对于栈来说具有特殊的意义,称为栈顶。相应地,表尾称为栈底。不含任何元素的栈称为空栈。 栈的逻辑结构:假设一个栈S中的元素为an,an-1,..,a1&am…

栈和队列学习总结

一、栈 1、特点及应用 先进后出。(如果会和队列先进先出记混的话,就记场景吧:弹栈弹栈,就是把最上面的最新进来的弹出去;而队列就像我们火车站排队检票出站一样,谁排在前面谁就先出去。) 应用的话,其实我们经常接触呀。比如Undo操作(就是撤销操作)就是使用的栈的思想…

栈和队列的共同点和不同点

堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。 要点:堆:顺序随意 栈:后进先出(Last-In/First-Out) 堆 堆:什么是堆?又该怎么理解呢? ①堆通常是一…

栈和队列实现和实例分析

目录 前言栈队列实例分析结语 前言 本篇文章主要讲述数据结构中栈和队列的实现,以及相关实例分析。 栈 注意本文所讲述的栈是数据结构的一种,并不是内存划区中的栈区,但是这两者有相似之处,即:存储数据时满足数据先…

栈和队列的共同处和不同处

共同处 栈和队列的共同处是:它们都是由几个数据特性相同的元素组成的有限序列,也就是所谓的线性表。 不同处 队列 队列(queue)是限定仅在表的一端插入元素、在另一端删除元素的线性表。 在队列中,允许插入的一端被…

索引的优缺点以及索引的设计原则

索引概述 索引(index) 是帮助 MySQL 高效获取数据的数据结构(有序)。 在数据之外,数据库系统还维护者满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据&#xff0…

SQL数据库之索引优缺点

SQL数据库之索引使用原则及利弊 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。 优点 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 可以大大加快数据的检索速度,这也是创建…

Oracle索引的建立及优缺点

在看公司建表语句时发现了这样一段代码 本着学习的态度面向百度::::: 原来这是Oracle的索引 Oracle的索引说明 1)索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引。在…

MySQL索引的优缺点

MySQL 中的索引简介 1、索引的优点 为什么要创建索引?这是因为,创建索引可以大大提高系统的查询性能。 第一、通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二、可以大大加快数据的检索速度,这也是创建索引的最…

MySQL索引的使用知识有哪些?

面试造火箭,工作拧螺丝,虽然工作时我们都在使用基本的 sql,但是不好意思,面试 90% 都在问原理,例如索引,锁,日志,引擎啊等等。 在关系数据库中,索引是一种单独的、物理的…