现代CPU上,FFT卷积比Winograd更快,原因如下
摘要:Winograd基于卷积已经迅速成为在各种硬件平台上实现卷积神经网络(ConvNet)的首选方法,因为它所需的浮点运算数量比基于FFT或直接卷积的方法更少。本文比较了三种高度优化的实现方法(常规FFT、高斯-FFT和Winograd基于卷积)在现代多核和众核CPU上的性能。尽管这三种实现方法都采用了相同的现代CPU优化策略,但我们对两个流行的ConvNet(VGG和AlexNet)的实验结果表明,基于FFT的实现方法通常优于Winograd基于卷积,与广为流传的观点相反。为了解释这些结果,我们使用了一个Roofline性能模型来详细分析这三种实现方法,通过考虑每个计算阶段的浮点运算数量,以及内存带宽和缓存大小。性能分析解释了为什么以及在什么条件下,基于FFT的实现方法在现代CPU上优于基于Winograd的方法。
作者:Aleksandar Zlateski, Zhen Jia, Kai Li, Fredo Durand
论文ID:1809.07851
分类:Performance
分类简称:cs.PF
提交时间:2018-09-24