显卡、GPU和CUDA简介

本文介绍了显卡、GPU和CUDA的基本概念。显卡是计算机显示图形任务的关键设备,GPU由Nvidia提出,起初专用于图形渲染,后来发展为通用并行计算,CUDA则使得程序员可以更方便地利用GPU的计算能力。CPU主要负责逻辑处理,GPU擅长并行计算。此外,文章还区分了独立显卡和集成显卡,并概述了Nvidia的显卡产品线。

小白真的一直搞不懂什么是 显卡,GPU,CUDA?


互联网的信息共享,真的是造福人类,大牛对世界的解读也总是能造福我们这种对世界知之甚少的小白。从某只大佬那里窃取点信息,以便日后回顾。

什么是显卡?


显卡(Video card,Graphics card)全称显示接口卡,又称显示适配器,是计算机最基本配置、最重要的配件之一。就像电脑联网需要网卡,主机里的数据要显示在屏幕上就需要显卡。因此,显卡是电脑进行数模信号转换的设备,承担输出显示图形的任务。具体来说,显卡接在电脑主板上,它将电脑的数字信号转换成模拟信号让显示器显示出来。

原始的显卡一般都是集成在主板上,只完成最基本的信号输出工作,并不用来处理数据。随着显卡的迅速发展,就出现了GPU的概念,显卡也分为独立显卡和集成显卡(见附1)。

什么是GPU?


GPU这个概念是由Nvidia公司于1999年提出的。GPU是显卡上的一块芯片,就像CPU是主板上的一块芯片。那么1999年之前显卡上就没有GPU吗?当然有,只不过那时候没有人给它命名,也没有引起人们足够的重视,发展比较慢。

自Nvidia提出GPU这个概念后,GPU就进入了快速发展时期。简单来说,其经过了以下几个阶段的发展:

1)仅用于图形渲染,此功能是GPU的初衷,这一点从它的名字就可以看出:Graphic Processing Unit,图形处理单元;
2)后来人们发现,GPU这么一个强大的器件只用于图形处理太浪费了,它应该用来做更多的工作,例如浮点运算。怎么做呢?直接把浮点运算交给GPU是做不到的,因为它只能用于图形处理(那个时候)。最容易想到的,是把浮点运算做一些处理,包装成图形渲染任务,然后交给GPU来做。这就是GPGPU(General Purpose GPU)的概念。不过这样做有一个缺点,就是你必须有一定的图形学知识,否则你不知道如何包装。
3)于是,为了让不懂图形学知识的人也能体验到GPU运算的强大,Nvidia公司又提出了CUDA的概念。

什么是CUDA?


CUDA(Compute Unified Device Architecture),通用并行计算架构,是一种运算平台。它包含CUDA指令集架构以及GPU内部的并行计算引擎。你只要使用一种类似于C语言的CUDA C语言,就可以开发CUDA程序,从而可以更加方便的利用GPU强大的计算能力,而不是像以前那样先将计算任务包装成图形渲染任务,再交由GPU处理。
注意,并不是所有GPU都支持CUDA。

CPU和GPU的关系


在没有GPU之前,基本上所有的任务都是交给CPU来做的。有GPU之后,二者就进行了分工,CPU负责逻辑性强的事物处理和串行计算,GPU则专注于执行高度线程化的并行处理任务(大规模计算任务)。为什么这么分工?这是由二者的硬件构成决定的。
可以看出,CPU是“主(host)”而GPU是“从(device)”,GPU无论发展得多快,都只能是替CPU分担工作,而不是取代CPU。

独立显卡和集成显卡的区别


所谓集成,是指显卡集成在主板上,不能随意更换。而独立显卡是作为一个独立的器件插在主板的AGP接口上的,可以随时更换升级。

另外,集成显卡使用物理内存,而独立显卡有自己的显存。一般而言,同期推出的独立显卡的性能和速度要比集成显卡好、快。

值得一提的是,集成显卡和独立显卡都是有GPU的。

Nvidia显卡分类


GeForce系列:家庭娱乐。打游戏必备;
Quadro系列:专业绘图设计。视频渲染,经常使用3ds Max、Maya等软件的必备。
Tesla系列:高端显卡,用于大规模的并行计算。土豪必备。
另外,目前比较流行的物理引擎PhysX,并不是所有显卡都支持。官方文档上说GeForce 8及之后的显卡都支持。

小Tip


1、判断哪几块GPU空闲查看GPU使用情况:nvidia-smi
可参考:https://blog.youkuaiyun.com/sallyxyl1993/article/details/62220424 的详细解读
2、指定机器上的GPU 可设置环境变量:CUDA_VISIBLE_DEVICES=1
3、后台执行程序可使用nohup命令:nohup 【commad】 &

结束语:


CUDA知识一种并行计算架构,相关的概念还有OpenCL、OpenMP等。
参考:https://www.cnblogs.com/feng9exe/p/6723214.html

### 查看 Windows 系统中的 GPU CUDA 版本信息 在 Windows 系统中,可以通过多种方式获取 GPU CUDA 的版本信息,具体方法如下: #### 使用命令行工具查询 GPU 信息 打开命令提示符(CMD)或 PowerShell,并运行以下命令来查看 GPU 的型号相关信息: ```cmd wmic path win32_videocontroller get name ``` 此命令会列出系统中安装的 GPU 型号,适用于判断是否支持 CUDA 计算功能。 #### 使用 `nvidia-smi` 查询 CUDA 版本 如果系统已安装 NVIDIA 显卡驱动,则可以通过 NVIDIA 提供的 `nvidia-smi` 工具查看 CUDA 版本。在命令提示符中运行以下命令: ```cmd nvidia-smi ``` 输出结果中会显示当前驱动支持的 CUDA 版本信息,例如 `CUDA Version: 11.7`,表明该驱动支持 CUDA 11.7 版本[^2]。 #### 使用 `nvcc` 查询 CUDA 编译器版本 如果系统中已安装 CUDA 工具包,则可以使用 `nvcc` 命令查看 CUDA 的版本信息: ```cmd nvcc --version ``` 输出结果中将包含 CUDA 编译器的详细版本号,例如 `Cuda compilation tools, release 11.7, V11.7.64`,表明当前安装的 CUDA 版本为 11.7[^3]。 #### 使用 Python PyTorch 查询 CUDA cuDNN 版本 如果已安装 PyTorch 框架,可以通过以下 Python 代码快速获取当前环境使用的 CUDA cuDNN 版本: ```python import torch print("PyTorch Version:", torch.__version__) print("CUDA Version:", torch.version.cuda) print("cuDNN Version:", torch.backends.cudnn.version()) ``` 运行上述代码后,将输出当前 PyTorch 版本所支持的 CUDA cuDNN 版本信息。例如,输出可能包含 `CUDA Version: 11.7` `cuDNN Version: 8400`,分别表示 CUDA cuDNN 的具体版本[^4]。 #### 检查系统驱动支持的 CUDA 版本 在安装深度学习框架(如 PyTorch 或 TensorFlow)时,需要确保框架所依赖的 CUDA 版本与系统中安装的驱动兼容。可以通过 NVIDIA 官网提供的 [CUDA 兼容性文档](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html) 来确认当前驱动支持的最高 CUDA 版本[^1]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值