卷积的CUDA张量布局

💡 原文英文,约1700词,阅读约需6分钟。
📝

内容提要

本文讨论了在GPU上执行卷积的方法以及NHWC和NC/xHWx布局的优势。NHWC布局在卷积操作中性能更快,而NC/xHWx布局适用于NVIDIA Tensor Core操作。卷积操作涉及输入激活张量、滤波器张量、可选偏置张量和输出激活张量。隐式GEMM方法在GPU上执行卷积,NHWC布局适合隐式GEMM卷积,但使用Tensor Core时需要填充。NC/xHWx布局可以立即与Tensor Core一起使用。

🎯

关键要点

  • 本文讨论了在GPU上执行卷积的方法以及NHWC和NC/xHWx布局的优势。
  • NHWC布局在卷积操作中性能更快,而NC/xHWx布局适用于NVIDIA Tensor Core操作。
  • 卷积操作涉及输入激活张量、滤波器张量、可选偏置张量和输出激活张量。
  • 隐式GEMM方法在GPU上执行卷积,NHWC布局适合隐式GEMM卷积,但使用Tensor Core时需要填充。
  • NC/xHWx布局可以立即与Tensor Core一起使用。
  • NCHW布局在隐式GEMM中性能较差,因为C维度不是最快的维度。
  • NHWC布局在隐式GEMM中表现更好,因为C维度是最快的维度。
  • 为了利用NVIDIA Tensor Core,NHWC布局需要在运行时填充,而NC/xHWx布局则始终填充到适合Tensor Core的维度。
  • 使用填充的NHWC布局可以提高隐式GEMM方法的性能,但实现上可能不如NC/xHWx布局自然。
➡️

继续阅读