CNN2Gate: An Implementation of Convolutional Neural Networks Inference on FPGAs with Automated Design Space Exploration
Convolutional Neural Networks (CNNs) have a major impact on our society, because of the numerous services they provide. These services include, but are not limited to image classification, video analysis, and speech recognition. Recently, the number of researches that utilize FPGAs to implement CNNs...
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2020-12-01
|
Series: | Electronics |
Subjects: | |
Online Access: | https://www.mdpi.com/2079-9292/9/12/2200 |
_version_ | 1797543973770756096 |
---|---|
author | Alireza Ghaffari Yvon Savaria |
author_facet | Alireza Ghaffari Yvon Savaria |
author_sort | Alireza Ghaffari |
collection | DOAJ |
description | Convolutional Neural Networks (CNNs) have a major impact on our society, because of the numerous services they provide. These services include, but are not limited to image classification, video analysis, and speech recognition. Recently, the number of researches that utilize FPGAs to implement CNNs are increasing rapidly. This is due to the lower power consumption and easy reconfigurability that are offered by these platforms. Because of the research efforts put into topics, such as architecture, synthesis, and optimization, some new challenges are arising for integrating suitable hardware solutions to high-level machine learning software libraries. This paper introduces an integrated framework (CNN2Gate), which supports compilation of a CNN model for an FPGA target. CNN2Gate is capable of parsing CNN models from several popular high-level machine learning libraries, such as Keras, Pytorch, Caffe2, etc. CNN2Gate extracts computation flow of layers, in addition to weights and biases, and applies a “given” fixed-point quantization. Furthermore, it writes this information in the proper format for the FPGA vendor’s OpenCL synthesis tools that are then used to build and run the project on FPGA. CNN2Gate performs design-space exploration and fits the design on different FPGAs with limited logic resources automatically. This paper reports results of automatic synthesis and design-space exploration of AlexNet and VGG-16 on various Intel FPGA platforms. |
first_indexed | 2024-03-10T13:53:54Z |
format | Article |
id | doaj.art-107794dd9b4c4cd4be43dda0fe799384 |
institution | Directory Open Access Journal |
issn | 2079-9292 |
language | English |
last_indexed | 2024-03-10T13:53:54Z |
publishDate | 2020-12-01 |
publisher | MDPI AG |
record_format | Article |
series | Electronics |
spelling | doaj.art-107794dd9b4c4cd4be43dda0fe7993842023-11-21T01:48:46ZengMDPI AGElectronics2079-92922020-12-01912220010.3390/electronics9122200CNN2Gate: An Implementation of Convolutional Neural Networks Inference on FPGAs with Automated Design Space ExplorationAlireza Ghaffari0Yvon Savaria1Electrical Engineering Department, Polytechnique Montreal, 2500 Edouard Montpetit Blvd, Montreal, QC H3T 1J4, CanadaElectrical Engineering Department, Polytechnique Montreal, 2500 Edouard Montpetit Blvd, Montreal, QC H3T 1J4, CanadaConvolutional Neural Networks (CNNs) have a major impact on our society, because of the numerous services they provide. These services include, but are not limited to image classification, video analysis, and speech recognition. Recently, the number of researches that utilize FPGAs to implement CNNs are increasing rapidly. This is due to the lower power consumption and easy reconfigurability that are offered by these platforms. Because of the research efforts put into topics, such as architecture, synthesis, and optimization, some new challenges are arising for integrating suitable hardware solutions to high-level machine learning software libraries. This paper introduces an integrated framework (CNN2Gate), which supports compilation of a CNN model for an FPGA target. CNN2Gate is capable of parsing CNN models from several popular high-level machine learning libraries, such as Keras, Pytorch, Caffe2, etc. CNN2Gate extracts computation flow of layers, in addition to weights and biases, and applies a “given” fixed-point quantization. Furthermore, it writes this information in the proper format for the FPGA vendor’s OpenCL synthesis tools that are then used to build and run the project on FPGA. CNN2Gate performs design-space exploration and fits the design on different FPGAs with limited logic resources automatically. This paper reports results of automatic synthesis and design-space exploration of AlexNet and VGG-16 on various Intel FPGA platforms.https://www.mdpi.com/2079-9292/9/12/2200automated high-level synthesisConvolutional Neural Network (CNN)design-space explorationFPGAhardware optimizationhardware-aware FPGA fitter |
spellingShingle | Alireza Ghaffari Yvon Savaria CNN2Gate: An Implementation of Convolutional Neural Networks Inference on FPGAs with Automated Design Space Exploration Electronics automated high-level synthesis Convolutional Neural Network (CNN) design-space exploration FPGA hardware optimization hardware-aware FPGA fitter |
title | CNN2Gate: An Implementation of Convolutional Neural Networks Inference on FPGAs with Automated Design Space Exploration |
title_full | CNN2Gate: An Implementation of Convolutional Neural Networks Inference on FPGAs with Automated Design Space Exploration |
title_fullStr | CNN2Gate: An Implementation of Convolutional Neural Networks Inference on FPGAs with Automated Design Space Exploration |
title_full_unstemmed | CNN2Gate: An Implementation of Convolutional Neural Networks Inference on FPGAs with Automated Design Space Exploration |
title_short | CNN2Gate: An Implementation of Convolutional Neural Networks Inference on FPGAs with Automated Design Space Exploration |
title_sort | cnn2gate an implementation of convolutional neural networks inference on fpgas with automated design space exploration |
topic | automated high-level synthesis Convolutional Neural Network (CNN) design-space exploration FPGA hardware optimization hardware-aware FPGA fitter |
url | https://www.mdpi.com/2079-9292/9/12/2200 |
work_keys_str_mv | AT alirezaghaffari cnn2gateanimplementationofconvolutionalneuralnetworksinferenceonfpgaswithautomateddesignspaceexploration AT yvonsavaria cnn2gateanimplementationofconvolutionalneuralnetworksinferenceonfpgaswithautomateddesignspaceexploration |