English

A Systematic Approach to Blocking Convolutional Neural Networks

Distributed, Parallel, and Cluster Computing 2016-06-15 v1 Neural and Evolutionary Computing

Abstract

Convolutional Neural Networks (CNNs) are the state of the art solution for many computer vision problems, and many researchers have explored optimized implementations. Most implementations heuristically block the computation to deal with the large data sizes and high data reuse of CNNs. This paper explores how to block CNN computations for memory locality by creating an analytical model for CNN-like loop nests. Using this model we automatically derive optimized blockings for common networks that improve the energy efficiency of custom hardware implementations by up to an order of magnitude. Compared to traditional CNN CPU implementations based on highly-tuned, hand-optimized BLAS libraries,our x86 programs implementing the optimal blocking reduce the number of memory accesses by up to 90%.

Keywords

Cite

@article{arxiv.1606.04209,
  title  = {A Systematic Approach to Blocking Convolutional Neural Networks},
  author = {Xuan Yang and Jing Pu and Blaine Burton Rister and Nikhil Bhagdikar and Stephen Richardson and Shahar Kvatinsky and Jonathan Ragan-Kelley and Ardavan Pedram and Mark Horowitz},
  journal= {arXiv preprint arXiv:1606.04209},
  year   = {2016}
}
R2 v1 2026-06-22T14:24:36.372Z