面向Kepler GPU的卷积核内存效率优化
分布式、并行与集群计算
2017-05-31 v1 机器学习
摘要
卷积是许多应用中的一项基本运算,例如计算机视觉、自然语言处理、图像处理等。卷积神经网络近期在各类深度学习应用中的成功,对快速卷积提出了更高的要求。图形处理单元(GPU)的高计算吞吐量和内存带宽,使其成为加速卷积运算的自然选择。然而,最大限度地利用GPU的可用内存带宽进行卷积是一项具有挑战性的任务。本文引入一个通用模型,以解决GPU内存组宽度与线程计算数据宽度之间的不匹配问题。基于此模型,我们开发了两个卷积核,一个用于一般情况,另一个用于只有一个输入通道的特殊情况。通过仔细优化内存访问模式和计算模式,我们为特殊情况设计了一个通信优化内核,为一般情况设计了一个通信缩减内核。基于Kepler GPU实现的实验数据表明,对于特殊情况和一般情况,我们的内核相较于最新的cuDNN库,分别实现了5.16倍和35.5%的平均性能提升。
引用
@article{arxiv.1705.10591,
title = {Optimizing Memory Efficiency for Convolution Kernels on Kepler GPUs},
author = {Xiaoming Chen and Jianxu Chen and Danny Z. Chen and Xiaobo Sharon Hu},
journal= {arXiv preprint arXiv:1705.10591},
year = {2017}
}