加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 大数据 > 正文

国产GPGPU怎样赶超国外?这3条路最有希望

发布时间:2022-02-24 11:03:29 所属栏目:大数据 来源:互联网
导读:通用or专用,智能算力芯片架构该如何设计? 常用芯片中最通用的就属CPU。以英特尔、AMD为代表,几乎可以做任何事情,但是无法做到极致的性能和功耗。能做到极致能效比的是专用芯片,既所谓的ASIC。但是它的编程性差,应用的范围就比较窄。 而在这两个极端之
       通用or专用,智能算力芯片架构该如何设计? 常用芯片中最通用的就属CPU。以英特尔、AMD为代表,几乎可以做任何事情,但是无法做到极致的性能和功耗。能做到极致能效比的是专用芯片,既所谓的ASIC。但是它的编程性差,应用的范围就比较窄。
 
  而在这两个极端之间还有很多选择,比如GPU,这些年越来越成为行业的热点。GPU是一个相对比较通用的处理器,现在称之为GPGPU,具有良好的编程性,特别适合大规模数据并行类应用。还有一类在硬件灵活度上更大的就是FPGA(现场可编程门阵列),这类器件可以通过硬件描述语言来改变逻辑结构,性能和功耗会更好,只是编程的难度较大。通过分析过去五年具有代表性的芯片公司的股价走势,就可以对行业的发展趋势窥见一斑:英特尔近五年股价上涨了50%;Xilinx(全球领先的FPGA公司)股价大概上涨了2.6倍;而英伟达(当红的GPGPU垄断企业)过去五年股价上涨了16倍。我们即便不去追究深层次的原因,仅凭股价的成长也可以判断行业已经作出了选择,GPGPU已经成为未来计算的主角和核心。
 
  同时,以史为鉴,从GPU的发展历史看,它是如何一步一步成长为行业王者的?GPU早在上世纪八十年代就已经出现了,那时对于游戏的需求催生了特殊的专用于图形渲染的硬件,这就是早期的GPU。在1990年-2000年这段时间,涌现了很多GPU厂商,每家公司规模并不大,有很多代表性的专用芯片产品。但是到了2005年左右,大家意识到在图形学这个领域算法变化很快,可能每隔几个月甚至每隔几周就会发生翻天覆地的变化。但芯片需要18个月才能完成一次更迭,如果把硬件完全固定下来就无法跟上行业发展的节奏。
 
  所以,人们开始探索把原来不可变的执行流水线,设计成可以部分编程的架构,这种架构更加灵活,可以更加高效的适应算法的变化。真正的GPGPU行业大发展始于2006年出现的CUDA(Compute Unified Device Architecture,统一计算设备架构),它是一种精心设计的、可对GPGPU直接编程的接口和语言。从此以后,对于大量的数据并行应用就可以方便地使用CUDA编程,从而释放出GPGPU中可观的算力。
 
  所以回看过去几十年GPU的发展之路,是一条从“专用”过渡到“比较通用”,直到现在“非常通用”的发展路径。如果我们用来类比今天的人工智能,是否也有相同的趋势?AI需要极致的算力和能效比,做成专用芯片可能是合适的。但AI算法的变化又非常快,可能以“天”计,这又要求我们不能做成非常固定的硬件,可能最后也会收敛到一个偏通用的架构。这是我们的一个推论。摩尔定律已经被“社死”了很多年,在很多年前就有人说摩尔定律要终结了,但这些年摩尔定律非但没有终结,而且还活得很好。
 
  如今5纳米工艺可以量产,3纳米也没问题,1纳米也能够预见,摩尔定律仍然会持续下去,而且会持续相当长的时间。但确实,计算机不会变得更快。因为频率不会变得更高,所以CPU的性能总体趋于稳定。但计算机能够集成的计算资源和存储资源还是会不断翻倍,因为摩尔定律使得硬件集成度每隔18个月提升一倍。摩尔定律和GPGPU可谓“佳偶天成”,数据并行是一种可扩展性最强的并行方式,只要有海量的数据并行性,同时芯片又能够按照摩尔定律不断堆砌硬件资源,GPGPU的性能就会不断提升。历史已经证明GPGPU的胜出归根结底是摩尔定律的功劳。
 
  既然针对某个特定应用做到极致能效比的方式是专用芯片,那么专用芯片是否会比GPGPU更加有优势呢?实际上GPGPU的架构也不是一成不变的,也会加入专用的单元用于处理专业的任务,从而使得GPGPU的发展与时俱进,它可以是专用和通用的结合体。比如Volta这一代的GPGPU,在流处理器里就把计算资源分成几块,既有计算整型数的单元也有强大的浮点数单元。
 
  为了适应人工智能的发展,还特意加入了新的单元,叫Tensor Core,其实就是为AI量身定做的专用计算单元。所以,GPGPU的架构也在不断更新、不断地去适应新型应用所需要的底层算力。如果说传统GPGPU的算力并行度是以一个数据点为基本的粒度,在这个规模上并行,那么到了Tensor Core就变成了以小矩阵块为基本粒度并行了,它在每一个周期都可以完成一个4×4矩阵相乘的结果,所以并行度和算力都高于传统GPGPU的设计。
 
  这个概念还可以推而广之,比如说华为的昇腾AI处理器中的核心单元3D Cube,实际上就是一个矩阵计算的阵列块,而它的规模比Tensor Core还要大,是以16×16为单位来做矩阵计算的,因此它的粒度更大,并行度更高,并且做同样的矩阵计算平均下来功耗更低。但是基本单元块粒度过大的话,相对于程序来说控制就复杂,通用性和适用性就下降。所以各个公司都是尽量在功耗、性能以及并行的粒度和可编程性之间找到一个平衡点。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读