GPU与CPU、显卡、显存关系

news/2024/11/23 0:10:29/

最近开始接触云计算底层GPU虚拟化方面的业务,之前对GPU直通,显存监控等了解的不多,查阅资料,做下总结。

一、GPU与CPU

GPU 表示 Graphics Processing Unit,即图像处理单元。一开始的时候GPU 主要用于 3D 游戏的渲染,但是现在GPU已经广泛用于加速计算性负载,比如金融模型计算、科学研究以及石油和天然气开发等。从架构上看,CPU 是由若干核(core)和许多的缓存(cache memory)组成,因此CPU可以并行处理若干线程。相对地,GPU是由几百个核组成,因此可以并发处理数千个线程。尽管 GPU 的内核数目远远超过 CPU,但是它的每个核的处理能力远小于CPU的核,而且不具有现代操作系统的所需要的一些特性,GPU 并不合适用于处理普通的计算。它们更多地用于计算消耗性操作,比如视频处理和物理仿真等。

                                          (GPU 和 CPU 对比) 

可以使用 lspci 命令来获取 GPU PCI 设备:

# lspci -nn | grep NVI
85:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK104GL [GRID K2] [10de:11bf] (rev a1)
86:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK104GL [GRID K2] [10de:11bf] (rev a1

输出中各个值的说明:

输出值含义详细解释
"85:00.0" 和 “86::00.0”以 ”bus:slot.func“ 格式来唯一标识一个 PCI 功能设备

唯一定位一个 PCI 设备的虚拟功能,可以是一个物理设备,也可以是一个多功能设备的功能设备,一个多功能设备可以最多有8个功能。

  • 总线号(bus):  从系统中的256条总线中选择一条,0--255。
  • 设备号(slot):  在一条给定的总线上选择32个设备中的一个。0--31。
  • 功能号(func):  选择多功能设备中的某一个功能,有八种功能,0--7。 PCI规范规定,功能0是必须实现的。
”0300“PCI 设备类型指 PCI 设备的类型,来自不同厂商的同一类设备的类型码可以是相同的。
“10de”供应商识别字段(Vendor ID)该字段用一标明设备的制造者。一个有效的供应商标识由 PCI SIG 来分配,以保证它的唯一性。Intel 的 ID 为 0x8086,Nvidia 的 ID 为 0x10de
“11bf”设备识别字段(Device ID)用以标明特定的设备,具体代码由供应商来分配。本例中表示的是 GPU 图形卡的设备 ID。
“a1” 版本识别字段(Revision ID)用来指定一个设备特有的版本识别代码,其值由供应商提供

二、GPU与显卡

GPU是显卡的核心,显卡则是由GPU、显存、电路板,还有BIOS固件组成的,GPU不等于显卡。

GPU只是显卡上的一个核心处理芯片,是显卡的心脏,不能单独作为外接扩展卡使用,GPU因并行计算任务较重,所以功耗较大,只能焊接在显卡的电路板上使用。

显卡上都有GPU,它是区分显性能的最主要元件,显卡也叫显示适配器,分为独立显卡和主板上集成显卡,独立显卡主要由GPU、显存和接口电路构成,集成显卡没有独立显存而是使用主板上的内存。

如果把显卡的电路板看成主板,GPU就是显卡上的CPU,即显卡的中央处理器。

现在的GPU开发厂家只有2个,一个是AMD(ATI),一个是N'VIDIA英伟达。GPU之于显卡,就相当于CPU之于电脑的关系。

GPU运算时没有其他CPU那些指令集之类东西干扰,所以专一运算效率更高。

GPU是图形处理器,一般GPU就是焊接在显卡上的,大部分情况下,我们所说GPU就等于指显卡,但是实际情况是GPU是显示卡的“心脏”,是显卡的一个核心零部件,核心组成部分。它们是“寄生与被寄生”关系。GPU本身并不能单独工作,只有配合上附属电路和接口,才能工作。这时候,它就变成了显卡。

三、GPU直通

也就是GPU穿透(pass-through),简单说,GPU直通就是虚拟机实现了将物理显卡直接映射到虚拟机,这样你的虚拟机的图像信息就不再交给虚拟显卡,而是直接发送到你真是存在的显卡进行运算,这样效率更高。

四、GPU虚拟化

虚拟化就是将显卡进行切片,并将这些显卡时间片分配给虚拟机使用的过程。有些型号的GPU设备可虚拟化为n个vGPU,n个虚拟机可同时直接使用该GPU设备,根据不同的GPU设备型号和虚拟策略,可进行GPU独占或透传等相应设计。每个虚拟机通过绑定的vGPU可以直接访问物理GPU的部分硬件资源(所有vGPU都能够分时共享访问物理GPU的3D图形引擎和视频编解码引擎,并拥有独立的显存)

五、显存占用和GPU监控

nvidia-smi是 Nvidia 显卡命令行管理套件,基于 NVML 库,可管理和监控 Nvidia GPU 设备。

这里推荐一个好用的小工具:gpustat, 直接pip install gpustat即可安装,gpustat 基于nvidia-smi,可以提供更美观简洁的展示,结合 watch 命令,可以动态实时监控GPU 的使用情况。

watch --color -n1 gpustat -cpu

显存可以看成是空间,类似于内存。

  • 显存用于存放模型,数据

  • 显存越大,所能运行的网络也就越大

GPU 计算单元类似于 CPU 中的核,用来进行数值计算。


http://www.ppmy.cn/news/232397.html

相关文章

显卡,CPU,GPU和CUDA的关系与区别

(1)显卡:显卡全称显示接口卡,又称显示适配器,是计算机最基本配置、最重要的配件之一。就像电脑联网需要网卡,主机里的数据要显示在屏幕上就需要显卡。因此,显卡是电脑进行数模信号转换的设备&am…

gpu和显卡的关系,gpu和cpu的区别

参考:https://baijiahao.baidu.com/s?id1607965696317204020&wfrspider&forpc 一、GPU是什么?与显卡是什么关系?安装在什么地方?有单独的GPU板卡吗? GPU就是图像处理芯片,外表与CPU有点相似。显卡…

GPU是什么以及与CPU的区别

1. GPU是什么? 图形处理器(英语:graphics processing unit,缩写:GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板…

CPU与GPU的区别

CPU和GPU主要由以下5个方面的区别: 一、概念 1、CPU(Central Processing Unit-中央处理器),是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机…

什么是GPU?跟CPU有什么区别?终于有人讲明白了

导读:一文看懂GPU的前世今生。 作者:钱纲 来源:大数据DT(ID:hzdashuju) 2016年,发生了一件震动IT界的大事。谷歌的人工智能软件阿尔法狗(AlphaGo)击败了韩国的世界围棋冠…

GPU、CPU、显卡区别

一、GPU介绍以及与显卡区别论述 GPU是显卡的处理器,称为图形处理器(Graphics Processing Unit,即GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备&#xff…

GPU与CPU、显卡区别

一、GPU介绍以及与显卡区别论述: GPU是显卡的处理器,称为图形处理器(Graphics Processing Unit,即GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设…

Java语言----反射、枚举以及lambda表达式

目录 一.反射 1.1反射的基本情况 1.2反射中最重要的类 1.2.1 Class类 1.2.2Field类 1.2.3Constructor类 1.2.4Methood类 1.3反射优缺点 二.枚举 2.1概念 2.2枚举(enum)类方法 2.3枚举的构造 三.Lambda表达式 3.1Lambda介绍 3.2 函数式接…