Optimization of Deep Neural Networks Using SoCs with OpenCL
In the optimization of deep neural networks (DNNs) via evolutionary algorithms (EAs) and the implementation of the training necessary for the creation of the objective function, there is often a trade-off between efficiency and flexibility. Pure software solutions implemented on general-purpose proc...
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2018-04-01
|
Series: | Sensors |
Subjects: | |
Online Access: | http://www.mdpi.com/1424-8220/18/5/1384 |
id |
doaj-f237dffed2a54725960b5fde788b8ea2 |
---|---|
record_format |
Article |
spelling |
doaj-f237dffed2a54725960b5fde788b8ea22020-11-25T00:53:00ZengMDPI AGSensors1424-82202018-04-01185138410.3390/s18051384s18051384Optimization of Deep Neural Networks Using SoCs with OpenCLRafael Gadea-Gironés0Ricardo Colom-Palero1Vicente Herrero-Bosch2Department of Electronic Engineering, Universitat Politècnica de València, Camino de Vera, s/n, 46022 València, SpainDepartment of Electronic Engineering, Universitat Politècnica de València, Camino de Vera, s/n, 46022 València, SpainDepartment of Electronic Engineering, Universitat Politècnica de València, Camino de Vera, s/n, 46022 València, SpainIn the optimization of deep neural networks (DNNs) via evolutionary algorithms (EAs) and the implementation of the training necessary for the creation of the objective function, there is often a trade-off between efficiency and flexibility. Pure software solutions implemented on general-purpose processors tend to be slow because they do not take advantage of the inherent parallelism of these devices, whereas hardware realizations based on heterogeneous platforms (combining central processing units (CPUs), graphics processing units (GPUs) and/or field-programmable gate arrays (FPGAs)) are designed based on different solutions using methodologies supported by different languages and using very different implementation criteria. This paper first presents a study that demonstrates the need for a heterogeneous (CPU-GPU-FPGA) platform to accelerate the optimization of artificial neural networks (ANNs) using genetic algorithms. Second, the paper presents implementations of the calculations related to the individuals evaluated in such an algorithm on different (CPU- and FPGA-based) platforms, but with the same source files written in OpenCL. The implementation of individuals on remote, low-cost FPGA systems on a chip (SoCs) is found to enable the achievement of good efficiency in terms of performance per watt.http://www.mdpi.com/1424-8220/18/5/1384evolutionary computationembedded systemFPGAdeep neural networksOpenCLSoC |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Rafael Gadea-Gironés Ricardo Colom-Palero Vicente Herrero-Bosch |
spellingShingle |
Rafael Gadea-Gironés Ricardo Colom-Palero Vicente Herrero-Bosch Optimization of Deep Neural Networks Using SoCs with OpenCL Sensors evolutionary computation embedded system FPGA deep neural networks OpenCL SoC |
author_facet |
Rafael Gadea-Gironés Ricardo Colom-Palero Vicente Herrero-Bosch |
author_sort |
Rafael Gadea-Gironés |
title |
Optimization of Deep Neural Networks Using SoCs with OpenCL |
title_short |
Optimization of Deep Neural Networks Using SoCs with OpenCL |
title_full |
Optimization of Deep Neural Networks Using SoCs with OpenCL |
title_fullStr |
Optimization of Deep Neural Networks Using SoCs with OpenCL |
title_full_unstemmed |
Optimization of Deep Neural Networks Using SoCs with OpenCL |
title_sort |
optimization of deep neural networks using socs with opencl |
publisher |
MDPI AG |
series |
Sensors |
issn |
1424-8220 |
publishDate |
2018-04-01 |
description |
In the optimization of deep neural networks (DNNs) via evolutionary algorithms (EAs) and the implementation of the training necessary for the creation of the objective function, there is often a trade-off between efficiency and flexibility. Pure software solutions implemented on general-purpose processors tend to be slow because they do not take advantage of the inherent parallelism of these devices, whereas hardware realizations based on heterogeneous platforms (combining central processing units (CPUs), graphics processing units (GPUs) and/or field-programmable gate arrays (FPGAs)) are designed based on different solutions using methodologies supported by different languages and using very different implementation criteria. This paper first presents a study that demonstrates the need for a heterogeneous (CPU-GPU-FPGA) platform to accelerate the optimization of artificial neural networks (ANNs) using genetic algorithms. Second, the paper presents implementations of the calculations related to the individuals evaluated in such an algorithm on different (CPU- and FPGA-based) platforms, but with the same source files written in OpenCL. The implementation of individuals on remote, low-cost FPGA systems on a chip (SoCs) is found to enable the achievement of good efficiency in terms of performance per watt. |
topic |
evolutionary computation embedded system FPGA deep neural networks OpenCL SoC |
url |
http://www.mdpi.com/1424-8220/18/5/1384 |
work_keys_str_mv |
AT rafaelgadeagirones optimizationofdeepneuralnetworksusingsocswithopencl AT ricardocolompalero optimizationofdeepneuralnetworksusingsocswithopencl AT vicenteherrerobosch optimizationofdeepneuralnetworksusingsocswithopencl |
_version_ |
1725239740712615936 |