17252

Espresso: Efficient Forward Propagation for BCNNs

Fabrizio Pedersoli, George Tzanetakis, Andrea Tagliasacchi
Department of Computer Science, University of Victoria
arXiv:1705.07175 [cs.DC], (19 May 2017)

@article{pedersoli2017espresso,

   title={Espresso: Efficient Forward Propagation for BCNNs},

   author={Pedersoli, Fabrizio and Tzanetakis, George and Tagliasacchi, Andrea},

   year={2017},

   month={may},

   archivePrefix={"arXiv"},

   primaryClass={cs.DC}

}

Download Download (PDF)   View View   Source Source   

412

views

There are many applications scenarios for which the computational performance and memory footprint of the prediction phase of Deep Neural Networks (DNNs) needs to be optimized. Binary Neural Networks (BDNNs) have been shown to be an effective way of achieving this objective. In this paper, we show how Convolutional Neural Networks (CNNs) can be implemented using binary representations. Espresso is a compact, yet powerful library written in C/CUDA that features all the functionalities required for the forward propagation of CNNs, in a binary file less than 400KB, without any external dependencies. Although it is mainly designed to take advantage of massive GPU parallelism, Espresso also provides an equivalent CPU implementation for CNNs. Espresso provides special convolutional and dense layers for BCNNs, leveraging bit-packing and bit-wise computations for efficient execution. These techniques provide a speed-up of matrix-multiplication routines, and at the same time, reduce memory usage when storing parameters and activations. We experimentally show that Espresso is significantly faster than existing implementations of optimized binary neural networks ($approx$ 2 orders of magnitude). Espresso is released under the Apache 2.0 license and is available.
Rating: 2.5. From 1 vote.
Please wait...

* * *

* * *

HGPU group © 2010-2017 hgpu.org

All rights belong to the respective authors

Contact us: