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...

Full description

Bibliographic Details
Main Authors: Alireza Ghaffari, Yvon Savaria
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