Accelerating floating-point fitness functions in evolutionary algorithms: a FPGA-CPU-GPU performance comparison

  • Authors:
  • Juan A. Gomez-Pulido;Miguel A. Vega-Rodriguez;Juan M. Sanchez-Perez;Silvio Priem-Mendes;Vitor Carreira

  • Affiliations:
  • Department of Technologies of Computers and Communications, University of Extremadura, Caceres, Spain 10003;Department of Technologies of Computers and Communications, University of Extremadura, Caceres, Spain 10003;Department of Technologies of Computers and Communications, University of Extremadura, Caceres, Spain 10003;Department of Computer Science, School of Technology and Management, Polytechnic Institute of Leiria, Leiria, Portugal 2410;Department of Computer Science, School of Technology and Management, Polytechnic Institute of Leiria, Leiria, Portugal 2410

  • Venue:
  • Genetic Programming and Evolvable Machines
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many large combinatorial optimization problems tackled with evolutionary algorithms often require very high computational times, usually due to the fitness evaluation. This fact forces programmers to use clusters of computers, a computational solution very useful for running applications of intensive calculus but having a high acquisition price and operation cost, mainly due to the Central Processing Unit (CPU) power consumption and refrigeration devices. A low-cost and high-performance alternative comes from reconfigurable computing, a hardware technology based on Field Programmable Gate Array devices (FPGAs). The main objective of the work presented in this paper is to compare implementations on FPGAs and CPUs of different fitness functions in evolutionary algorithms in order to study the performance of the floating-point arithmetic in FPGAs and CPUs that is often present in the optimization problems tackled by these algorithms. We have taken advantage of the parallelism at chip-level of FPGAs pursuing the acceleration of the fitness functions (and consequently, of the evolutionary algorithms) and showing the parallel scalability to reach low cost, low power and high performance computational solutions based on FPGA. Finally, the recent popularity of GPUs as computational units has moved us to introduce these devices in our performance comparisons. We analyze performance in terms of computation times and economic cost.