方程,邢座程,陈顼颢,张洋
FANG Cheng,XING Zuocheng,CHEN Xuhao,ZHANG Yang
摘要:
卷积神经网络CNN目前作为神经网络的一个重要分支,相比于其他神经网络方法更适合应用于图像特征的学习和表达。随着CNN的不断发展,CNN将面临更多的挑战。CNN参数规模变得越来越大,这使得CNN对计算的需求量变得非常大。因此,目前产生了许多种方式对CNN的规模进行压缩。然而压缩后的CNN模型往往产生了许多稀疏的数据结构,这种稀疏结构会影响CNN在GPU上的性能。为了解决该问题,采用直接稀疏卷积算法,来加速GPU处理稀疏数据。根据其算法特点将卷积运算转换为稀疏向量与稠密向量内积运算,并将其在GPU平台上实现。本文的优化方案充分利用数据稀疏性和网络结构来分配线程进行任务调度,利用数据局部性来管理内存替换,使得在稀疏卷积神经网络SCNN中的GPU仍能够高效地处理卷积层运算。相比cuBLAS的实现,在AlexNet、GoogleNet、ResNet上的性能提升分别达到1.07×~1.23×、1.17×~3.51×、1.32×~5.00×的加速比。相比cuSPARSE的实现,在AlexNet、GoogleNet、ResNet上的性能提升分别达到1.31×~1.42×、1.09×~2.00×、1.07×~3.22×的加速比。