卷积的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布局自然。
➡️