Abstract
Over many decades, a broad spectrum of digital architectures were developed for solving different types of problems in terms of their characteristics. Some years ago, trends have emerged towards Heterogeneous Computing, where different architectures (e.g. CPUs, GPUs, FPGAs) are used for accelerating large-scale problems. In this method of computation, parts of a source code are separated …