Bootstrap

canvas需要gpu_【第1892期】GPU加速在前端的应用

前言

今日早读文章由@250的梦想投稿分享。

@250的梦想,招商旗下公司前端开发技术经理,负责公司移动化建设与移动端开发。

正文从这开始~~

概述

GPU(Graphics Processing Unit) 图形处理单元,又称图形处理器,是我们所周知的显卡的核心部件,是显卡的“心脏”。

按照字面意思我们可以猜测得到GPU是和显示(图像相关)的,再结合CPU一起理解,我们可以推测GPU也是有运算(计算能力的)。

GPU到底有何作用和能力呢?

GPU是专为复杂数学运算和几何运算而设计的芯片,它的用途我们平常所周知的就是用于图形图像处理(显卡),但是实际用途不仅仅如此(依托GPU强大的计算能力(多强大下面会讲)进行挖矿、机器学习算法)。

CPU与GPU

上面我们知道GPU可以处理复杂的运算,处理能力比CPU很强,那到底有多强呢,有个数据可以说明:

现在主流的i7处理器的浮点计算能力是主流的英伟达GPU处理器浮点计算能力的1/12。

为什么GPU的处理能力比CPU强,这就需要从逻辑结构来分析一下。

d84039d392bf6c90ec2163b15a78f3f3.png

其中Control是控制器,ALU是算术逻辑单元、Cache是CPU内部缓存、DRAM是内存。从上图我们可以知道GPU将更多的空间(晶体管)用作执行单元,而不是像CPU那样用作复杂的控制单元和缓存(CPU需要同时很好的支持并行和串行操作,需要很强的通用性来处理各种不同的数据类型,同时又要支持复杂通用的逻辑判断,这样会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂,计算单元的比重被降低了),实际来看CPU的芯片控件5%是ALU,而GPU则高达40%(GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。因此GPU的芯片比CPU芯片简单很多),这也就是为啥GPU运算能力超强的原因。

GPU加速

上面我们对比了GPU和CPU在逻辑结构上的差异,从中我们知道得益于GPU密集的逻辑处理单元(高并行结构),GPU适合对高密集的数据进行并行处理,

;