一种运算和数据协同优化的深度学习编译框架①
2020-03-31吴林阳杜伟健陈小兵庄毅敏
高技术通讯 2020年2期
吴林阳 杜伟健 陈小兵 庄毅敏
(*中国科学院计算技术研究所计算机体系结构国家重点实验室 北京 100190) (**中国科学院大学 北京 100049) (***上海寒武纪信息科技有限公司 上海 201308)
0 引 言
随着大数据时代到来,深度学习算法已被广泛应用于安防、教育、医疗、贸易、交通、家居等各个领域。然而,深度学习应用对硬件计算能力要求极高,通用处理器已经无法满足应用的实时性需求。在此背景下,深度学习处理器蓬勃发展,逐渐成为处理深度学习应用的主要载体。
深度学习算法和硬件的快速发展给编译器设计带来了巨大的挑战,主要体现在2个方面:
(1) 通用性。如何设计统一的编译框架,支持不同的硬件平台后端(GPU、TPU、CPU、加速器)。
(2) 性能。针对特定的硬件平台后端,如何把性能(延时、吞吐率)优化到最好。
目前已有一些相关工作针对以上2个问题提出了解决方案。比如,Chen等人[1]提出了一种自动化、端到端的编译优化框架TVM。为了优化程序的性能,TVM设计了面向算法的高级优化和面向硬件的低级优化两层优化架构,并采用了操作融合、访存延迟隐藏等关键技术。TVM通过中间表示来支持不同的硬件后端,同时在语言层面支持用户自定义硬件优化原语,从而解决通用性问题。又比如,Vasilache等人[2]提出了一种领域专用语言和编译框架TC(tensor comprehensions)。为了优化程序性能,TC在总体设计上采用了多面体编译框架(优化循环结构),并在其中集成了如存储层次提升、映射到寄存器、向量化、并行化等面向硬件结构的优化技术。……
登录APP查看全文
