清华大学高鸣宇:基于Halide调度实现高效能的DNN加速

计算机体系结构领域国际顶级会议每次往往仅录用几十篇论文,录用率在20%左右,难度极大。国内学者在顶会上开始发表论文,是最近十几年的事情。

ASPLOS与HPCA是计算机体系结构领域的旗舰会议。其中ASPLOS综合了体系结构、编程语言、编译、操作系统等多个方向,HPCA则主要针对高性能体系结构设计。过去的三十多年里,它们推动了多项计算机系统技术的发展,RISC、RAID、大规模多处理器、Cluster架构网络存储、机器学习加速器等诸多计算机体系结构领域的重大技术突破,都最早发表在这两个会议之上。

2020年4月12日上午,北京智源人工智能研究院和北京大学高能效计算与应用中心联合主办了“AI芯片体系架构和软件专题报告会”,五位学者结合在2020年计算机体系结构顶级会议(ASPLOS和HPCA)中发表的最新研究成果,针对AI芯片和体系结构领域的几个关键挑战:芯片加速、能耗和反对抗攻击等,详细介绍了他们的最新思考和解决方案。超过1900名观众在线观摩了学者们的报告。报告主题分别是:

  • 本次报告会主席、智源青年科学家和北京大学研究员梁云《FlexTensor: An Automatic Schedule Exploration and Optimization  Framework for Tensor Computation on Heterogeneous System》

  • 美国南加州大学PhD Candidate骆沁毅《Prague: High-Performance Heterogeneity-Aware Asynchronous Decentralized Training》

  • 清华大学交叉信息研究院助理教授高鸣宇《Interstellar: Using Halide's Scheduling Language to Analyze DNN Accelerators》

  • 智源青年科学家、中国科学院计算技术研究所副研究员陈晓明《Communication Lower Bound in Convolution Accelerators》

  • 中国科学院信息工程研究所研究员和信息安全国家重点实验室副主任侯锐《DNN Guard: An Elastic Heterogeneous Architecture for DNN Accelerator against Adversarial Attacks》

本次活动的演讲内容都会整理成文字,陆续发布。今天,我们将介绍清华大学交叉信息研究院助理教授高鸣宇的《Interstellar: Using Halide's Scheduling Language to Analyze DNN Accelerators》。

 

高鸣宇,博士毕业于美国斯坦福大学电子工程系。主要研究成果包括针对大数据应用的近数据处理架构软硬件系统,高密度低功耗可重构计算芯片,及专用神经网络芯片的调度优化。已发表多篇国际顶级学术会议(ISCA、ASPLOS、HPCA、PACT等)论文,授权多项专利。曾获得IEEE Micro 2016年度计算机系统结构最佳论文奖(Top Picks)、欧洲HiPEAC论文奖、福布斯中国评选2019年“30 Under 30”等荣誉。

本次演讲中,高鸣宇带来了他发表在ASPLOS 2020上的最新作品——Interstellar。Interstellar是高鸣宇在Stanford求学期间与他人合作提出的基于Halide调度语言对DNN加速器进行分析的工具。在演讲中,高鸣宇从DNN加速计算中通用的7层循环计算入手,阐述了DNN加速器的Blocking,Resource Allocation和Dataflow三个维度,并使用循环变换描述设计空间,进而利用Halide中的调度语言进行实现。思路清新完整,令人豁然开朗。以下是智源社区编辑整理的讲座内容,让我们一起跟随高鸣宇开启DNN 加速器的星际探测之旅吧!

 

整理:智源社区蔡晓圣、孙超、张驰

01 DNN在硬件及软件层面的高需求

伴随着深度神经网络(DNN)正在包括自动驾驶、人脸识别、人脸检索和图像识别在内的各领域得到更加广泛地应用,业界对DNN加速器的需求也在不断增加。鉴于此,不论学术界还是工业界,都对DNN加速器开展了大量的研究,包括Google的TPU、华为麒麟NPU, MIT的Eyeriss以及UCLA在FPGA上的架构创新等。

 

图1: DNN加速器硬件成果

同时,我们在关注底层硬件架构的基础上,也同样需要把目光聚焦在上层软件层面,探索如何调度以及更好地使用底层硬件,从而最大化算力的资源使用。目前上层软件主要根据CNN等卷积神经网络相关算法进行调度,那么何为CNN算法?如图2所示,CNN是由多个2D的input features maps(ifmaps)产生多个输出的output features maps(ofmaps),在每一对ifmaps和ofmaps之间对应一对2D的filters,同时由于ifmaps和ofmaps是3D的,每一对均对应一对filters,所以filters实际上存在4D的张量结构,即除了每一个2D的filters之外,可以认为所有的ifmaps的一组和相同数量的filters产生一个ofmaps,而每一个ofmaps都对应一组filters。

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值