如何设计一颗40PFLOPS量级的AI芯片?

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


作者 | 唐杉

来源 | 公众号StarryHeavensAbove


Nvidia刚刚发布的最强“GPU”DGX-2,由16颗V100+12颗NVSwitch芯片组成,能够提供2PFLOPS。而单颗V100的Deep Learning处理能力是120TFLOPS。如果我们要设计一颗能够实现40PFLOPS处理能力的AI芯片,该怎么操作?其实挺“简单”,把芯片面积尽可能做大。那么单个裸片(Die),最大能做多大呢?当然就是占满一片晶圆(Wafer)的面积。这就是今天要讨论的话题,Wafer Scale Integration(WSI)。


这不是一个凭空想像的话题,传说有人正在尝试一个8英寸x 8英寸的WSI。而它实现的指标就是40PFLOPS,能耗17KW(16nm工艺)。本文并不是为了讨论这个传闻,而是为了探讨WSI的可能性,毕竟之前的尝试都失败了。有个形象的感觉,我在A4纸上按照1:1的比例画了一下这个芯片的裸片(Die)想象图(面积41290.24mm2)。大家可以感受一下,差一点A4纸就放不下了。作为对比也画出了Nvidia的P100芯片的Die(假设是正方形)(面积是610mm2)。这里用P100对比,是因为它也是用的16nm工艺。


640?wx_fmt=jpeg


做芯片的同学应该都了解一片晶圆只产出一个裸片意味着什么,所以当我把这张图贴到朋友圈的时候也引来了激烈的评论。除了问这是谁家的之外,问题主要围绕在良率,容错,封装,散热等话题上。当然,大家的问题都问到了点子上。



和我们之前讨论过的脉动阵列(脉动阵列 - 因Google TPU获得新生),异步电路(“传说中”的异步电路是否能在AI芯片中异军突起?)技术一样,WSI并不是什么新技术。从Wikipedia的“Wafer-scale integration”词条就可以看出它的历史。在上个世纪70和80年代,就开始有很多这方面的尝试,其目标主要是服务于超算领域(massively parallel supercomputers)。如果能够实现,好处是显而易见的,可以在一颗芯片上实现大量的运算和存储资源,而它们之间的通信可以使用芯片上相对“物美价廉”的连线资源。但是,当时的所有尝试都失败了。


在1984年的ISSCC会议上,有个关于WSI的讨论,组织者之一是David A. Patterson。在会议纪要中可以看到如下对问题的描述:


the 60s, various approaches were tried, primarily to reduce system cost. Then, the scale of integration was too low and the ratio of redundant circuits to active circuits was too high to be cost-effective compared to more direct means of improving yield. 

Today, there are several additional motivations for wafer scale integration/redundancy including: system reliability; high performance through the use of very wide, fast data busses for array/systolic processors and CPUs; and system flexibility and reconfigurability. 

The major issues for application of WSI include generality; technical problems such as testing and yield statistics; and practical problems such as packaging, ruggedness, repairability, and system partitioning.


而在后面的讨论中,既有乐观的看法,即未来5年内随着相关芯片技术的进步,就可以实现实用的WSI系统;也有悲观的论点,即它永远不可能成为主流的芯片技术。虽然我们很难预测未来,但至少到目前为止,后者更为准确。


虽然是冷门技术,但相信大家在看到40PFLOPS这样的指标时,还是会有兴趣再做一点深入的分析。其实我第一次听说有公司在做这东西的时候,基本是不相信的,直到从很多侧面得到了印证,才开始认真的思考它的可能性。


如前面所说,WSI最大挑战主要包括两个方面。首先是和硅片生产引入的缺陷相关的技术问题。然后是集成中面对的实际问题,包括封装,散热,供电等。我们先看看前者。

640?wx_fmt=png


芯片生产过程中一定会产生缺陷,缺陷应该是以工艺复杂度不同而以不同概率出现在wafer上。以平均缺陷密度D0表征。一般的芯片生产中,一片晶圆都会切割出很多裸片。对于有缺陷且无法“修复”的芯片,剔除就可以了。在同样的缺陷分布情况下,晶圆上的裸片越大(分割的数量越少),缺陷的影响就越大(剔除的面积就约大)。


