cudnn不同卷积实现速度和空间比拼

卷积逻辑上只有一种理解,但硬件实现为了加速和节约空间有各种不同的实现。cudnn上有8种实现,我用的cudnn7,CUDNN_CONVOLUTION_FWD_ALGO_DIRECT在cudnn上没有实现。
cudnn不同卷积实现速度和空间比拼_第1张图片
在输入为[1,200,200,3],卷积核为[3,3,3,3],stride为1,pad为1时,各个运算时间,gpu显存消耗,workspace size 为

0.000003S 233M 0M
0.0000026S 233M 0.228M
0.0000036S 233M 4.1198M
not supoort in cudnn7
0.0000073S 233M 7.546M
0.0000471S 233M 0.134M
0.0000066S 233M 0.0159M
0.0000036S 233M 32.96M

可见在nvidia卡上,速度最快的CUDNN_CONVOLUTION_FWD_ALGO_IMPLICIT_PRECOMP_GEMM,而且所需的work space极少。WINOGRAD更适合fpga平台。

你可能感兴趣的:(深度学习)