ConvBench:一个用于 2D 卷积基元评估的综合基准

💡 原文中文,约1300字,阅读约需3分钟。
📝

内容提要

本文介绍了一种基于im2win的卷积算法,该算法优化了内存访问,减少了内存占用23.1%至32.8%,性能提升3.5倍至155倍。适用于内存受限的嵌入式系统,显著降低卷积的空间开销,并在移动设备和服务器上表现良好。

🔎

延伸解读

im2win 的核心优势

im2win 通过实现连续的内存访问和数据重用,显著降低了卷积操作的内存开销。与传统的 im2col 和不使用数据转换的方法相比,im2win 平均将内存开销降低到 41.6%,性能分别平均提高 3.6 倍和 5.3 倍。这种优化使得 im2win 特别适合内存受限的嵌入式系统,同时也能在移动设备和服务器平台上提供良好的加速效果。

与主流库的性能对比

基于 im2win 的卷积实现与基于 cuBLAS 和 cuDNN 的卷积实现相比,内存占用减少了 23.1% 至 32.8%,性能提升了 3.5 倍至 155 倍。这表明 im2win 在内存效率和计算速度上均具有显著优势,尤其适用于对内存和性能有严格要求的深度学习应用。

低内存 GEMM 算法的贡献

文章提出了两种新型基于 GEMM 的算法,分别只需要额外的 O(MHW) 和 O(KW) 空间,显著降低了 DNN 卷积的空间开销。实验表明,这些低内存算法与最好的图案构建方法一样快,但所需的额外内存仅相当于后者的一小部分,因此非常适合内存受限的嵌入式系统。

SimDIT 框架的优化效果

SimDIT 是一个针对深度学习加速器的性能分析框架,覆盖卷积和非卷积操作,并提供详细的 CNN 推断和训练性能统计。在使用 64x64 处理阵列时,ResNet-50 训练工作量的非卷积操作占总运行时间的 59.5%。通过优化片外 DRAM 带宽和片上 SRAM 资源分配,SimDIT 实现了比通用静态资源分配高出 18 倍的性能提升。

❓

Q&A

im2win算法的主要优势是什么?

im2win算法通过实现连续的内存访问和数据重用,显著降低内存开销,并提高性能,内存占用减少23.1%至32.8%,性能提升3.5倍至155倍。

MEC方法如何提高卷积运算速度?

MEC方法通过简单且高效的方式降低输入矩阵的内存开销,从而提高卷积运算速度,适用于移动设备和服务器。

SimDIT框架的主要功能是什么?

SimDIT框架提供详细的CNN推断和训练性能统计,优化DRAM带宽和SRAM资源分配,实现性能提升18倍。

与传统卷积实现相比,im2win算法的性能提升有多大?

im2win算法的性能提升在3.5倍至155倍之间,相较于传统的cuBLAS和cuDNN实现有显著提高。

新型基于GEMM的算法有什么特点?

新型基于GEMM的算法显著降低DNN卷积的空间开销,仅需额外的O(MHW)和O(KW)空间,适合内存受限的嵌入式系统。

im2win算法如何优化内存访问?

im2win算法通过持续的内存访问和数据重用来优化内存访问,从而减少内存占用并提升性能。

🏷️

标签

➡️

继续阅读