Snowflake: A Model Agnostic Accelerator for Convolutional Neural Networks

Vinayak A Gokhale, Purdue University

Abstract

Deep learning is becoming increasingly popular for a wide variety of applications including object detection, classification, semantic segmentation and natural language processing. Convolutional neural networks (CNNs) are a class of deep learning algorithms that have been shown to achieve high accuracy for these tasks. CNNs are hierarchical mathematical models comprising millions of operations to produce an output. This output can be used to identify what objects the input image contained, the locations of these objects and what actions to take based on this knowledge. The high computational complexity combined with the inherent parallelism in these models makes them an excellent target for custom accelerators. CNNs produce tens of megabytes of intermediate data and have highly varied data access patterns, both among different network architectures and across the hierarchy of a single network. However, when optimizing for different CNN hierarchies and data access patterns, it is difficult for custom accelerators to achieve close to 100% computational efficiency. We present a network architecture agnostic accelerator called Snowflake. Snowflake has been designed to achieve close to peak computational efficiency while processing all parts of the CNN hierarchy. We use a benchmark suite consisting of a variety of recent, deep CNNs with different model hierarchies to evaluate the performance of the accelerator. We demonstrate that Snowflake has an average computational efficiency of 93% with a minimum of 91% and a maximum of 95%.

Degree

Ph.D.

Advisors

Culurciello, Purdue University.

Subject Area

Computer Engineering

Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server
.

Share

COinS