arrow
Return

On-the-Fly Lowering Engine: Offloading Data Layout Conversion for Convolutional Neural Networks

delete2022-01-01
delete1
delete
OA
AI
M
Mingu Kang
S
Sangmin Hyun
H
HAN, T. A. E. H. E. E.
J
Jungrae Kim *
S
Seokin Hong *
DOI:10.1109/ACCESS.2022.3192618delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Many deep learning frameworks utilize GEneral Matrix Multiplication (GEMM)-based convolution to accelerate CNN execution. GEMM-based convolution provides faster convolution yet requires a data conversion process called lowering (i.e., im2col), which incurs significant memory overhead and diminishes performance. This paper proposes a novel hardware mechanism, called On-the-fly Lowering Engine (OLE), to eliminate the lowering overheads. Our goal is to offload the lowering overheads from the GEMM-based convolution. With OLE, the lowered matrix is neither pre-calculated nor stored in the main memory. Instead, a hardware engine generates lowered matrix on-the-fly from the original input matrix to reduce memory footprint and bandwidth requirements. Furthermore, the hardware offloading eliminates CPU cycles for lowering operation and overlaps computation with lowering to hide the performance overhead. Our evaluation shows that OLE can reduce memory footprint of convolutional layer inputs down to 1/12.5 x and the overall memory footprint by up to 33.5%. Moreover, OLE can reduce the execution time of convolutional layers by 57.7% on average, resulting in an average speedup of 2.3x for representative CNN models.
Keywords:
Convolutional neural network
GEMM
CPU

Journal

IEEE Access cover
IEEE Access
IF:
3.6
Papers:
9.8W
Citations:
29.4W

Organization

S
sungkyunkwan university (skku)
Scholars:
3.7W
Papers: 3.6W
Citations: 49