卷积逻辑上只有一种理解,但硬件实现为了加速和节约空间有各种不同的实现。cudnn上有8种实现,我用的cudnn7,CUDNN_CONVOLUTION_FWD_ALGO_DIRECT在cudnn上没有实现。
cudnn不同卷积实现速度和空间比拼
在输入为[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平台。

相关文章:

  • 2021-10-20
  • 2022-03-01
  • 2021-10-13
  • 2021-11-18
  • 2022-12-23
  • 2021-08-29
  • 2022-01-07
  • 2022-12-23
猜你喜欢
  • 2021-06-30
  • 2021-07-27
  • 2022-12-23
  • 2021-12-16
  • 2021-09-29
  • 2021-06-30
  • 2021-12-06
相关资源
相似解决方案