{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/espresso-efficient-forward-propagation-for","title":"Espresso: Efficient Forward Propagation for BCNNs","arxiv_id":"1705.07175","date":"2017-05-19","proceeding":null,"authors":["Fabrizio Pedersoli","George Tzanetakis","Andrea Tagliasacchi"],"abstract":"There are many applications scenarios for which the computational performance\nand memory footprint of the prediction phase of Deep Neural Networks (DNNs)\nneeds to be optimized. Binary Neural Networks (BDNNs) have been shown to be an\neffective way of achieving this objective. In this paper, we show how\nConvolutional Neural Networks (CNNs) can be implemented using binary\nrepresentations. Espresso is a compact, yet powerful library written in C/CUDA\nthat features all the functionalities required for the forward propagation of\nCNNs, in a binary file less than 400KB, without any external dependencies.\nAlthough it is mainly designed to take advantage of massive GPU parallelism,\nEspresso also provides an equivalent CPU implementation for CNNs. Espresso\nprovides special convolutional and dense layers for BCNNs, leveraging\nbit-packing and bit-wise computations for efficient execution. These techniques\nprovide a speed-up of matrix-multiplication routines, and at the same time,\nreduce memory usage when storing parameters and activations. We experimentally\nshow that Espresso is significantly faster than existing implementations of\noptimized binary neural networks ($\\approx$ 2 orders of magnitude). Espresso is\nreleased under the Apache 2.0 license and is available at\nhttp://github.com/fpeder/espresso.","url_abs":"http://arxiv.org/abs/1705.07175v2","url_pdf":"http://arxiv.org/pdf/1705.07175v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"espresso-efficient-forward-propagation-for","repo_url":"https://github.com/fpeder/espresso","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"unanswered"}}],"tasks":[{"task_slug":null,"task_name":"CPU"},{"task_slug":null,"task_name":"GPU"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1705.07175","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}