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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Cadenas-Montes, M., Vega-Rodriguez, M.A., Rodriguez-Vazquez, J.J., Gomez-Iglesias, A.: Accelerating particle swarm algorithm with GPGPU. In: 19th Euromicro International Conference on Parallel, Distributed and Network-based Processing (PDP), pp. 560–564. IEEE (2011)
de P. Veronese, L., Krohling, R.A.: Swarm’s flight: Accelerating the particles using C-CUDA. In: Proc. IEEE Congress on Evolutionary Computation (CEC 2009), pp. 3264–3270. IEEE (2009)
Kennedy, J., Eberhart, R.: Particle swarm optimization. In: Proc. IEEE International Conference on Neural Networks, vol. IV, pp. 1942–1948. IEEE (1995)
Lee, V.W., Kim, C., Chhugani, J., Deisher, M., Kim, D., Nguyen, A.D., Satish, N., Smelyanskiy, M., Chennupaty, S., Hammarlund, P., Singhal, R., Dubey, P.: Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU. In: Proc. 37th International Symposium on Computer Architecture (ISCA), pp. 451–460. ACM (2010)
Mussi, L., Daolio, F., Cagnoni, S.: Evaluation of parallel particle swarm optimization algorithms within the CUDA architecture. Inf. Sciences 181(20), 4642–4657 (2011)
Mussi, L., Nashed, Y.S.G., Cagnoni, S.: GPU-based asynchronous Particle Swarm Optimization. In: Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation (GECCO), pp. 1555–1562. ACM (2011)
Papadakis, S.E., Bakrtzis, A.G.: A GPU accelerated PSO with application to Economic Dispatch problem. In: 16th International Conference on Intelligent System Application to Power Systems (ISAP 2011), pp. 1–6. IEEE (2011)
Zhou, Y., Tan, Y.: GPU-based parallel particle swarm optimization. In: Proc. IEEE Congress on Evolutionary Computation, CEC 2009, pp. 1493–1500. IEEE (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cagnoni, S., Bacchini, A., Mussi, L. (2012). OpenCL Implementation of Particle Swarm Optimization: A Comparison between Multi-core CPU and GPU Performances. In: Di Chio, C., et al. Applications of Evolutionary Computation. EvoApplications 2012. Lecture Notes in Computer Science, vol 7248. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-29178-4_41
Download citation
DOI: https://doi.org/10.1007/978-3-642-29178-4_41
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-29177-7
Online ISBN: 978-3-642-29178-4
eBook Packages: Computer ScienceComputer Science (R0)