{"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/a-systematic-approach-to-blocking","title":"A Systematic Approach to Blocking Convolutional Neural Networks","arxiv_id":"1606.04209","date":"2016-06-14","proceeding":null,"authors":["Xuan Yang","Jing Pu","Blaine Burton Rister","Nikhil Bhagdikar","Stephen Richardson","Shahar Kvatinsky","Jonathan Ragan-Kelley","Ardavan Pedram","Mark Horowitz"],"abstract":"Convolutional Neural Networks (CNNs) are the state of the art solution for\nmany computer vision problems, and many researchers have explored optimized\nimplementations. Most implementations heuristically block the computation to\ndeal with the large data sizes and high data reuse of CNNs. This paper explores\nhow to block CNN computations for memory locality by creating an analytical\nmodel for CNN-like loop nests. Using this model we automatically derive\noptimized blockings for common networks that improve the energy efficiency of\ncustom hardware implementations by up to an order of magnitude. Compared to\ntraditional CNN CPU implementations based on highly-tuned, hand-optimized BLAS\nlibraries,our x86 programs implementing the optimal blocking reduce the number\nof memory accesses by up to 90%.","url_abs":"http://arxiv.org/abs/1606.04209v1","url_pdf":"http://arxiv.org/pdf/1606.04209v1.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":"a-systematic-approach-to-blocking","repo_url":"https://github.com/stanford-mast/nn_dataflow","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null}],"tasks":[{"task_slug":"blocking","task_name":"Blocking"},{"task_slug":null,"task_name":"CPU"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}