上图就是反映良率(yield)的和裸片面积的关系。对于WSI这种一片晶圆一颗裸片的极端情况,如果剔除就是整个晶圆都浪费了。所以,如果只看一片Wafer,我们可以说它的良率是‘0%’。WSI的良率应该看所有Wafer中能够正常(或者基本正常)工作的裸片的比例。不难看出,WSI的挑战主要就是在一定会有错误的情况下,如何尽量减少错误的影响,即容错设计的问题。


对于容错设计,其实在芯片设计中是有过大量的探索和经验的,有的也相当成熟。对于运算,存储和互连中可能出现的错误及修复方法(包括硬件和软件的修复),我们可以找到很多参考。而考虑到AI芯片的一些特点,容错设计可能会相对容易处理一些。


第一,AI芯片中,存储器所占比例很高,而存储器的容错设计是比较成熟的技术。


第二,考虑到AI算法的特点,不论是DNN还是类脑计算(SNN),都有可能在算法层面做一些容错设计。([2]中也可以看到对此的描述)


第三,AI芯片一般采用比较规则的多核架构(以NoC连接),在WSI中可以比较自然的分成不同的区域(类似于一个Wafer上虚拟的“分割”成很多裸片)。这样,即使出现无法通过软件修复的缺陷,还可以通过牺牲性能,关闭某个独立内核的方法来部分解决。


在各种缺陷当中,最为头疼的是短路问题,一旦电源地短路,整个域都会挂掉。电源地短路的可能性很多,还是相当麻烦的。这一点还不知道是否有好的办法。另一个问题是制程均一性问题,高端制程很难保证整片wafer这么大区域内器件性能一致,可能导致不同区域性能不一致,wafer中心和边缘的核心速度不一致。在这种情况下,芯片间互连需要特别处理,而系统运行和调度也很有挑战。


一些容错设计需要建立在定位缺陷的基础上,只有准确定位了缺陷的位置,才有可能实现修复。如果是同步设计,基本上现有的DFT方法问题不大,主要是测试规模的问题。另外,时间中应该会进行大量的功能测试,需要比较长的时间来进行测试,修复和调试。不过,这种规模的芯片肯定是以系统的方式销售,即使需要更多的调试时间也问题不大。


当然我们在实践中不可能做到100%容错,而最终的考量还是经济性,即付出多少代价(比如冗余的芯片面积,性能损失等等)来预防,测试和修复缺陷在经济上是可以接受的。这一部分话题挺多,以后有机会可以深入探讨一下



其实,相对于容错的问题,我对实现中的封装,散热和供电等问题更为好奇和担心(主要是这方面经验比较少2_05.png)。而[3]这个Google的专利“SUPERCOMPUTER USING WAFER SCALE INTEGRATION”,让我对这个问题有了比较乐观的看法。这个专利是Google 2015年2月申请的,主要就是解决WSI的封装,散热和供电等问题。下图是这篇论文的一个实施例的概况,300mm直径(12吋)的Wafer,89个chip site,每个大约边长24mm。整个晶圆进行封装而不切割。


The full wafer is packaged without dicing. The chips are composed of an active chip area, which contains active semiconductor devices such as processors, memory, and other logical elements, and a connection Zone 22 around the perimeter, which contains no active devices. The chips may be identical, or maybe a mixture of different chips, and may be wired together using the upper metal layers.

640?wx_fmt=jpeg


其中在B的位置的剖面如下图所示,其中主要是工艺实现的内容。


640?wx_fmt=jpeg

FIG. 4 shows an upper layer 41 formed of tetraethyl orthosilicate (TEOS) or fluorinated TEOS (FTEOS) based oxide insulators with embedded Cu BEOL 42 wiring, a lower layer 43 formed of a low-k dielectric insulators with additional Cu BEOL wires, and active devices 44. There is no crack stop structure at the perimeter that would block connections since the dies are not diced out of the wafer. The upper levels of wiring are used for communications between chips. Exposures are “stitched together to form connections across the boundary between die/exposures. The die/exposures either butt against each other or have a slight overlap. No active devices 44. Such as transistors, etc., are present in the connection Zone 31. The chips/dies may all be identical, or may be a mixture of unique chip types.


