让机器自动找出可定制计算最优解!丛京生院士演讲全文实录
在2020年北京召开的亚太地区设计自动化会议上,中国工程院美国工程院双院院士丛京生教授发表了关于可定制计算的主旨演讲。
丛院士在回顾往日研究成果和自身研究方向的转变后,提出可定制计算(Customizable Computing)将是未来芯片应用上的大势所趋,以实际案例详尽地说明可定制计算相比通用处理器有着巨大的优势,并分析了可定制计算的两种做法。最后,丛院士分享了为降低可定制计算门槛所做的一些工作。 峰科计算总结翻译了丛京生院士的演讲内容,文章偏长,但信息量很丰富。
以下是丛京生院士演讲全文: 我很有幸从第一届亚太地区设计自动化会议(ASP-DAC)起就参与到ASP-DAC这个大家庭。 我的第一篇ASP-DAC论文是1995年在日本千叶的首届会议发表的”Exploiting Signal Flow and Logic Dependency in Standard Cell Placement”[3]。这篇文章讨论了如何利用逻辑综合的信息来提高标准单元布局的结果。 在这之后,我持续地在ASP-DAC上和大家分享我们的研究成果。 特别值得一提的是两篇关于三维集成电路(3DIC)布局布线的文章。其中一篇是在2005年ASP-DAC发表的“Termal-Driven Multilevel Routing for 3D ICs”[4],另一篇是在2007年ASP-DAC发表的“Thermal-Aware 3DIC Placement Via Transformation”[5]。 简单来说,3DIC的一个比较有趣的问题是把电路元件从平面铺开变成层层叠放的立体设计之后,电路的集成度大有提高,但是元器件的散热空间减小了很多。 针对这个问题,我实验室的这两项工作对3DIC的布局布线做出了新的尝试。这两项工作都获得了ASP-DAC“10年最有影响力文章”的奖项。今后我也将继续和ASP-DAC的同仁们分享我的想法和工作成果。
众所周知,我的主要研究方向是电子设计自动化(EDA)。我在这个方向上的研究可以分为两个阶段: 在2009年之前,我比较注重于面向硬件设计人员的电子设计自动化。但是在过去的十年,我在面向软件工程师的电子设计自动化上做了大量的工作。 这是因为我认为可定制计算(Customizable Computing)将会是未来芯片应用上的大势所趋,我的研究方向逐渐开始转向为众多的软件程序员提供设计自动化来使用或生产可定制芯片。 2008年,我们向美国国家科学基金会(NSF)递交了一份提案。在提案中我们提出可定制计算将会是计算行业的未来,特别是在大家已经对各种各样的并行计算做到极致之后。 我们说并行计算当然非常重要,但是再往下走一步就是可定制计算的天下,因为可定制计算可以根据具体任务计算量的不同去选择合适的计算架构。 很有幸NSF方面同意资助我们的探索计划。在这之后我们在这个方向上做了很多的工作。 可定制计算和人们通常所知的通用处理器相比有着巨大优势。 实际我在UCLA的同事Ingrid Verbauwhede教授的工作对我们的研究有不少启发。她2003年在加密编码算法的研究中得到了对于可定制计算非常有利的实验结果[6]。 她使用加密算法的专用集成电路(ASIC)实现作为性能基数,如下图左边表格第一行所示。第二行是使用可定制计算的方法得到的运行数据,第三行是在ARM上编写汇编得出的运行数据。 可以看见,可定制计算总体优于此种方式85倍。 再往下一行是在奔腾CPU上编写相同功能的汇编代码得到的运行数据,这在当时是最好的台式机芯片。可定制计算的优势高达8000倍。
也许你会说这项研究是否有点老?那我们再来看一些其它的比较工作。 右侧的图表来自一篇斯坦福大学2010年发表的文章[7]。他们使用H.264视频编解码算法对定制指令集进行了评估。可以看见,即使是用上了SIMD和定制指令集,通用CPU和ASIC的差距还是有50倍。 显然你不可能对每个计算应用都开发专门的ASIC,这是一项既烧钱又耗时的工作。关键问题是任何算法的改动都需要重新开发一整块新的ASIC。 请注意在左边的例子中,第二行的可定制计算是使用可重构的现场可编程逻辑门阵列(FPGA)做的实现。它既可以做到快速低成本,又保证高于通用CPU的性能。所以利用FPGA是一个非常有前景的解决方案。 有些同学可能会比较好奇说:等一会,我在计算机原理课上学过CPU的架构。为什么CPU的性能这么差,差到甚至成百上千倍? 实际上原因通过下图看来非常简单明了。
你们可以想一想CPU是怎么进行加法操作的。 第一件事是从缓存或者内存里拿到这个指令放进处理器流水线,这个过程就已经有9%的能量消耗了。 接着指令需要被解码从而CPU才知道这条指令到底要做什么事情,这里又有6%的能耗。 因为现代处理器可以支持乱序执行,这样指令很有可能要被重命名来解决一些冲突的问题,这又导致12%的能耗。 接下来从寄存器堆拿数据又产生3%。现在万事俱备就等着做加法了,等待数据会有11%的能耗。 最终实际的计算部分只占了14%能耗,而剩下的杂事又产生23%能耗。 在以上CPU的一系列操作中实际上只有做加法这一步是你关心的。然而,为了得到正确的加法结果一条加法指令需要走一个非常复杂的计算流水线。 (编辑:52刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

在2020年北京召开的亚太地区设计自动化会议上,中国工程院美国工程院双院院士丛京生教授发表了关于可定制计算的主旨演讲。



