Implementation of Autoencoders with Systolic Arrays through OpenCL
Institute for Molecular Imaging Technologies (I3M), Universitat Politècnica de València, 46022 Valencia, Spain
Electronics, 10(1), 70, 2021
@article{gadea2021implementation,
title={Implementation of Autoencoders with Systolic Arrays through OpenCL},
author={Gadea-Giron{‘e}s, Rafael and Herrero-Bosch, Vicente and Monz{‘o}-Ferrer, Jose and Colom-Palero, Ricardo},
journal={Electronics},
volume={10},
number={1},
pages={70},
year={2021},
publisher={Multidisciplinary Digital Publishing Institute}
}
In the world of algorithm acceleration and the implementation of deep neural networks’ recall phase, OpenCL based solutions have a clear tendency to produce perfectly adapted kernels in graphic processor unit (GPU) architectures. However, they fail to obtain the same results when applied to field-programmable gate array (FPGA) based architectures. This situation, along with an enormous advance in new GPU architectures, makes it unfeasible to defend an acceleration solution based on FPGA, even in terms of energy efficiency. Our goal in this paper is to demonstrate that multikernel structures can be written based on classic systolic arrays in OpenCL, trying to extract the most advanced features of FPGAs without having to resort to traditional FPGA development using lower level hardware description languages (HDLs) such as Verilog or VHDL. This OpenCL methodology is based on the intensive use of channels (IntelFPGA extension of OpenCL) for the communication of both data and control and on the refinement of the OpenCL libraries using register transfer logic (RTL) code to improve the performance of the implementation of the base and activation functions of the neurons and, above all, to reflect the importance of adequate communication between the layers when implementing neuronal networks.
January 17, 2021 by hgpu