Anatomy of High-Performance Matrix Multiplication
Anatomy of High-Performance Matrix Multiplication
现在我们进行机器学习训练,通常都会使用一些机器学习库,比如TensorFlow这样的库,并且在训练机器学习模型时,通常这些库对性能的提升是数量级的提升。以下以卷积计算为例,去剖析高性能矩阵计算。
1 | ''' |
现在我们进行机器学习训练,通常都会使用一些机器学习库,比如TensorFlow这样的库,并且在训练机器学习模型时,通常这些库对性能的提升是数量级的提升。以下以卷积计算为例,去剖析高性能矩阵计算。
1 | ''' |
本节课主要介绍了CGRA(粗粒度可重构计算阵列架构)和Plasticine架构。相较于FPGA(现场可编程逻辑门阵列),它提供可重构阵列的粗粒度设计,可以认为是FPGA Overlay也是FPGA虚拟化的主流技术,可以克服FPGA中的弱重构、功耗高、速度慢等缺点。Plasticine是斯坦福基于CGRA提出的一种体系结构。
这是一篇有关于深度神经网络加速的综速。本文介绍了DNN的历史背景和作用,介绍的DNN的结构以及当前流行的DNN模型。后面不仅仅介绍了如何从硬件层面加速神经网络,也介绍了从算法,从软件,从软硬件结合的层面实现DNN加速。
暗硅的意思就是一个处理器,比如多核处理器,由于功耗的限制,其实同一时刻只有很少的一部分门电路能够工作,其余的大部分处于不工作的状态,这部分不工作的门电路就叫做”暗硅“。
如下图所示,可以很好地解释暗硅是怎么产生的。
对于一个65nm的4核处理器,假定在额定功率允许的情况下其四个核心能够同时全速工作。当工艺尺寸缩小到32nm的时候,之前4核处理器的面积就可以容纳16个核心。但现实是,这16个核心并不会都工作。能够同时工作的仍然只有四个核心。为什么?假设两代工艺之间缩放因子是S,那么S=65nm/32nm=2,芯片的晶体管数量将乘以$S^2$,即4倍;晶体管的切换频率可以乘以$S$,即2倍,因此总的计算能力将乘以$S^3$,即8倍。由于特征尺寸减小了一半,故晶体管的电容将减小S倍。由于总功耗与晶体管数量和切换频率成正比,和电容成反比,总功耗将变成之前的$S^2$倍,即4倍。为了保持总功耗不变,芯片的利用率只能变为原来的$\frac{1}{S^2}$,即原来的1/4。所以即使有16个核,仍然只有4个核可以工作。
其中,工艺尺寸缩小分为两种,一种是Dennardian缩小,一种是PostDennardian缩小。两者的区别是Dennardian缩小随着工艺尺寸的缩小,芯片的供电电压等比例缩小。而PostDennardian缩小随着工艺尺寸的缩小,芯片的供电电压保持不变。对于Dennardian缩小,同样的面积能够容纳的晶体管数量增大了$S^2$倍,系统频率也增加$S$倍,而供电电压降低了$S^2$倍,电容也减少了$S$倍,总功耗保持不变。由此摩尔定律可以有$S^3$倍计算能力的提高,而PostDennardian缩小由于其供电电压不变,所以总功耗增大了$S^2$倍,为了保持总功耗不变,芯片利用率只能变为原来的$\frac{1}{S^2}$,即原来的1/4,所以摩尔定律只能有$S$倍计算能力的提高。总结上述的情况,暗硅产生的原因就是随着现在芯片尺寸的不断减小,芯片的供电电压不能随着一起降低,为了保持总功耗不变,现在工业界常采用面积来换取能量效率,出现了多核芯片,但芯片中能同时满频率工作的面积依然越来越小,由此产生的暗硅。
文中指出了暗硅四骑手:
(1)THE SHRINKING HORSEMAN
主要思想就是因为面积昂贵,所以希望制造更小的芯片而移除掉暗硅的部分。这是一个很乐观的结果,但前景并不被人看好。原因有:暗硅并不表示它没有用或者不会被用到,它只是不会在任何时候都工作,比如如x86处理器中的SIMD SSE单元;从经济学上考虑,硅片成本其实只占芯片成本很小的一部分,封装测试,营销销售,支持维护等其他费用才是大头;商家并不愿意为了减少芯片面积而去牺牲性能;功率密度提高带来的芯片散热问题。
(2)THE DIM HORSEMAN
主要思想是用”弱硅“来替代”暗硅“,就是使用仅在一部分时间内使用的逻辑来填充暗硅区域。其中的技术有:
近阈值电压(NTV)处理器:单个处理器性能下降比节省的能耗更多,但多个处理器并行可以弥补性能损失。任务并行量越大,收益越高。问题在于NTV技术下随机掺杂波动(RDF)导致晶体管阈值电压变化、工作频率变化,鲁棒性下降(如SIMD),以及大量低速处理器和SRAM间互连会增大功耗。
更大的Cache(缓存):即将暗硅区域用于高速缓存即可以提升性能有节省能耗。但随着低功耗片外接口和3D集成存储器的出现,片上高速缓存的优势在下降。
粗粒度可重配置阵列(CGRA):拥有针对字级操作的优化路径,比FPGA的长线路能耗更低。
计算冲刺和自动超频:临时升温但保持在温度极限以此提高性能;使用相变材料使得芯片在亚秒级的时间内可以超过温度限制。
(3)THE SPECIALIZED HORSEMAN
相对于功耗和能耗,硅面积已经成为更廉价的资源,用面积来购买能源效率,在暗硅上实现一系列的专用协处理器,这些专业协处理器/加速器可以提高能源效率和性能的数量级,尤其对于高并行计算。但是软硬件之间协调、兼容困难,且因标准更改而被淘汰。由此需要指定可扩展的硬件标准,满足低功耗高性能的要求,同时降低软硬件设计的复杂度;克服Amdahl定律的限制:对规则并行代码和非规则代码都进行专用化方法。
(4)THE DEUS EX MACHINA HORSEMAN
使用新的半导体器件:基于隧道效应的隧道场效应晶体管(TFETS),以及基于纳米机电开关((Nano-Electro-Mechanical switch)),它们基于物理交换机。
如今计算能力限制了训练机器学习模型的工作,如果我们有更快的处理器我们可以运行更大的模型。
任何模型都必须依赖具体的计算平台才能展示出自己真正的实力。从前,许多的性能模型和模拟器都是通过追踪延迟来预测性能,近二十年也诞生了一些隐藏延迟的技术,例如:乱序执行(硬件发现并行性以隐藏延迟);硬件流预取(硬件推测加载数据);大规模线程并行。这些技术有效地隐藏了延迟,但同时也使得计算平台从延迟受限转变为了吞吐量受限。
Roofline模型是一个吞吐量指向的性能模型,它追踪速度而不是时间。也可以这么说说Roof-line Model就是:模型在一个计算平台的限制下,到底能达到多快的浮点计算速度。通俗来讲是”计算量为A且访存量为B的模型在算力为C且带宽为D的计算平台所能达到的理论性能上限E是多少“这个问题。Roofline模型有两个关键部分:一个是机器参数,第二个是应用的理论编辑。
首先就是成本效益一直是专用系统的关注点,由于一个专用系统的功能往往十分有限,所以就需要它的成本足够低来弥补这一劣势。而其成本又被分为设计成本和器件成本。由于集成电路技术的进步,器件成本正在迅速下降,所以关键因素还是设计成本。所以采用脉动阵列这个简单又规则的硬件架构,可以很快地完成芯片的设计和实现。
Update your browser to view this website correctly.&npsb;Update my browser now