各位小伙伴,大家好呀!
在这春暖花开的日子里
我们《沐创大讲堂》第三期又如约而至啦
本期我们请到了清华大学集成电路学院两位学霸
朱建峰博士与满星辰博士
为大家带来软件定义芯片的编译器技术发展与
敏捷映射框架
报告开始之前,朱建峰博士先向简单我们介绍了随着需求的发展,硬件架构所发生的变化。
朱建峰博士介绍说,编译器的需求是建立在硬件的需求之上的,随着硬件不断出现新的硬件结构的设计,因此编译器也需要出现新的变革。
那么在这个变革的时代,我们的软件定义芯片作为一种新的领域定制的加速器,到底需要什么样的编译器设计呢?朱建峰博士围绕这个问题,展开了他的报告。
朱建峰博士提到,对很多人而言,编译器是一个耳熟能详的名词,但是要准确的定义编译器,则会涉及到更加宽泛的概念。
准确来说,编译器是一种特殊的程序,是将一种编程语言写的程序转换到同种编程语言或另一种编程语言的程序。
解释完概念,朱建峰博士又抛出了一个新的问题:在编译器的设计过程中最重要、最值得关注的问题是什么呢?这个问题朱建峰博士并未直接给出答案,而是通过解释“信达雅”三原则、高级编程语言的概念、编译器的经典三段式框架等三个维度的内容,从而对该问题的答案进行了抽丝剥茧。
朱建峰博士在这部分报告中指出,在加速器时代,因为多重因素的综合影响,硬件的复杂度发生了明显提升。那么针对该现状,我们该如何去开发下一代编译器呢?
随后,朱建峰博士对指令驱动处理器、传统可编辑器件以及软件定义芯片三者进行了对比分析,在对比中,讲问题的答案娓娓道来。
随着工艺的发展,高昂的设计成本让灵活性成为业内越来越重视的需求;而我们一直致力研究的软件定义芯片恰恰兼顾了硬件复杂度和灵活性,并具有计算密度高、利用率高和能效高等优势。
紧接着,朱建峰博士又详细讲解了设计软件定义芯片编译器时,需要付出的努力:(1)生成一个专用的SDC后端,去完成时序调度、资源布局、互连布线工作;(2)在中端完成并行性发掘、专用性发掘及数据优化工作;(3)在前端完成显式并行化、库函数调用、显示数据管理等工作。
随后,朱建峰博士介绍了当前编译器发展的最重要的三个方向:AI芯片编译器、软件定义芯片编译器、为硅做一个编译器;并介绍了从GCC到LLVM再到MLIR这三种编译器框架的发展过程及趋势。
报告的最后,朱建峰博士重点介绍了与沐创PoC团队合作推进的密码可重构编译器的应用实例。
朱建峰博士介绍说,在开发这款编译器时,团队重点考虑了三个层面的问题:
(1)在前端,需要考虑做哪些输入程序和优化,即为了使编译器更好实现且性能更优,我们该对程序做怎样的规范;
(2)在中端,怎样为各个硬件单元做优化,包括:存储调度、算子恢复等;
(3)在后端,我们需要完成一个映射翻译的过程。
针对上述三个层面的问题,朱建峰博士从输入程序、存储调度、算子恢复、映射翻译等四个聚焦点进行了详细讲解。
报告开篇,满星辰博士简单介绍了当前主流的编译框架,并对各个编译框架的优缺点进行了分析对比。
随后,满星辰博士从ISA的不稳定性、可重构空间架构、硬件规模增长等三个维度对软件定义芯片(SDC)编译器设计中存在的挑战进行了详细讲解,并由此引出“软件定义芯片(SDC)编译器的关键问题在于软件IR到硬件IR的映射”的结论。
满星辰博士继续推进,从软硬件IR和映射器两方面对团队在SDC映射器研究方向上开展的工作进行了讲解。
基于对敏捷映射框架的介绍,满星辰博士引出了团队的解决方案——CASMAP,并对CASMAP的关键性技术:软硬件IR聚类进行了讲解,讲解过程中,又将CASMAP具备的特性与敏捷映射框架的六大特点进行了串联讲解,报告中的重要知识像珠子一样被串联了起来。
报告最后,满星辰博士用数据生动地解释了团队成果的优越性。
在问题规模方面,(ILP 非零项 )缩小 49 倍;
在编译器编译时间方面,与手工配置相比减少 250 倍(算法配置人员手工配置时间取 1h+);
在测试性能方面,达到手工配置性能的 97% 以上。
沐创,源于清华,自成立以来一直坚持产学联动,踏踏实实做研究,稳扎稳打出产品;
《沐创大讲堂》专注芯片领域技术干货,我们乐于分享,期待与你共同进步;
下期精彩,敬请期待。
沐创自成立以来,依托核心团队在可重构计算领域的深厚积累,已经形成了信息安全方向和网络控制方向的两大产品线布局。
2021年底,沐创推出业内首颗融合了安全的智能网络控制器芯片N10,现已实现量产,而本次推出的沐创N10系列智能网卡正是由该款芯片主控。
未来,沐创将沿着既定产品路线,继续稳步向前,推出更多高性能产品,为中国数字新基建献言献策、添砖加瓦。
尤里云科技(深圳)有限公司摩尔线程授权经销商Unixcloud拥有多年的产品研发和制造经验。尤里云是摩尔线程(MooreThreads)官方授权经销商,针对人工智能发展的算力需求,专注于边缘计算领域,为行业提供满足各种AI需求的边缘计算产品和解决方案。同时尤里云开展了万兆网卡的业务,提供基于Mucse的网络控制器N10的四口和两口万兆光纤网卡。