Power-optimal mapping of CNN applications to cloud-based Multi-FPGA platforms
Multi-FPGA platforms like Amazon Web Services F1 are perfect to accelerate multi-kernel pipelined applications, like Convolutional Neural Networks (CNNs). To reduce energy consumption, we propose to upload at runtime the best power-optimized CNN implementation for a given throughput constraint. Our...
| Autores: | , , , , |
|---|---|
| Tipo de documento: | artigo |
| Data de publicação: | 2020 |
| País: | España |
| Recursos: | Universitat Politècnica de Catalunya (UPC) |
| Repositório: | UPCommons. Portal del coneixement obert de la UPC |
| Idioma: | inglês |
| OAI Identifier: | oai:upcommons.upc.edu:2117/340450 |
| Acesso em linha: | https://hdl.handle.net/2117/340450 https://dx.doi.org/10.1109/TCSII.2020.2998284 |
| Access Level: | Acceso aberto |
| Palavra-chave: | Neural networks (Computer science) Logic design Field programmable gate arrays CNN Multi-FPGA Power optimization Xarxes neuronals (Informàtica) Estructura lògica Matrius de portes programables per l'usuari Àrees temàtiques de la UPC::Informàtica::Arquitectura de computadors |
| Resumo: | Multi-FPGA platforms like Amazon Web Services F1 are perfect to accelerate multi-kernel pipelined applications, like Convolutional Neural Networks (CNNs). To reduce energy consumption, we propose to upload at runtime the best power-optimized CNN implementation for a given throughput constraint. Our design method gives the best number of parallel instances of each kernel, their allocation to the FPGAs, the number of powered-on FPGAs and their clock frequency. This is obtained by solving a mixed-integer, non-linear optimization problem that models power and performance of each component, as well as the duration of the computation phases-data transfer between a host CPU and the FPGA memory (typically DDR), data transfer between DDR and FPGA, and FPGA computation. The results show that the power saved compared to simply clock gating the fastest implementation is obviously very high, but it is also much more significant than simply scaling the frequency of the fastest implementation or replicating the slowest implementation on multiple FPGAs. |
|---|