Mecanim 发表于 2022-11-14 18:11

GPU相关的一些概念

首先介绍一下机器学习是如何计算的,如果用单层的神经网络来识别数字图片,输入的图片是由像素点组成的,每个像素点又可以表示为灰度值或者RGB值,它会与我们模型对应的参数值进行相乘,相加来得到我们最终的预测结果。那么在实际应用当中,我们会需要执行大量的乘法和加法运算,在数学上我们可以用矩阵计算来表示这一过程。
CPU和GPU都是常见的通用型芯片,CPU能处理复杂的条件和分支,以及任务之间的同步协调,更适合逻辑控制,串行运算和通用类型数据运算。GPU(Graphic Process Unit)则是由更多,更小,更高效的ALU(算术逻辑单元)组成的大规模并行计算架构,具有比CPU大很多的吞吐量,起初是专门用来渲染复杂的图形环境的。
还有一个概念大家相信也听过不少,叫FPGA,FPGA是一种可编程的半定制芯片,主要的特点就是并行处理和可编程性。
ASIC(应用专用集成电路),指的是针对需求专门定制的芯片,最早是开发出来用于挖掘比特币的。
就IC(集成电路)设计而言,中国当前已有近2000家(截至2020年)IC设计公司,联发科作为传统的IC设计厂商 ,也积极大力地发展ASIC业务(联发科已经转变为开放提供IC设计服务,为客户提供现有的主要产品线和核心技术IP,与许多企业进行联合开发,帮助客户降低费用,缩短时间周期)
(ps. 这里的IP可以理解为一种新媒体时代的跨界经营模式,作为一种形象被认可,为别人提供价值扩散影响力)

行业众多的巨头的布局也是非常青睐ASIC,甚至想不依赖联发科自己去做芯片,比如苹果有针对自己IOS应用生态和其他功能的自研芯片;谷歌有TPU(张量处理单元)是一种专门定制于机器学习工作负载的芯片,是谷歌设计的,主要也是为谷歌的产品提供计算支持。英特尔15年以167亿美金收购了FPGA生产商Altera,16年以4亿美金收购了机器学习初创公司Nervana,并在一年后开发出了专为深度学习而打造的神经网络处理器NNP,16年英特尔还收购了一家计算机视觉公司Movidius,其自研芯片曾被大疆Spark无人机,谷歌Clips相机使用。除此之外微软,Amazon,Facebook,阿里(收购中天微)等都有很劲爆的布局。

ASIC的缺点也非常明显,就是芯片无法随着算法的改变而适配。


比如以数据中心领域为例,云服务器不可能每时每刻都有AI的需求,这时候ASIC的利用率就非常低,但GPGPU(general purpose)将GPU的能力拓展到了通用计算领域,可以很灵活地调度各项任务,同时保持和ASIC相当的算力和能耗水平。这种通用化的趋势在GPU的发展中也可以看到,比如微软在DirectX-8的时候就引入了Shader的概念,让GPU拥有更好的可编程性。随着ISA指令集的丰富和上层加速语言的发展,GPU并行计算的优势已经能够越来越渗透到传统CPU所覆盖的领域,也就进入了GPGPU时代,2010年登顶世界超算第一的天河一号就采用了GPGPU方案。
在GPGPU领域,目前能够实现规模量产的只有国外的两家巨头,AMD和NVDIA。国内创企领域有天数智芯,壁仞科技,沐曦集成电路,登临科技,摩尔线程等主要玩家,核心团队几乎都是AMD,NV,三星,华为,高通等大厂出品(还有一些是互联网BAT企业,EDA企业Cadence等等)

接着需要说明的概念是DSA(领域专用架构),它是通过抽取软件算法中的可加速部分来特殊设计硬件架构的一种思路。
Gordon Moore(Process): 芯片中的晶体管数量每一两年都会增加一倍
Dennard Scaling(Power): 晶体管不断变小,但芯片的功率密度不变。
Amdahl Law(ARCH): 不断增加处理器数量会导致性能提升的递减。我们对计算能力和power的追求是永无止境的,我们对照集成电路领域非常有名的的三个定律来看,目前晶体管没什么进步空间了,而发热又限制着功率的增长,所以我们就非常迫切地需要尽可能地通过对特定任务进行特殊架构的方法来提升效能
举个例子来说,上边是NV的Pascal,它可以看作是3D图形领域的DSA
下边是谷歌的TPU,它可以看作是神经网络处理领域的DSA




RISC-V是啥
xx
页: [1]
查看完整版本: GPU相关的一些概念