Row Streaming Dataflow using Chaining Buffer and Systolic Array+ Structure
Chaining Buffer를 활용한 Row Streaming Dataflow와 Systolic Array+ 구조

Cited 0 time in Web of Science Cited 0 time in Scopus
Issue Date
서울대학교 대학원
CNNsSystolic arrayIm2colMatrix loweringData reuseMemory BandwidthCNN데이터재사용메모리 대역폭
학위논문 (석사) -- 서울대학교 대학원 : 융합과학기술대학원 지능정보융합학과, 2021. 2. 안정호.
Convolutional Neural Networks (CNNs) are widely used to solve complex problems in various fields such as image recognition, image classification, and video analysis.
Convolutional (CONV) layers are the most computationally intensive part of CNN inference; various architectures have been proposed to process it efficiently.
Among those, a systolic array is composed in the form of a 2D array of processing elements, which handles GEneral Matrix Multiplication (GEMM) with high efficiency.
However, to process a CONV layer as a GEMM type, image-to-column (im2col) processing, which is also called lowering, is required per layer, necessitating larger on-chip memory and a considerable amount of repetitive on-chip memory access.

In this paper, we propose a systolic array+ (SysAr+) structure augmented with a chaining buffer and a row-streaming dataflow that can maximize data reuse without the im2col pre-process in the CONV layer and repetitive access from the large on-chip memory.
When the proposed method is applied, in the 3X3 CONV layers, energy consumption is reduced by up to 19.7% in ResNet and 37.4% in DenseNet with an area overhead of 1.54% in SysAr+, and performance is improved by up to 32.4% in ResNet and 12.1% in DenseNet.
Convolutional Neural Networks (CNNs)은 현재 이미지 인식, 이미지 분류, 비디오 분석 등 다양한 분야에서 복잡한 문제를 해결하기 위해 가장 널리 사용되고 있다. Convolutional(CONV) layer는 CNN inference에서 가장 연산이 많은 부분으로 이를 효율적으로 처리하기 위해 다양한 구조들이 제안되었다.

제안된 많은 구조 중 하나인 systolic array는 2D array of processing elements의 형태로 구성되어 GEneral Matrix to matrix Multiplication (GEMM)을 처리하기에 매우 효율적인 형태이다. 하지만 CONV layer를 GEMM 형태로 처리하기 위해서는 lowering으로 불러지는 image-to-column (im2col) 처리가 매 layer마다 필요하게 되고 이로 인해 on-chip memory의 크기 요구량이 증가하고 또한 상당한 양의 반복적인 memory access가 발생하는 문제가 나타나게 된다.

본 논문에서는 CONV layer에서 im2col 전처리 과정을 제거하여 기존 on-chip memory에서 요구되던 data duplication을 제거하고 또한 on-chip memory에 반복적인 데이터 접근없이 데이터 재사용성을 극대화시킬수 있는 row-streaming data flow와 이를 위한 chaining buffer가 구현된 systolic array+ (SysAr+) 구조를 제안하였다. 본 논문에서 제안한 방식을 적용하면 3X3 CONV layer에서 SysAr+구조에서 기존 SysAr 구조 대비 약 1.54%의 크기 증가만으로 ResNet에서 최대 19.7% 그리고 DenseNet에서 최대 37.4% 에너지가 감소하고 성능은 ResNet에서 최대 32.4% 그리고 DenseNet에서 최대 12.1% 향상된다.
Files in This Item:
Appears in Collections:
Graduate School of Convergence Science and Technology (융합과학기술대학원)Dept. of Intelligence and Information (지능정보융합학과)Theses (Master's Degree_지능정보융합학과)
  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.