【新智元】丛京生院士深度解读可定制计算的设计自动化:自动将代码转换成电路描述,解决开发人员最大难题


【新智元】丛京生院士深度解读可定制计算的设计自动化:自动将代码转换成电路描述,解决开发人员最大难题
本文插图
新智元报道 编辑:元子【新智元导读】中国工程院、美国工程院双院院士丛京生教授在2020年北京召开的亚太地区设计自动化会议(ASP-DAC)上发表了关于可定制计算的演讲 , 指出可定制计算现在已经在各类公有、私有云上大面积铺开 , 并已经做出了像Merlin编译器, HeteroCL, HeteroHalide等一系列的重大进展 。 「新智元急聘主笔、编辑、运营经理、客户经理 , -wly)了解详情 。 」中国工程院、美国工程院双院院士丛京生教授在2020年北京召开的亚太地区设计自动化会议(ASP-DAC)上发表了关于可定制计算的演讲 , 指出可定制计算现在已经在各类公有、私有云上大面积铺开 , 并称已经做出了像Merlin编译器, HeteroCL, HeteroHalide等一系列的重大进展 。 (头图由ASP-DAC组委会和北京大学罗国杰教授提供 。 )【【新智元】丛京生院士深度解读可定制计算的设计自动化:自动将代码转换成电路描述,解决开发人员最大难题】
【新智元】丛京生院士深度解读可定制计算的设计自动化:自动将代码转换成电路描述,解决开发人员最大难题
本文插图
丛京生丛京生教授是一位计算机科学家 , 任加州大学洛杉矶分校校长讲席教授 , 特定域计算中心主任、超大规模集成电路技术实验室主任 。 1985年丛京生毕业于北京大学计算机科学与技术系;1990年获得美国伊利诺伊大学厄巴纳-香槟分校计算机专业博士学位;2000年受聘为北京大学讲座教授;2001年获选美国电气和电子工程师协会院士;2017年2月入选美国国家工程院院士 。 2019年11月22日 , 当选中国工程院外籍院士 。 解决电路元件立体设计后散热问题的新尝试早在1995年日本千叶举行的首届ASP-DAC上 , 丛京生教授就发表了《Exploiting Signal Flow and Logic Dependency in Standard Cell Placement》[3] 。 这篇文章讨论了如何利用逻辑综合的信息来提高标准单元布局的结果 。 此后 , 丛京生教授持续地在ASP-DAC上发表研究成果 。 特别值得一提的是两篇关于三维集成电路(3DIC)布局布线的文章 。 其中一篇是在2005年ASP-DAC发表的《Thermal-Driven Multilevel Routing for 3D ICs》[4] , 另一篇是在2007年ASP-DAC发表的《Thermal-Aware 3DIC Placement Via Transformation》[5] 。 简单来说3DIC的一个比较有趣的问题是把电路元件从平面铺开变成层层叠放的立体设计之后 , 电路的集成度大有提高 , 但是元器件的散热空间减小了很多 。 针对这个问题 , 丛京生教授实验室对3DIC的布局布线做出了两项新的尝试 。 这两项工作都获得了ASP-DAC“10年最有影响力文章”的奖项 。
【新智元】丛京生院士深度解读可定制计算的设计自动化:自动将代码转换成电路描述,解决开发人员最大难题
本文插图
下面是丛京生教授的演讲整理 。 可定制计算将会是未来芯片应用的趋势我的主要研究方向是电子设计自动化(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是一个非常有前景的解决方案 。