Parallel Particle Swarm Optimization Algorithm Based on Graphic Processing Units

A novel parallel approach to implement particle swarm optimization(PSO) algorithm on graphic processing units(GPU) in a personal computer is proposed in this chapter. By using the general-purpose computing ability of GPU and under the software platform of compute unified device architecture(CUDA) which is developed by NVIDIA, the PSO algorithm can be executed in parallel on the GPU. The process of fitness evaluation, as well as the updating of the velocity and the position of all the particles in the swarm are parallelized and described in details in the context of this chapter. Experiments are conducted by running the PSO both on the GPU and the CPU, respectively, to optimize several benchmark test functions. The running time of the PSO based on GPU(GPU-PSO, for short) is greatly shortened compared to that of the PSO based on CPU(CPU-PSO, for short). A 40× speedup can be obtained by our implemented GPU-PSO on a display card of NVIDIA Geforce 9800GT, with the same optimizing performance. Compared to the CPU-PSO, the GPU-PSO has special speed advantages on large-scale population and high-dimensional problems which are often happened and widely used in a lot of real-world optimization applications.

[1]  Andries Petrus Engelbrecht,et al.  A Cooperative approach to particle swarm optimization , 2004, IEEE Transactions on Evolutionary Computation.

[2]  Ruigang Yang,et al.  Fast Image Segmentation and Smoothing Using Commodity Graphics Hardware , 2002, J. Graphics, GPU, & Game Tools.

[3]  Russell C. Eberhart,et al.  Parameter Selection in Particle Swarm Optimization , 1998, Evolutionary Programming.

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

[5]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, SIGGRAPH 2004.

[6]  Li Jian-ming A parallel particle swarm optimization algorithm based on fine-grained model with GPU-accelerating , 2006 .

[7]  William B. Langdon,et al.  A fast high quality pseudo random number generator for graphics processing units , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

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

[9]  A. E. Eiben,et al.  Evolutionary Programming VII , 1998, Lecture Notes in Computer Science.

[10]  Maurice Clerc,et al.  The particle swarm - explosion, stability, and convergence in a multidimensional complex space , 2002, IEEE Trans. Evol. Comput..

[11]  Michael R. Macedonia,et al.  The GPU Enters Computing's Mainstream , 2003, Computer.

[12]  Y. Tan,et al.  Clonal particle swarm optimization and its applications , 2007, 2007 IEEE Congress on Evolutionary Computation.

[13]  Riccardo Poli,et al.  Particle swarm optimization , 1995, Swarm Intelligence.

[14]  Dinesh Manocha,et al.  Fast computation of generalized Voronoi diagrams using graphics hardware , 1999, SIGGRAPH.

[15]  Ying Tan,et al.  Magnifier Particle Swarm Optimization , 2009, Nature-Inspired Algorithms for Optimisation.

[16]  Zhongwen Luo,et al.  Artificial neural network computation on graphic process unit , 2005, Proceedings. 2005 IEEE International Joint Conference on Neural Networks, 2005..

[17]  Ying Tan,et al.  Hybrid particle swarm optimizer with advance and retreat strategy and clonal mechanism for global numerical optimization , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).