Evaluation of parallel particle swarm optimization algorithms within the CUDA™ architecture

Particle swarm optimization (PSO), like other population-based meta-heuristics, is intrinsically parallel and can be effectively implemented on Graphics Processing Units (GPUs), which are, in fact, massively parallel processing architectures. In this paper we discuss possible approaches to parallelizing PSO on graphics hardware within the Compute Unified Device Architecture (CUDA(TM)), a GPU programming environment by nVIDIA(TM) which supports the company's latest cards. In particular, two different ways of exploiting GPU parallelism are explored and evaluated. The execution speed of the two parallel algorithms is compared, on functions which are typically used as benchmarks for PSO, with a standard sequential implementation of PSO (SPSO), as well as with recently published results of other parallel implementations. An in-depth study of the computation efficiency of our parallel algorithms is carried out by assessing speed-up and scale-up with respect to SPSO. Also reported are some results about the optimization effectiveness of the parallel implementations with respect to SPSO, in cases when the parallel versions introduce some possibly significant difference with respect to the sequential version.

[1]  Andrew Lewis,et al.  Asynchronous multiple objective particle swarm optimisation in unreliable distributed environments , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[2]  Jaroslaw Sobieszczanski-Sobieski,et al.  A Parallel Particle Swarm Optimization Algorithm Accelerated by Asynchronous Evaluations , 2005 .

[3]  J. Kennedy,et al.  Population structure and particle swarm performance , 2002, Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600).

[4]  Enrique Alba,et al.  Parallelism and evolutionary algorithms , 2002, IEEE Trans. Evol. Comput..

[5]  Robert Michael Kirby,et al.  Parallel Scientific Computing in C++ and MPI - A Seamless Approach to Parallel Algorithms and their Implementation , 2003 .

[6]  Emanuele Trucco,et al.  Human Body Pose Estimation with Particle Swarm Optimisation , 2008, Evolutionary Computation.

[7]  Robert M. Kirby,et al.  Parallel Scientific Computing in C++ and MPI , 2003 .

[8]  Jianchao Zeng,et al.  Parallel asynchronous control strategy for target search with swarm robots , 2009, Int. J. Bio Inspired Comput..

[9]  Mihai Oltean,et al.  What else is the evolution of PSO telling us , 2008 .

[10]  Marcel Waintraub,et al.  Multiprocessor modeling of parallel Particle Swarm Optimization applied to nuclear engineering problems , 2009 .

[11]  Stefano Cagnoni,et al.  Particle Swarm for Pattern Matching in Image Analysis , 2009 .

[12]  N. Hansen,et al.  PSO Facing Non-Separable and Ill-Conditioned Problems , 2008 .

[13]  Zhong-Xian Chi,et al.  An Efficient Fine-grained Parallel Genetic Algorithm Based on GPU-Accelerated , 2007, 2007 IFIP International Conference on Network and Parallel Computing Workshops (NPC 2007).

[14]  James Kennedy,et al.  Particle swarm optimization , 2002, Proceedings of ICNN'95 - International Conference on Neural Networks.

[15]  A. E. Eiben,et al.  Introduction to Evolutionary Computing , 2003, Natural Computing Series.

[16]  Andries Petrus Engelbrecht,et al.  A study of particle swarm optimization particle trajectories , 2006, Inf. Sci..

[17]  Mihai Oltean,et al.  Evolving the Structure of the Particle Swarm Optimization Algorithms , 2006, EvoCOP.

[18]  Fabio Daolio,et al.  GPU-Based Road Sign Detection Using Particle Swarm Optimization , 2009, 2009 Ninth International Conference on Intelligent Systems Design and Applications.

[19]  Y. Rahmat-Samii,et al.  Reconfigurable array design using parallel particle swarm optimization , 2003, IEEE Antennas and Propagation Society International Symposium. Digest. Held in conjunction with: USNC/CNC/URSI North American Radio Sci. Meeting (Cat. No.03CH37450).

[20]  Fabio Daolio,et al.  Empirical assessment of the effects of update synchronization in Particle Swarm Optimization , 2009 .

[21]  Byung-Il Koh,et al.  Parallel asynchronous particle swarm optimization , 2006, International journal for numerical methods in engineering.

[22]  Swarup Medasani,et al.  A Swarm-Based Volition/Attention Framework for Object Recognition , 2005, 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05) - Workshops.

[23]  Stefano Cagnoni,et al.  Hardware-oriented Adaptation of a Particle Swarm Optimization Algorithm for Object Detection , 2008, 2008 11th EUROMICRO Conference on Digital System Design Architectures, Methods and Tools.

[24]  B J Fregly,et al.  Parallel global optimization with the particle swarm algorithm , 2004, International journal for numerical methods in engineering.

[25]  Raymond Ros,et al.  Real-Parameter Black-Box Optimization Benchmarking 2009: Experimental Setup , 2009 .

[26]  Jeng-Shyang Pan,et al.  A Parallel Particle Swarm Optimization Algorithm with Communication Strategies , 2005, J. Inf. Sci. Eng..

[27]  Riccardo Poli,et al.  Particle Swarm Optimisation , 2011 .

[28]  Renato A. Krohling,et al.  Swarm's flight: Accelerating the particles using C-CUDA , 2009, 2009 IEEE Congress on Evolutionary Computation.

[29]  Ying Tan,et al.  GPU-based parallel particle swarm optimization , 2009, 2009 IEEE Congress on Evolutionary Computation.

[30]  Xiaoqin Zhang,et al.  Sequential particle swarm optimization for visual tracking , 2008, 2008 IEEE Conference on Computer Vision and Pattern Recognition.

[31]  David Johnson,et al.  Particle Swarm Optimization on a GPU , 2012, 2012 IEEE International Conference on Electro/Information Technology.

[32]  James Kennedy,et al.  Defining a Standard for Particle Swarm Optimization , 2007, 2007 IEEE Swarm Intelligence Symposium.

[33]  Anne Auger,et al.  Real-Parameter Black-Box Optimization Benchmarking 2009: Noiseless Functions Definitions , 2009 .