最近开始接触云计算底层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 中的核,用来进行数值计算。

GPU与CPU、显卡、显存关系相关推荐

  1. ubuntu中显示本机的gpu_Ubuntu下实时查看Nvidia显卡显存占用情况和GPU温度

    一.查看Nvidia显卡显存占用情况 查看Nvidia显卡显存占用情况 nvidia-smi 效果如下: 显示的表格中: Fan: 风扇转速(0%–100%),N/A表示没有风扇 Temp: GPU温 ...

  2. Ubuntu下实时查看Nvidia显卡显存占用情况和GPU温度

    一.查看Nvidia显卡显存占用情况 查看Nvidia显卡显存占用情况 nvidia-smi 效果如下: 显示的表格中: Fan: 风扇转速(0%–100%),N/A表示没有风扇 Temp: GPU温 ...

  3. 查看显卡显存_3d渲染需要多大显存比较合适?显存在渲染中的作用

    今天我们来和大家聊一聊关于3d设计渲染需要多大显存比较合适的问题,其实渲染不光是做3d设计的时候会用到,包括视频剪辑的时候也需要渲染,简单的说,只要是设计到图形.视频的相关工作都会涉及到渲染这个概念, ...

  4. 计算机改显存会有啥影响,显卡显存越大越好吗?显存对电脑速度的影响有哪些?...

    对于刚接触DIY领域的小白玩家来说,衡量显卡性能的指标就是GPU芯片和其频率,这也确实是显卡性能的决定性因素.但除了GPU,还有一个对显卡性能影响较大的部分,那就是显存. 显卡显存越大越好吗?显存对电 ...

  5. 如何知道计算机显卡内存,电脑显卡是什么 怎么查显卡显存【图文】

    电脑显卡是什么?相信对于大部人都懂的怎么使用电脑,却不知道电脑显卡是什么.电脑显卡是电脑关键的一部分,如果没有了电脑显卡,即使有显示频也不能显示.相信对于一些游戏玩家来说,显卡这个名词必须是很熟悉,因 ...

  6. 电脑有独显内存还被占用_内存条:独立显卡显存,正式再见

    原标题:内存条:独立显卡显存,正式再见 因为电脑内存对于显卡显存来说使用面宽泛的多,自电脑诞生以来可以没有独立显存但是绝不能没有内存,到现在仍然有不少电脑只是使用CPU自带的核芯显卡,内存直接当作显存 ...

  7. 网购计算机如何看显卡信息,电脑显卡是什么 怎么查显卡显存【图文】

    电脑显卡是什么?相信对于大部人都懂的怎么使用电脑,却不知道电脑显卡是什么.电脑显卡是电脑关键的一部分,如果没有了电脑显卡,即使有显示频也不能显示.相信对于一些游戏玩家来说,显卡这个名词必须是很熟悉,因 ...

  8. 显卡显存测试u盘 mats_与RX5700持平?RX 5600 XT Phantom Gaming 开箱/测试

    1月7日,AMD推出了最新7nm制程的Radeon™ RX 5600 XT绘图引擎.显卡与迷你计算机领导厂商华擎科技也随之推出了三款Radeon™ RX 5600 XT绘图引擎的显卡.Radeon R ...

  9. 吃鸡测试硬件的软件,绝地求生大逃杀对显卡显存要求高吗?实测吃鸡对显存的需求...

    绝地求生大逃杀是一款时下最火的沙盒游戏之一,当玩家在游戏中获胜之后会有"大吉大利,今晚吃鸡"的提示,因此很多玩家俗称这款游戏叫"吃鸡"!绝地求生大逃杀对显卡显存 ...

  10. 查看显卡显存_显卡显存越大性能就越好吗【详细介绍】

    显卡显存越大性能越好吗?作为一个游戏爱好者来说,最为关心的应该就属显卡.但一般来说,在购买显卡的时候,我们除了需要了解显卡型号,主要也会看看显存大小.显存类型等等,因为就算是同一型号的显卡也有不一样的 ...

最新文章

  1. 现在的教育:感慨之一
  2. C/C++-style输入输出函数
  3. R语言与数据分析:时间序列简单介绍
  4. [自爆系列]浅谈我对搜索的错误了解
  5. Spring MVC 参数自动绑定List的解决方案
  6. 模拟栈数据结构改进版(使用异常)
  7. Ubuntu下的文件安全删除工具
  8. 用 Python 写出这样的进度条,刷新了我对进度条的认知
  9. js 清除html页面,如何清除使用JavaScript输入的HTML文件?
  10. 如何征服“支付”这个磨人的小妖精
  11. web逻辑思维题目_逻辑思维训练500题
  12. mysql数据库丢失还原_MySQL数据库丢失后如何自动恢复呢?
  13. java判断今天是否是节假日_java 判断日期是否是节假日
  14. 最新资料!工银亚洲开户见证业务受理网点(广东地区,除了深圳)
  15. 【转载】Markdown编辑器如何在标题上添加序号
  16. java 泰国_游记:泰国之旅
  17. Android APP连接 MySQL
  18. OLE程序开发利用(开发EXCEL)
  19. pycharm新建项目环境设置详解
  20. 大学物理之质点运动的两个坐标系。

热门文章

  1. 大数据时代 输入法的选择
  2. 无焦点显示窗口解决方法 [转]AttachThreadInput的用法
  3. Underwater Photography: Macro 水下摄影:宏观 Lynda课程中文字幕
  4. 多测师肖sir_高级金牌讲师_测试理论之IT常见术语(1.2)
  5. 【深度学习】EMD距离
  6. 诚之和:“旧改之王”佳兆业爆雷后,兑付方案最新出炉
  7. 腾讯是如何大幅降低带宽和网络流量的
  8. 如何制作App隐私政策html
  9. 飞鸽传书不能使用的问题
  10. 新华三集团执行副总裁叶健离职