High Level Design of a Flexible PCA Hardware Accelerator Using a New Block-Streaming Method
Principal Component Analysis (PCA) is a technique for dimensionality reduction that is useful in removing redundant information in data for various applications such as Microwave Imaging (MI) and Hyperspectral Imaging (HI). The computational complexity of PCA has made the hardware acceleration of PC...
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2020-03-01
|
Series: | Electronics |
Subjects: | |
Online Access: | https://www.mdpi.com/2079-9292/9/3/449 |
id |
doaj-d1355f22f87145ac9cfab18d420c440e |
---|---|
record_format |
Article |
spelling |
doaj-d1355f22f87145ac9cfab18d420c440e2020-11-25T02:28:13ZengMDPI AGElectronics2079-92922020-03-019344910.3390/electronics9030449electronics9030449High Level Design of a Flexible PCA Hardware Accelerator Using a New Block-Streaming MethodMohammad Amir Mansoori0Mario R. Casu1Department of Electronics and Telecommunications, Politecnico di Torino, 10129 Turin, ItalyDepartment of Electronics and Telecommunications, Politecnico di Torino, 10129 Turin, ItalyPrincipal Component Analysis (PCA) is a technique for dimensionality reduction that is useful in removing redundant information in data for various applications such as Microwave Imaging (MI) and Hyperspectral Imaging (HI). The computational complexity of PCA has made the hardware acceleration of PCA an active research topic in recent years. Although the hardware design flow can be optimized using High Level Synthesis (HLS) tools, efficient high-performance solutions for complex embedded systems still require careful design. In this paper we propose a flexible PCA hardware accelerator in Field-Programmable Gate Arrays (FPGA) that we designed entirely in HLS. In order to make the internal PCA computations more efficient, a new block-streaming method is also introduced. Several HLS optimization strategies are adopted to create an efficient hardware. The flexibility of our design allows us to use it for different FPGA targets, with flexible input data dimensions, and it also lets us easily switch from a more accurate floating-point implementation to a higher speed fixed-point solution. The results show the efficiency of our design compared to state-of-the-art implementations on GPUs, many-core CPUs, and other FPGA approaches in terms of resource usage, execution time and power consumption.https://www.mdpi.com/2079-9292/9/3/449fpgaprincipal component analysis (pca)high level synthesis (hls)hardware accelerationembedded systemsfixed-point implementation |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Mohammad Amir Mansoori Mario R. Casu |
spellingShingle |
Mohammad Amir Mansoori Mario R. Casu High Level Design of a Flexible PCA Hardware Accelerator Using a New Block-Streaming Method Electronics fpga principal component analysis (pca) high level synthesis (hls) hardware acceleration embedded systems fixed-point implementation |
author_facet |
Mohammad Amir Mansoori Mario R. Casu |
author_sort |
Mohammad Amir Mansoori |
title |
High Level Design of a Flexible PCA Hardware Accelerator Using a New Block-Streaming Method |
title_short |
High Level Design of a Flexible PCA Hardware Accelerator Using a New Block-Streaming Method |
title_full |
High Level Design of a Flexible PCA Hardware Accelerator Using a New Block-Streaming Method |
title_fullStr |
High Level Design of a Flexible PCA Hardware Accelerator Using a New Block-Streaming Method |
title_full_unstemmed |
High Level Design of a Flexible PCA Hardware Accelerator Using a New Block-Streaming Method |
title_sort |
high level design of a flexible pca hardware accelerator using a new block-streaming method |
publisher |
MDPI AG |
series |
Electronics |
issn |
2079-9292 |
publishDate |
2020-03-01 |
description |
Principal Component Analysis (PCA) is a technique for dimensionality reduction that is useful in removing redundant information in data for various applications such as Microwave Imaging (MI) and Hyperspectral Imaging (HI). The computational complexity of PCA has made the hardware acceleration of PCA an active research topic in recent years. Although the hardware design flow can be optimized using High Level Synthesis (HLS) tools, efficient high-performance solutions for complex embedded systems still require careful design. In this paper we propose a flexible PCA hardware accelerator in Field-Programmable Gate Arrays (FPGA) that we designed entirely in HLS. In order to make the internal PCA computations more efficient, a new block-streaming method is also introduced. Several HLS optimization strategies are adopted to create an efficient hardware. The flexibility of our design allows us to use it for different FPGA targets, with flexible input data dimensions, and it also lets us easily switch from a more accurate floating-point implementation to a higher speed fixed-point solution. The results show the efficiency of our design compared to state-of-the-art implementations on GPUs, many-core CPUs, and other FPGA approaches in terms of resource usage, execution time and power consumption. |
topic |
fpga principal component analysis (pca) high level synthesis (hls) hardware acceleration embedded systems fixed-point implementation |
url |
https://www.mdpi.com/2079-9292/9/3/449 |
work_keys_str_mv |
AT mohammadamirmansoori highleveldesignofaflexiblepcahardwareacceleratorusinganewblockstreamingmethod AT mariorcasu highleveldesignofaflexiblepcahardwareacceleratorusinganewblockstreamingmethod |
_version_ |
1724839601345921024 |