OpenCL implementation of particle swarm optimization: a comparison between multi-core CPU and GPU performances

  • Authors:
  • Stefano Cagnoni;Alessandro Bacchini;Luca Mussi

  • Affiliations:
  • Dept. of Information Engineering, University of Parma, Italy;Dept. of Information Engineering, University of Parma, Italy;Henesis s.r.l., Parma, Italy

  • Venue:
  • EvoApplications'12 Proceedings of the 2012t European conference on Applications of Evolutionary Computation
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

GPU-based parallel implementations of algorithms are usually compared against the corresponding sequential versions compiled for a single-core CPU machine, without taking advantage of the multi-core and SIMD capabilities of modern processors. This leads to unfair comparisons, where speed-up figures are much larger than what could actually be obtained if the CPU-based version were properly parallelized and optimized. The availability of OpenCL, which compiles parallel code for both GPUs and multi-core CPUs, has made it much easier to compare execution speed of different architectures fully exploiting each architecture's best features. We tested our latest parallel implementations of Particle Swarm Optimization (PSO), compiled under OpenCL for both GPUs and multi-core CPUs, and separately optimized for the two hardware architectures. Our results show that, for PSO, a GPU-based parallelization is still generally more efficient than a multi-core CPU-based one. However, the speed-up obtained by the GPU-based with respect to the CPU-based version is by far lower than the orders-of-magnitude figures reported by the papers which compare GPU-based parallel implementations to basic single-thread CPU code.