  This paper introduces FlexNN, a Flexible Neural Network accelerator, which
adopts agile design principles to enable versatile dataflows, enhancing energy
efficiency. Unlike conventional convolutional neural network accelerator
architectures that adhere to fixed dataflows (such as input, weight, output, or
row stationary) for transferring activations and weights between storage and
compute units, our design revolutionizes by enabling adaptable dataflows of any
type through software configurable descriptors. Considering that data movement
costs considerably outweigh compute costs from an energy perspective, the
flexibility in dataflow allows us to optimize the movement per layer for
minimal data transfer and energy consumption, a capability unattainable in
fixed dataflow architectures. To further enhance throughput and reduce energy
consumption in the FlexNN architecture, we propose a novel sparsity-based
acceleration logic that utilizes fine-grained sparsity in both the activation
and weight tensors to bypass redundant computations, thus optimizing the
convolution engine within the hardware accelerator. Extensive experimental
results underscore a significant enhancement in the performance and energy
efficiency of FlexNN relative to existing DNN accelerators.
