软件学报

北大核心,INSPEC,JST,Pж(AJ),EI

国内刊号:11-2560/TP

国际刊号:1000-9825

软件学报杂志2020年第9期:面向稀疏卷积神经网络的GPU性能优化方法

发布日期:

作者:董晓,刘雷,李晶,冯晓兵

单位:董晓,计算机体系结构国家重点实验室(中国科学院 计算技术研究所), 北京 100190;中国科学院大学, 北京 10019011,刘雷,计算机体系结构国家重点实验室(中国科学院 计算技术研究所), 北京 10019002,李晶,计算机体系结构国家重点实验室(中国科学院 计算技术研究所), 北京 10019003,冯晓兵,计算机体系结构国家重点实验室(中国科学院 计算技术研究所), 北京 100190;中国科学院大学, 北京 10019004

关键词:神经网络;稀疏;GPU;性能优化;卷积;代码生成

基金:国家自然科学基金(61521092);国家重点研发计划(2017YFB1003103)

近些年来,深度卷积神经网络在多项任务中展现了惊人的能力,并已经被用在物体检测、自动驾驶和机器翻译等众多应用中.但这些模型往往参数规模庞大,并带来了沉重的计算负担.神经网络的模型剪枝技术能够识别并删除模型中对精度影响较小的参数,从而降低模型的参数数目和理论计算量,给模型的高效执行提供了机会.然而,剪枝后的稀疏模型却难以在GPU上实现高效执行,其性能甚至差于剪枝前的稠密模型,导致模型剪枝难以带来真正的执行性能收益.提出一种稀疏感知的代码生成方法,能够生成高效的稀疏卷积GPU程序.首先为卷积算子设计了算子模板,并结合GPU的特点对模板代码进行了多种优化.算子模板中的源代码经过编译和分析被转换为算子中间表示模板,设计了一种稀疏代码生成方法,能够结合剪枝后的稀疏参数,基于中间表示模板生成对应的稀疏卷积代码.同时,利用神经网络执行过程中的数据访问特点对数据的访问和放置进行了优化,有效提升了访存吞吐量.最后,稀疏参数的位置信息被隐式编码在生成的代码中,不需要额外的索引结构,降低了访存需求.在实验中证明了:相对于GPU上已有的稀疏神经网络执行方法,提出的稀疏感知的代码生成方法能够有效提升稀疏卷积神经网络的性能.

来源:2020年第9期

《软件学报》期刊编辑部

查看软件学报杂志2020年第9期

联系我们

  • 地址:北京8718信箱
  • 电话:010-62562563
  • E-mail:jos (a) iscas. ac. cn

咨询工作人员