f-CNN^x: A Toolflow for Mapping Multiple Convolutional Neural Networks on FPGAs

05/25/2018
by   Stylianos I. Venieris, et al.
0

The predictive power of Convolutional Neural Networks (CNNs) has been an integral factor for emerging latency-sensitive applications, such as autonomous drones and vehicles. Such systems employ multiple CNNs, each one trained for a particular task. The efficient mapping of multiple CNNs on a single FPGA device is a challenging task as the allocation of compute resources and external memory bandwidth needs to be optimised at design time. This paper proposes f-CNN^x, an automated toolflow for the optimised mapping of multiple CNNs on FPGAs, comprising a novel multi-CNN hardware architecture together with an automated design space exploration method that considers the user-specified performance requirements for each model to allocate compute resources and generate a synthesisable accelerator. Moreover, f-CNN^x employs a novel scheduling algorithm that alleviates the limitations of the memory bandwidth contention between CNNs and sustains the high utilisation of the architecture. Experimental evaluation shows that f-CNN^x's designs outperform contention-unaware FPGA mappings by up to 50 higher performance-per-Watt over highly optimised GPU designs for multi-CNN systems.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset