<?xml-model href='http://www.tei-c.org/release/xml/tei/custom/schema/relaxng/tei_all.rng' schematypens='http://relaxng.org/ns/structure/1.0'?><TEI xmlns="http://www.tei-c.org/ns/1.0">
	<teiHeader>
		<fileDesc>
			<titleStmt><title level='a'>ReBoc: Accelerating Block-Circulant Neural Networks in ReRAM</title></titleStmt>
			<publicationStmt>
				<publisher></publisher>
				<date>03/01/2020</date>
			</publicationStmt>
			<sourceDesc>
				<bibl> 
					<idno type="par_id">10179369</idno>
					<idno type="doi">10.23919/DATE48585.2020.9116422</idno>
					<title level='j'>2020 Design, Automation &amp; Test in Europe Conference &amp; Exhibition (DATE)</title>
<idno></idno>
<biblScope unit="volume"></biblScope>
<biblScope unit="issue"></biblScope>					

					<author>Yitu Wang</author><author>Fan Chen</author><author>Linghao Song</author><author>C. -J. Richard Shi</author><author>Hai Helen Li</author><author>Yiran Chen</author>
				</bibl>
			</sourceDesc>
		</fileDesc>
		<profileDesc>
			<abstract><ab><![CDATA[Deep neural networks (DNNs) emerge as a key component in various applications. However, the ever-growing DNN size hinders efficient processing on hardware. To tackle this problem, on the algorithmic side, compressed DNN models are explored, of which block-circulant DNN models are memory efficient and hardware-friendly; on the hardware side, resistive random-access memory (ReRAM) based accelerators are promising for in-situ processing of DNNs. In this work, we design an accelerator named ReBoc for accelerating block-circulant DNNs in ReRAM to reap the benefits of light-weight models and efficient in-situ processing simultaneously. We propose a novel mapping scheme which utilizes Horizontal Weight Slicing and Intra-Crossbar Weight Duplication to map block-circulant DNN models onto ReRAM crossbars with significant improved crossbar utilization. Moreover, two specific techniques, namely Input Slice Reusing and Input Tile Sharing are introduced to take advantage of the circulant calculation feature in block- circulant DNNs to reduce data access and buffer size. In REBOC, a DNN model is executed within an intra-layer processing pipeline and achieves respectively 96× and 8.86× power efficiency improvement compared to the state-of-the-art FPGA and ASIC accelerators for block-circulant neural networks. Compared to ReRAM-based DNN accelerators, REBOC achieves averagely 4.1× speedup and 2.6× energy reduction.]]></ab></abstract>
		</profileDesc>
	</teiHeader>
	<text><body xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>I. INTRODUCTION</head><p>DNNs play a key role in various application domains including computer vision, natural language processing, and speech recognition. DNN applications involve millions to billions of matrix-vector multiplication (MVM) and therefore require intensive computational and memory resources. The evergrowing DNN model size has exacerbated this phenomenon, making the deployment of DNNs on hardware challenging, especially on end devices where the available computation and memory resources are limited and the power budget is constrained.</p><p>For efficient DNN processing, compressed DNN models are explored <ref type="bibr">[1]</ref> to achieve light-weight models at the algorithm level. However, the random weight sparsity introduced in the model compression stage and the consequent poor access locality hinder efficient computation on processing devices. Therefore hardware-friendly DNN model compression is proposed, of which block-circulant DNNs <ref type="bibr">[2]</ref> are a promising candidate solution for efficient hardware deployment. From a hardware perspective, data movement has become a major performance and energy bottleneck in data-intensive DNN applications, and tremendous efforts have been made to memorycentric accelerator design <ref type="bibr">[3]</ref>- <ref type="bibr">[6]</ref>. Compared with traditional CMOS-based designs <ref type="bibr">[3]</ref>, <ref type="bibr">[4]</ref> where logic is distributed near or inside the memory system, the implementations based on the emerging ReRAM technology <ref type="bibr">[5]</ref>, <ref type="bibr">[6]</ref> typically utilize the memory itself as processing elements (PEs) by taking advantage of their dual capabilities of both computation and storage.</p><p>Block-circulant DNNs are adapted as the target models by state-of-the-art customized accelerators such as CirCNN <ref type="bibr">[2]</ref> on FPGA/ASIC and STICKER-T <ref type="bibr">[7]</ref> in ASIC. These two works heavily rely on the Fast Fourier Transform (FFT) and Inverse Fast Fourier Transform (IFFT) for computation. However, compared to real number multiplication, multiplication of FFT requires four real multiplications and two real additions. In addition, in order to perform multiplication or convolution for one layer, an FFT needs to be performed before the multiplication between the weight and the feature map, and an additional IFFT is required after the multiplication, which introduces significant computational and memory overhead.</p><p>In this work, we make an important observation that blockcirculant attribute does not necessarily require FFT/IFFT, which distinguishes our work from prior arts <ref type="bibr">[2]</ref>, <ref type="bibr">[7]</ref>. In general, the block-circulant DNN only favors FFT/IFFT in the sequential processing scenario where only one processing thread or unit is available. For DNN accelerator architectures where massive parallelisms for MVM are available, especially for ReRAM-based accelerators, we need a new paradigm for processing block-circulant DNNs rather than the naive invocation of FFT/IFFT. We propose REBOC, the first accelerator for processing block-circulant DNNs in ReRAM. REBOC utilizes the massive parallel MVMs in ReRAM rather than FFT/IFFT. We make the following contributions:</p><p>&#8226; We propose a novel mapping scheme with a shift method, which utilizes  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>II. BACKGROUND AND MOTIVATION</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Basics of Deep Neural Networks</head><p>A typical deep neural network (DNN) model is constructed by cascading multiple convolutional (CONV) layers for feature extraction and then placing one or more fully connected (FC) layers at the final stage for classification. A non-linear activation layer, such as sigmoid unit, rectified linear unit (ReLU), leaky ReLU unit, etc., is optionally located after a linear CONV layer to enhance the representation capability. In general, the CONV and FC layers account for &gt; 90% <ref type="bibr">[6]</ref> of computing and storage resources and are therefore the primary target of accelerator design. The basic computation in the FC layer can be formulated as matrix-vector multiplication (MVM): y = &#966;(W x), where W &#8712; R m&#215;n is the weight matrix, which connects input vector x &#8712; R n to output vector y &#8712; R m , &#966;(&#8226;) is an element-wise nonlinear activation function. Note that we omit the bias for simplicity.</p><p>In CONV layers, parameters are shared spatially by sliding a set of weight kernels across the width and height of the input feature map (FP). Hence the number of parameter is significantly reduced. As demonstrated in Fig. <ref type="figure">1</ref>, CONV operations are converted into matrix multiplication Y = (W X) through the Toeplitz matrix supported by current software <ref type="bibr">[8]</ref>, <ref type="bibr">[9]</ref> and most of the customized <ref type="bibr">[5]</ref>, <ref type="bibr">[6]</ref> DNN acclerators.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Circulant DNN Model</head><p>A circulant DNN model based on circulant projection <ref type="bibr">[10]</ref> can significantly compress the conventional DNN model with controllable storage saving and computation reduction. The key idea is to approximate a matrix operation y = &#966;(W x) with &#375; = &#966;(W r x) where W r = circ(w) is a circulate matrix defined by a vector w = (w 1 , w 2 , &#8226; &#8226; &#8226; , w k ). We illustrate the concept of circulant projection in Fig. <ref type="figure">2</ref> and refer interested readers to <ref type="bibr">[10]</ref>. CirCNN <ref type="bibr">[2]</ref> further proposes a finergrained block-circulant method to improve efficiency by preclassifying the original matrix into sub-matrices and applying compression thereafter. In general, the compression ratio and resulting accuracy deduction are determined by block size k. In this work, we adopt the block-circulant method in <ref type="bibr">[2]</ref> as the target circulant DNN compression model. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C. Related Work and Motivation</head><p>Previous works <ref type="bibr">[2]</ref>, <ref type="bibr">[7]</ref> first train DNN weights using the block-circulant pattern. MVM operations can be then transformed into FFT in the frequency domain by leveraging the circulant convolution theorem <ref type="bibr">[2]</ref>. At the end of each matrix computation, an IFFT is needed to convert the result back to the original domain. Thanks to the small-footprint FFT/IFFT kernels, promising energy and performance improvement have been demonstrated in both FPGA <ref type="bibr">[2]</ref> and ASIC <ref type="bibr">[7]</ref> designs.</p><p>In this work, we explore the opportunity of implementing circulant DNN models with the emerging ReRAM memory by taking advantage of its in-situ computing capability <ref type="bibr">[5]</ref>, <ref type="bibr">[6]</ref>, <ref type="bibr">[11]</ref>. In contrast to previous FFT-based approaches, we identify that block circulant attribute does not necessarily require FFT/IFFT, especially for ReRAM-based designs which feature massive parallel MVM processing capability. In RE-BOC, MVM operations are computed directly, without the need of converting back and forth between the original domain and the frequency domain, since the FFT-based approach introduces huge computational and memory overhead, and even worse, it does not always leads to actual computation reduction. More specifically, each complex multiplication in FFT requires four real multiplications and two real additions with higher precision. Therefore, for CONV layers, which typically require smaller block size n (&lt; 32) to preserve reasonable accuracy <ref type="bibr">[2]</ref>, <ref type="bibr">[7]</ref>, FFT-based approach actually increases the computation complexity rather than reducing it.  III. DESIGN Fig. <ref type="figure">3</ref> illustrates the top-level diagram of REBOC, which consists of a set of identical processing engines (PEs) organized in a 2D array and connected through an on-chip mesh. Each PE is composed of 4 block-circulant compute units (BCUs) connected with a shared bus, an output buffer (OB), max pool unit (MP), shift and add (S&amp;A) and rectified linear unit (ReLU). Input FP and intermediate data are temporally stored in a PE buffer within each PE. Note that the size of each PE buffer is 16&#215; smaller than the eDRAM employed in ISSAC <ref type="bibr">[5]</ref> thanks to the unique data reuse system in REBOC. Each BCU is comprised of 8 ReRAM crossbars (XBs) and each XB consists of an ADC, a set of 1-bit DAC and other necessary peripheral circuitry. In particular, we dedicate a series of shift registers (SRs) and inter-connected input buffers (IBs) to support the shift-based MVM and data reuse scheme. The number of circulant shifts and detailed data reuse approach are orchestrated by a controller (CTR).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Shift Method and Mapping Scheme</head><p>Previous ReRAM-based NN accelerators <ref type="bibr">[5]</ref>, <ref type="bibr">[6]</ref>, <ref type="bibr">[11]</ref>, <ref type="bibr">[12]</ref> flatten kernel weights and then map them onto crossbars. Input FPs are re-organized accordingly and served as the wordline (WL) voltage. Note we assume that one crossbar cell can store one weight and defer the discussion on practical crossbar implementations in the following section. A na&#239;ve mapping following the previous method is shown in Fig. <ref type="figure">4 (a)</ref>. Clearly, the circulant characteristic is not exploited. Therefore, we propose a novel mapping scheme to store the representative vectors of each block-circulant matrix into a crossbar array, which leads to k time storage reduction.</p><p>As illustrated in Fig. <ref type="figure">4</ref> (b), the weight representative vector w r = [w 1 , w 2 , w 3 , w 4 ] of W r is mapped to a crossbar column. To avoid expensive ReRAM writes <ref type="bibr">[13]</ref> caused by w shifts, the weight representative vector w remains stationary in our design, and we circularly shift the input vector accordingly. More specifically, we store the input vector x = [x 1 , x 2 , x 3 , x 4 ] in the SR and apply it onto WLs when computation begins. Therefore, we obtain y 1 at the end of the first cycle. In the next clock cycle, we shift the elements of x circularly by one position in the SR and then multiply it by w to get the second element y 2 . In this example, we obtain the output vector y = [y 1 , y 2 , y 3 , y 4 ] in four cycles. We can see that the number of shifts depend on the size of block-circulant matrix k.</p><p>As explained in Section II, the computation in the FC and CONV layers are represented as matrix-vector multiplication and the weight matrix can be further compressed into p&#215;q block-circulant sub-matrices with a block size of k&#215;k as illustrated in Fig. <ref type="figure">2</ref>. We denote the representative vector of block-circulant matrix W r ij as w r ij . For each sub-matrix, we follow the previous described mapping methods, and the overall mapping is conceptually demonstrated in Fig. <ref type="figure">4 (c</ref>). To maintain the spatial position in the original matrix, w r i: and w r :j</p><p>are respectively mapped onto the same wordline(s) and bitline of a ReRAM crossbar. In general, we map (p&#215;k) &#215; (q&#215;k) weights onto a (p&#215;k)&#215;q ReRAM crossbar with k time memory reduction. Here, k can be greater or equal to 128 for FC layers, while CONV layers typically utilize a k smaller than 32 <ref type="bibr">[2]</ref>, <ref type="bibr">[7]</ref>.</p><p>Optimization of Block-circulant Mapping Scheme: As mentioned above, block-circulant compression can effectively reduce memory requirements by a factor of k. However, when taking the actual size of a crossbar into account, the resulting matrix will occupy a narrower crossbar width and ultimately lead to resource underutilization. In the following analysis, we assume that the crossbar size is 128&#215;128 and each ReRAM cell can store 2 bits. For a CONV layer with 256 filters and a block size of 16, only 25% of the crossbar is utilized. To address this challenge, we propose Horizontal Weight Slicing to allocate different bit slices of a weight to adjacent bitlines in the same crossbar. This forced adjacency can effectively improve crossbar utilization. In addition, we explore the tradeoff between hardware and performance by Intra-Crossbar Weight Duplication. Horizontal Weight Slicing (HWS). Given the limited precision of ReRAM cells and analog circuits, each matrix element is mapped to multiple crossbars, and the resulting partial sums are combined by subsequent shift-and-add (S&amp;A) reduction networks in previous works <ref type="bibr">[5]</ref>, <ref type="bibr">[6]</ref>. However, in order to mitigate low bitline utilization caused by block-circulant compression, we devise a horizontal weight slicing scheme that reaps the benefits of increased utilization and shared input FP at the same time. As an example, HWS is shown in Figure <ref type="figure">5</ref>(a), every 2-bit matrix coefficient is sequentially mapped onto a crossbar cell in the same wordline. Note that in this design we use 2-bit cells, the technique can be generalized to manybit ReRAM devices. The side benefit for HWS is that input FPs can be shared without being distributed to and buffered in multiple crossbars, reducing the communication overhead and input buffer requirement.</p><p>Intra-Crossbar Weight Duplication (ICWD). The trade-off between hardware and performance is a common adjustment factor exploited in ReRAM-based accelerator design <ref type="bibr">[6]</ref>, <ref type="bibr">[11]</ref> to realize spatial parallelism. However, circulant DNN models require a modified parameter replication approach to support their circulant execution model. A conceptual example of the proposed Intra-Crossbar Weight Duplication is demonstrated in Figure <ref type="figure">5(b)</ref>. Instead of duplicating the original weight representative vector w r , a circulant form of w r is stored in the same XB. In this example, we have a duplication degree of g = 2, resulting in 2&#215; execution time reduction at the cost of 2&#215; hardware overhead. ICWD can be utilized with a flexible g considering a specific DNN topology, compression ratio and available hardwre resource.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Input Data Reusing and Sharing</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Analysis of Redundant Data Access to External Memory:</head><p>Due to the overlapped computation of CONV layers and the mapping scheme proposed above (weight representative vectors are stationary on crossbars), most of the FP elements need to be accessed for more than once as input. Usually, we need to reorganize the 3D FP into a 2D matrix with many duplicated FP elements as shown in Fig. <ref type="figure">1</ref>. However, the reorganization brings two problems. First, it needs (r 2 H o W o -H i W i )C i external memory space to store the duplicated FP elements <ref type="bibr">[14]</ref>. Second, it leads to more access to the external memory, which consumes much energy. To solve this problem, we propose two methods: Input Slice Reusing and Input Tile Sharing. We use the example shown in Fig. <ref type="figure">6</ref> Fig. <ref type="figure">6</ref>. Input feature map reorganization.</p><p>to explain. In this example, the width and height of the FP are both 5, and the number of input channels is 128. The filter size is 3&#215;3 and the stride is 1. We denote X(i, ., .), i = 1, 2, 3, 4, 5 as the input tiles, and X(i, j, .), j = 1, 2, 3, 4, 5 as the input slices. Each input slice is composed of 128 FP elements. The relationship between input tiles and input slices is also illustrated in Fig. <ref type="figure">6</ref>. It is obvious that the 2D matrix has duplicated input tiles and in each input tile, there are also duplicated input slices.</p><p>Input Slice Reusing (ISR). REBOC uses input buffers (IBs) to implement ISR. As Fig. <ref type="figure">7</ref>(a) shows, at the beginning, input slices 1, 2 and 3 are, respectively, allocated in three connected IBs. After SRs fetch the input slices from IBs, input slice 2 and 3 are transferred to the top IBs for data reuse. Meanwhile, input slice 1 is exhausted from the top IB and input slice 4 is allocated into the bottom IB. Finally, input slice 2 is exhausted and input slice 5 is allocated, and input slices 3 and 4 are reused. In this way, redundant data access and extra memory space requirement of the input slices in each input tile can be avoided.</p><p>Input Tile Sharing (ITS). Fig. <ref type="figure">7(b</ref>) illustrates that for one CONV layer whose filter width and height are both 3, we can partition the crossbars into 3 groups -XB G1, XB G2 and XB G3 -to store the CONV layer weight representative vectors. Once one input tile is fetched, it is shared by all the corresponding crossbar groups in processing. For example, once the gray input tile X <ref type="bibr">(3, ., .)</ref> in Fig. <ref type="figure">7(b</ref>) is accessed from the PE buffer, it can be used as input of XB G1, XB G2 and XB G3 at the same time. Therefore, after completing computation of input tiles with their matched weight representative vectors in crossbar groups, we can get corresponding partial sums (psums). We can get psum 3,1 , psum 3,2 and psum 3,3 in the case of the gray input tile X <ref type="bibr">(3, ., .)</ref>. As shown in Fig. <ref type="figure">7(b)</ref>, with psum 1,1 , psum 2,2 and psum 3,3 , we can get next layer's input tile X next (1, ., .) (before pooling and ReLU). Although in some cases we should store part of psums in the global buffer because of the limited buffer resource in each PE, ITS reduces the redundant access to external memory of the duplicated input.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C. Intra-layer Pipeline Design</head><p>Pipeline has been widely exploited in most state-of-art ReRAM-based accelerators <ref type="bibr">[5]</ref>, <ref type="bibr">[6]</ref>, <ref type="bibr">[11]</ref>. In REBOC, we support intra-layer pipeline (ILP), where different parts of different layers from the same frame can be processed simul-  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Accelerators</head><p>Mapping Scheme Intermediate storage Atomlayer <ref type="bibr">[12]</ref> Row-disjoint Ho&#8226;Wo&#8226;Co ISSAC <ref type="bibr">[5]</ref> Overlap (Ho&#8226;(r -1) + r)&#8226;Co Pipelayer <ref type="bibr">[6]</ref> Overlap taneously for high throughput and the saving of memory space for intermediate results. Thus, ILP can also reduce the access to external memory for energy saving. The partial outputs of layer i -1 are stored in PE buffer and used as the input of layer i. Once C i input elements (C o output elements of layer i -1) show up as an input slice, which is a part of the input tile, they can be allocated to the corresponding input buffer for ITS and then for ISR. After processing r -1 input tiles and one input slice (X(1, ., .), X(2, ., .) and X(3, 1, .) in Fig. <ref type="figure">7</ref>), we can get the input slices of layer i + 1 consecutively. To get a balanced pipeline, we also adopt intra-layer parallelism like Pipelayer <ref type="bibr">[6]</ref> and the parallelism granularity depending on the MACs of different layers of the processed NN.</p><p>Table <ref type="table">I</ref> compares the mapping scheme and intermediate storage of different accelerators and techniques we proposed. WRV denotes the mapping scheme of weight representative vectors. Note that the intermediate storage means the memory of intermediate results that can be directly used in the next layer's processing. The extra psum access to global buffer of ITS is not included here but we consider the overhead in our evaluation. It is obvious that, with ISR and ITS, REBOC's intermediate storage is much smaller than that of others. Therefore, REBOC's PE buffer need not to be as large as eDRAM buffer of ISSAC. And in fact, under most circumstances, ISSAC's 64 KB buffer cannot be fully exploited. Thus, our design has better area and power efficiency.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>IV. EVALUATION A. Benchmarks</head><p>We evaluate the proposed REBOC accelerator on four datasets: MNIST <ref type="bibr">[15]</ref>, ImageNet <ref type="bibr">[16]</ref>, CIFAR-10 <ref type="bibr">[17]</ref> and DataDJI <ref type="bibr">[18]</ref>. The networks used in our evaluation are LeNet on MNIST, AlexNet on ImageNet, CifarNet on CIFAFR-10, and TinyYolo on DataJI. For fair comparison and accuracy, we use different configurations of MAC bit-precision and block size for different NNs in our evaluation, which are almost the same as Sticker-T <ref type="bibr">[7]</ref>.  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>B. Experiment Setup</head><p>We build a ReRAM simulator based on NVSim <ref type="bibr">[19]</ref> to evaluate REBOC. The configuration of the simulation is shown in Table <ref type="table">III</ref>. The models of buffers and register are extracted from CACTI <ref type="bibr">[20]</ref> with a 65nm technology. For ADC energy and sensing time, we extract data from <ref type="bibr">[21]</ref>. We adopt ReRAM write/read latency and energy from <ref type="bibr">[22]</ref> as 29.31ns/50.88ns, 1.08pJ/3.91nJ. We also build a Pipelayer-like accelerator, which does not support intra-layer pipeline and the data reuse system we proposed, using the same hardware configurations. When comparing REBOC with ASIC/FPGA, the baseline is the FPGA implementation of Cir CNN <ref type="bibr">[2]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C. Comparison with ASIC/FPGA</head><p>Power efficiency (GOP s/s/W ) is the metric to compare REBOC with <ref type="bibr">[2]</ref>, <ref type="bibr">[7]</ref>. The configurations of MAC bitprecision of different NNs are shown in Table <ref type="table">II</ref>. The MAC bit-precision of CirCNN FPGA and CirCNN ASIC are 16bit because if the weights are quantized to 4bit, the accuracy degrades much (the accuracy of AlexNet is lower than 20%) because in CirCNN architecture the configuration bit-precision of FFT/IFFT and MAC should be the same but FFT/IFFT need higher bit-precision. In <ref type="bibr">[7]</ref>, the configuration is more flexible, which allows FFT/IFFT have higher bit-precision than MAC. As shown in Fig. <ref type="figure">8</ref>, on average, the power efficiency of REBOC is 96&#215; higher than CirCNN FPGA, 8.86&#215; higher than CirCNN ASIC and 1.93&#215; higher than STICKER-T for the four benchmarks in our evaluation. Firstly, this is because REBOC does not need to fetch weights from external memory, and we can delicately map the weights onto crossbars to make PEs get maximally exploited and duplicate the weights to make the pipeline balanced. Thus, REBOC's performance is harder to be weakened by the variations of operations of different layers or NN models. However, due to their architecture design, the power efficiency of Cir CNN <ref type="bibr">[2]</ref> and STICKER-T <ref type="bibr">[7]</ref> vary and the hardware resource of them cannot be fully exploited simultaneously when processing different NNs. The performance of FFT module is the bottleneck because FFT module has much poorer computation parallelism and needs higher bit-precision. REBOC has lower power efficiency than STICKER-T for AlexNet because in AlexNet, nearly 90% of parameters belong to the FC layers. Thus, when processing the large FC layers with large block size (eg., 128), STICKER-T can get both of its FFT module and MAC module maximally exploited to achieve better power efficiency.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>D. Comparison with ReRAM-based Accelerator</head><p>Energy Results. Fig. <ref type="figure">9</ref> illustrates the energy consumption of CONV layers in the benchmarks. The average energy saving of REBOC for the benchmark's Conv layers is 2.6&#215;. For each benchmark, we report the energy consumption of intra-layer pipelined REBOC (ILP), intra-layer pipelined REBOC with input slice reusing (ILP+ISR), intra-layer pipelined REBOC with input tile sharing (ILP+ITS) and intra-layer pipelined REBOC with both input slice reusing and input tile sharing (ILP+ISR+ITS). Intra-layer pipeline achieves energy savings because it does not need to store all the intermediate results of one layer in the global buffer or DRAM and re-access them before processing next layer as the baseline does. ITS and ISR further reduce the access to external memory to save more energy.</p><p>Performance Results. As described above, ILP can speed up processing Conv layers of one frame and the speedup is nearly a direct function of the nunmber of Conv layers in benchmarks. Thus, intra-layer pipelined REBOC achieves the highest speedup for TinyYolo, improving the performance to 7.69&#215;. ITS and ISR do not achieve obvious improvement for speedup because compared with the latency of computation and ADC sensing time, the latency of accessing data from the buffer is relatively tiny. However, the combination of ITS and ISR can still bring 1.06&#215; speedup to the ILP. On average, REBOC achieves 4.1&#215; speedup.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>V. CONCLUSION</head><p>In this work, we proposed REBOC, a ReRAM based accelerator to efficiently process block-circulant neural networks, which utilizes massive parallel MVM processing in ReRAM for computation rather than the naive FFT/IFFT. For REBOC, we developed Horizontal Weight Slicing and Intra-Crossbar Weight Duplication to map block-circulant DNN models onto ReRAM crossbars efficiently. Input Slice Reusing and Input Tile Sharing are particularly designed to reduce the data access and buffer size. An intra-layer processing pipeline was also proposed for high throughput. From the evaluation, REBOC achieved significant speedup and power efficiency compared with state-of-the-art accelerators for block-circulant neural networks and ReRAM based accelerators.</p></div><note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0"><p>Authorized licensed use limited to: FUDAN UNIVERSITY. Downloaded on July 30,2020 at 03:54:11 UTC from IEEE Xplore. Restrictions apply.</p></note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_1"><p>Design, Automation And Test in Europe (DATE 2020) Authorized licensed use limited to: FUDAN UNIVERSITY. Downloaded on July 30,2020 at 03:54:11 UTC from IEEE Xplore. Restrictions apply.</p></note>
		</body>
		</text>
</TEI>
