TrIM, Triangular Input Movement Systolic Array for Convolutional Neural Networks: Architecture and Hardware Implementation
Cristian Sestito, Shady Agwa, Themis Prodromakis
TL;DR
This work tackles the memory-bandwidth bottleneck in CNN accelerators by introducing Triangular Input Movement (TrIM), a dataflow that reduces data movement and memory accesses. It presents a hierarchical TrIM hardware architecture (Slice, Core, Engine) with Reconfigurable Shift Register Buffers to support variable ifmap sizes, and demonstrates an FPGA implementation for VGG-16 and AlexNet. The TrIM design achieves up to $453.6$ GOPs/s peak throughput on a $1512$-PE FPGA engine and reduces memory accesses by up to about $3\times$ compared with a state-of-the-art RS-based accelerator, with energy efficiency gains up to $11.9\times$. Design-space analysis shows scalable performance across PN and PM under realistic I/O bandwidth constraints, underscoring TrIM’s practical impact for energy-efficient CNN inference on reconfigurable hardware.
Abstract
Modern hardware architectures for Convolutional Neural Networks (CNNs), other than targeting high performance, aim at dissipating limited energy. Reducing the data movement cost between the computing cores and the memory is a way to mitigate the energy consumption. Systolic arrays are suitable architectures to achieve this objective: they use multiple processing elements that communicate each other to maximize data utilization, based on proper dataflows like the weight stationary and row stationary. Motivated by this, we have proposed TrIM, an innovative dataflow based on a triangular movement of inputs, and capable to reduce the number of memory accesses by one order of magnitude when compared to state-of-the-art systolic arrays. In this paper, we present a TrIM-based hardware architecture for CNNs. As a showcase, the accelerator is implemented onto a Field Programmable Gate Array (FPGA) to execute the VGG-16 and AlexNet CNNs. The architecture achieves a peak throughput of 453.6 Giga Operations per Second, outperforming a state-of-the-art row stationary systolic array up to ~3x in terms of memory accesses, and being up to ~11.9x more energy-efficient than other FPGA accelerators.
