2020年3月16日至3月20日,国际计算机顶级会议ASPLOS 2020正式召开。会议上,北京大学计算机系高能效计算与应用中心长聘副教授梁云带领课题组的论文《FlexTensor: An Automatic Schedule Exploration and Optimization Framework for Tensor Computation on Heterogeneous System》在该会议上发表。ASPLOS全称是Architectural Support for Programming Languages and Operating Systems,该会议是以体系结构为主的跨领域国际顶级学术会议之一,涵盖了编程语言、编译器、操作系统、体系结构等多个领域。论文第一作者为梁云副教授指导的一年级博士研究生郑思泽,梁云副教授为通讯作者,其余作者为:信息科学技术学院博士研究生王硕、信息科学技术学院本科生陈仁泽和盛楷文。
近年来,在异构系统中部署深度学习网络被学术界和工业界所重视,先前工作关注于计算表达和优化策略的分离,提出了自动代码生成的流程和框架。但这些工作仍然需要人工提供优化选择的决策,无形之中带来了额外的负担。该论文为了解决这一问题,提出建立搜索空间,利用强化学习方法指导搜索,自动生成优化决策的方法。首先,论文通过枚举可能的优化策略产生优化空间,由于空间过于巨大,论文进一步提出了对空间进行约束剪枝,从而控制空间大小;并结合空间重整技术增加空间的可搜索性。但是文章指出,即使经过上述处理的搜索空间仍然十分巨大,数量级甚至常常超过千亿级别,这使得搜索难以进行。为此,文章提出使用随机算法进行搜索,结合模拟退火技术和强化学习中的Q-learning技术,增加搜索效率。为了验证文章提出方法的可行性与有效性,该文章系统地在三类硬件平台:CPU,GPU和FPGA上进行实验。实验结果表明论文中的方法可以有效提升生成代码的最终性能,在CPU,GPU,FPGA上分别实现了1.83倍,1.72倍和1.5倍的加速,超过先前的工作;且完全无需任何额外的人力负担。
这是北京大学首次以第一作者身份在ASPLOS上发表论文,实现了该会议收录零的突破。ASPLOS是综合体系结构、编程语言和操作系统三个方向的计算机系统领域顶级会议,为CCF A类会议。从1982年创办至今的三十多年里,ASPLOS作为系统领域学术前沿交叉会议,每年都收到来自全世界各大高校和企业的数百篇投稿。以今年为例,会议一共收到投稿476篇,接收86篇,接收率为18.1%。
该工作得到国家自然科学基金、北京自然科学基金和北京大学-商汤科技联合实验室共同支持。