Skip to main content
QUICK REVIEW

[论文解读] maxDNN: An Efficient Convolution Kernel for Deep Learning with Maxwell GPUs

Andrew Lavin|arXiv (Cornell University)|Jan 27, 2015
Speech and Audio Processing参考文献 2被引用 32
一句话总结

maxDNN 是一种针对 NVIDIA Maxwell GPU 的高效卷积核,结合了 cuda-convnet2 的内存访问模式与 Maxas SGEMM 的低级汇编优化,通过利用 128 位纹理加载、双缓冲和共享内存分块技术,在 Overfeat 上实现了 96.3% 的计算效率,在 AlexNet v.2 上最高达到 95.5%。该内核表明,手工优化的汇编代码在深度学习工作负载中可与高度优化的 BLAS 内核性能媲美。

ABSTRACT

This paper describes maxDNN, a computationally efficient convolution kernel for deep learning with the NVIDIA Maxwell GPU. maxDNN reaches 96.3% computational efficiency on typical deep learning network architectures. The design combines ideas from cuda-convnet2 with the Maxas SGEMM assembly code. We only address forward propagation (FPROP) operation of the network, but we believe that the same techniques used here will be effective for backward propagation (BPROP) as well.

研究动机与目标

  • 开发一种针对 NVIDIA Maxwell GPU 的高度高效的卷积核,以解决尽管峰值吞吐量高但计算效率仍存在差距的问题。
  • 证明如 Maxas SGEMM 中使用的低级汇编优化技术可有效应用于卷积核,以实现接近峰值性能。
  • 表明计算效率(以每时钟周期的 FLOPs 衡量)可显著优于现有库(如 cuDNN),尤其是在多种网络架构中。
  • 提供一个概念验证,表明类似的优化技术可扩展至卷积神经网络(CNN)中的反向传播(BPROP)计算。

提出的方法

  • maxDNN 以 Maxas SGEMM64 内核为基础并进行修改,通过将每个输出特征图坐标视为输入感受野与滤波器权重之间的矩阵乘法来实现卷积运算。
  • 采用 128 位纹理加载以减少索引开销并增加最大数组大小,同时改善内存合并并隐藏全局内存延迟。
  • 使用全局内存与共享内存的双缓冲技术以隐藏内存延迟,减少线程束同步需求并提高占用率。
  • 利用共享内存重新组织输出值,实现合并的全局内存写入,并通过 128 位共享内存加载实现寄存器的零初始化。
  • 每轮迭代采用 8 列分块,8×8 寄存器分块,并在 64×64 的共享内存分块上运行,以最大化计算强度。
  • 重新定义计算效率,仅计入直接卷积算法所必需的 FLOPs,排除冗余操作。

实验结果

研究问题

  • RQ1能否将 SGEMM 中使用的低级汇编优化技术有效迁移至卷积核,以在 Maxwell GPU 上实现高计算效率?
  • RQ2为何 cuDNN 在同一网络的不同层之间表现出较高的计算效率波动?是否可通过自定义调优内核缓解此问题?
  • RQ3计算效率在多大程度上依赖于与共享内存分块大小和滤波器尺寸的对齐?
  • RQ4在前向传播中使用的相同优化策略是否可扩展至 CNN 中的反向传播?
  • RQ5非分块大小倍数(如 64)对计算效率有何影响?如何将其最小化?

主要发现

  • 在 Overfeat 网络上,maxDNN 实现了 96.3% 的计算效率,显著优于 cuDNN 在各层间 39.6% 至 74.0% 的范围。
  • 在 AlexNet v.2 上,maxDNN 实现了 93.4% 至 95.5% 的效率,而 cuDNN 仅为 32.5% 至 57.6%,表明其性能稳定且高效。
  • Overfeat 的第一层仅实现 70.3% 的效率,原因在于滤波器数量(96)不是 64×64 分块大小的倍数,表明其对对齐敏感。
  • 通过排除不必要的 FLOPs,对计算效率度量进行了优化,揭示出当滤波器和批量大小与分块大小对齐时,maxDNN 的效率具有鲁棒性。
  • 内核的高 L2 缓存命中率表明设备内存带宽并非瓶颈,暗示通过采用其他分块大小可进一步优化性能。
  • 作者总结认为,maxDNN 证明了通过手工优化的汇编代码,可在 Maxwell GPU 上实现高效率卷积运算,其性能甚至可媲美最佳 SGEMM 实现。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。