下一个重要的内容就是散热。下面几张图是从下(贴近硅片)到上的多个封装层的式样。而这些层就是为了实现所谓的“microchannel cooler”。“The individual layers of the wafer scale microchannel cooler and glass manifolds are shown schematically in FIGS. 5A-F, where the approximate thickness of each layer is also indicated.

640?wx_fmt=jpeg


The liquid flow path through this structure would start with an inlet fitting, proceed through an inlet opening to a horizontal manifold, through an opening in the manifold separator to a vertical inlet manifold, and then through a vertical inlet slit down to the microchannel wafer, where the water would be confined to the horizontal silicon channels until it reaches a vertical outlet slit and flows through a vertical manifold, an opening in the manifold separator to a horizontal manifold, and exits through an outlet opening and an outlet fitting. The vertical manifolds are tapered since coolant is being continuously provided to, or received from, the vertical inlets or outlets, and slits and microchannels along the length of the vertical manifolds.


这部分看的不是很明白,不过简单来说应该就是通过微导管来实现某种水冷的机制。


再后面还有供电和I/O的示意图。其中13是裸片的衬底(die substrates),水平方向;14是与之垂直的供电板;17是垂直的I/O板。最下面的图是从上往下(13在下方)看的俯视图。

640?wx_fmt=jpeg


把这些所有的内容组合在一起,就构成了下图这样的WSI完整形态。上面是供电和I/O,下面主要是散热部分,除了之前看到的那些层次,还包括一层玻璃(15)和用于液体循环的管道(16)。

640?wx_fmt=jpeg

Google这个专利看起来很有意思,但他们是否真的做过实验来进行验证,以及这种方法是不是能实际操作不清楚了。



到这里,最后剩下的问题就是,在WSI可做的前提下,如何能做一个能实现40PFLOPS运算能力的系统。相对而言,这个问题似乎要号回答一些。之前我们讨论过的很多架构(可以参考:Nvidia Volta - 架构看点脉动阵列 - 因Google TPU获得新生解密又一个xPU:Graphcore的IPUGraphcore AI芯片:更多分析Groq把AI芯片的性能推向新高),放到这样大的芯片上似乎都有可能达到这样的指标。比如1984年的论文[4],讨论的就是脉动阵列怎么通过WSI实现的问题。


再把脑洞开大一点,[2]中所说的3D WSI似乎可以把系统的处理和存储能力扩展到更大规模,也许真能实现达到人脑规模的“platform for a wafer scale neuromorphic computer”也说不定,如下图。

640?wx_fmt=jpeg

640?wx_fmt=jpeg


最后声明一下,本文的目的和大家一起了解一下WSI的可能性,对我来说也是一种学习,难免有不准确的地方,还请真正研究这个领域的朋友批评指正。


参考:

1. P. A. Ivey, "The ELSA Wafer Scale Integration Project", IEEE Transactions on components Hybrids & Manufacturing Technology, vol. 16, no. 4, November 1993.

2. Arvind Kumar, “3D Wafer Scale Integration: A Scaling Path to an Intelligent Machine”,Neuro-Inspired Computational Elements Workshop Berkeley, CA March 9, 2016

3. Google, "SUPERCOMPUTER USING WAFER SCALE INTEGRATION", US 9,568,960 B2.

4. H. T. Kung, M. S. Lam, "Wafer scale integration and two-level pipelined implementation of systolic arrays", J. Parallel Distributed Comput., vol. I, pp. 32-63, 1984.


招聘

AI科技大本营现招聘AI记者和资深编译,有意者请将简历投至:gulei@csdn.net,期待你的加入


AI科技大本营读者群(计算机视觉、机器学习、深度学习、NLP、Python、AI硬件、AI+金融、AI+PM方向)正在招募中,和你志同道合的小伙伴也在这里!关注AI科技大本营微信公众号,后台回复:读者群,添加营长请务必备注姓名,研究方向。

640?wx_fmt=gif
640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

AI科技大本营公众号ID:rgznai100640?wx_fmt=jpeg


☟☟☟点击 | 阅读原文 | 查看更多精彩内容

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页