eduzhai > Applied Sciences > Engineering >

Semi-Streaming Architecture A New Design Paradigm for CNN Implementation on FPGAs

  • Save

... pages left unread,continue reading

Document pages: 8 pages

Abstract: The recent research advances in deep learning have led to the development ofsmall and powerful Convolutional Neural Network (CNN) architectures. MeanwhileField Programmable Gate Arrays (FPGAs) has become a popular hardware targetchoice for their deployment, splitting into two main implementation categories:streaming hardware architectures and single computation engine designapproaches. The streaming hardware architectures generally require implementingevery layer as a discrete processing unit, and are suitable for smallersoftware models that could fit in their unfolded versions intoresource-constrained targets. On the other hand, single computation engines canbe scaled to fit into a device to execute CNN models of different sizes andcomplexities, however, the achievable performance of one-size-fits-allimplementations may vary across CNNs with different workload attributes leadingto inefficient utilization of hardware resources. By combing the advantages ofboth of the above methods, this work proposes a new design paradigm calledsemi-streaming architecture, where layerspecialized configurable engines areused for network realization. As a proof of concept this paper presents a setof five layerspecialized configurable processing engines for implementing 8-bitquantized MobilenevV2 CNN model. The engines are chained to partially preservedata streaming and tuned individually to efficiently process specific types oflayers: normalized addition of residuals, depthwise, pointwise (expansion andprojection), and standard 2D convolution layers capable of delivering 5.4GOp s,16GOp s, 27.2GOp s, 27.2GOp s and 89.6GOp s, respectively, with the overallenergy efficiency of 5.32GOp s W at a 100MHz system clock, requiring totalpower of 6.2W on a XCZU7EV SoC FPGA.

Please select stars to rate!


0 comments Sign in to leave a comment.

    Data loading, please wait...