GPU based parallel cooperative Particle Swarm Optimization using C-CUDA: A case study

The applications requiring massive computations may get benefit from the Graphics Processing Units (GPUs) with Compute Unified Device Architecture (CUDA) by reducing the execution time. Since the introduction of CUDA, applications from different areas have been benefited. Evolutionary algorithms are one such potential area where CUDA implementation proves to be beneficial not only in terms of the speedups obtained but also the improvement in convergence time. In this paper we present a detailed study of parallel implementation of one of the existing variants of Particle Swarm Optimization which is Cooperative Particle Swarm Optimization (CPSO). We also present a comparative study on CPSO implemented in C and C-CUDA. The algorithm was tested on a set of standard benchmark optimization functions. In this process, some interesting results related to the speedup and improvements in the time in convergence were obtained. The differences in randomizing procedures used in CUDA seem to contribute towards the diversity in population leading to better solution in contrast with the serial implementation. It also provides motivation for further research on neural network architecture and weight optimization using CUDA implementation. The results obtained in this paper therefore re-emphasize the utility of CUDA based implementation for complex and computationally intensive applications.

[1]  Z. Ibrahim,et al.  A Novel Multi-state Particle Swarm Optimization for Discrete Combinatorial Optimization Problems , 2012, 2012 Fourth International Conference on Computational Intelligence, Modelling and Simulation.

[2]  Zheping Yan,et al.  A novel two-subpopulation particle swarm optimization , 2012, WCICA 2012.

[3]  Yue Shi,et al.  A modified particle swarm optimizer , 1998, 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No.98TH8360).

[4]  Ruppa K. Thulasiram,et al.  A parallel Particle swarm optimization algorithm for option pricing , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW).

[5]  Wen-Ying Zhang,et al.  Application of neural network based on particle swarm algorithm for the results of the students , 2010, 2010 8th World Congress on Intelligent Control and Automation.

[6]  Wang Xuan,et al.  A Hybrid Particle Swarm Optimization Neural Network Approach for Short Term Load Forecasting , 2008, 2008 4th International Conference on Wireless Communications, Networking and Mobile Computing.

[7]  Jin-Ho Kim,et al.  A Hybrid Particle Swarm Optimization Employing Crossover Operation for Economic Dispatch Problems with Valve-point Effects , 2007, 2007 International Conference on Intelligent Systems Applications to Power Systems.

[8]  Ching-Chih Tsai,et al.  Parallel Elite Genetic Algorithm and Its Application to Global Path Planning for Autonomous Robot Navigation , 2011, IEEE Transactions on Industrial Electronics.

[9]  Zhenyu Zhang,et al.  A CUDA-Based Multi-Channel Particle Swarm Algorithm , 2011, 2011 International Conference on Control, Automation and Systems Engineering (CASE).

[10]  Ponnuthurai Nagaratnam Suganthan,et al.  Benchmark Functions for the CEC'2013 Special Session and Competition on Large-Scale Global Optimization , 2008 .

[11]  Andries Petrus Engelbrecht,et al.  Cooperative learning in neural networks using particle swarm optimizers , 2000, South Afr. Comput. J..

[12]  Debanjan Datta,et al.  CUDA based Particle Swarm Optimization for geophysical inversion , 2012, 2012 1st International Conference on Recent Advances in Information Technology (RAIT).

[13]  Wu Bin,et al.  Particle Swarm Optimization method for Vehicle Routing Problem , 2004, Fifth World Congress on Intelligent Control and Automation (IEEE Cat. No.04EX788).

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

[15]  Xiaodong Li,et al.  Benchmark Functions for the CEC'2010 Special Session and Competition on Large-Scale , 2009 .

[16]  Kusum Deep,et al.  Modified parallel particle swarm optimization for global optimization using Message Passing Interface , 2010, 2010 IEEE Fifth International Conference on Bio-Inspired Computing: Theories and Applications (BIC-TA).

[17]  Russell C. Eberhart,et al.  A new optimizer using particle swarm theory , 1995, MHS'95. Proceedings of the Sixth International Symposium on Micro Machine and Human Science.

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

[19]  Renato A. Krohling,et al.  Differential evolution algorithm on the GPU with C-CUDA , 2010, IEEE Congress on Evolutionary Computation.

[20]  Chia-Feng Juang,et al.  Speedup of Implementing Fuzzy Neural Networks With High-Dimensional Inputs Through Parallel Processing on Graphic Processing Units , 2011, IEEE Transactions on Fuzzy Systems.

[21]  Tao Wang,et al.  A Hybrid Particle Swarm Optimization Improved by Mutative Scale Chaos Algorithm , 2012, 2012 Fourth International Conference on Computational and Information Sciences.

[22]  Tad Hogg,et al.  Cooperative Problem solving , 1992, Computation: The Micro and the Macro View.

[23]  Xingsheng Gu,et al.  A dynamic inertia weight particle swarm optimization algorithm , 2008 .

[24]  Nicholas A. Hamilton,et al.  Fast Parallel Markov Clustering in Bioinformatics Using Massively Parallel Computing on GPU with CUDA and ELLPACK-R Sparse Format , 2012, IEEE/ACM Transactions on Computational Biology and Bioinformatics.

[25]  Xiaojuan Zhao A Hybrid Variants Particle Swarm Optimization Algorithm , 2010, 2010 International Conference on Machine Vision and Human-machine Interface.

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

[27]  Liheng Jian,et al.  A CUDA-based parallel implementation of K-nearest neighbor algorithm , 2009, 2009 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery.

[28]  Li Jian Solving Capacitated Vehicle Routing Problems via Genetic Particle Swarm Optimization , 2009, 2009 Third International Symposium on Intelligent Information Technology Application.

[29]  Russell C. Eberhart,et al.  Multiobjective optimization using dynamic neighborhood particle swarm optimization , 2002, Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600).

[30]  Kai Wang,et al.  GPU based ordinal optimization for traffic signal coordination , 2012, Proceedings of 2012 IEEE International Conference on Service Operations and Logistics, and Informatics.

[31]  Deng Chao,et al.  A novel two-subpopulation particle swarm optimization , 2012, Proceedings of the 10th World Congress on Intelligent Control and Automation.

[32]  R. Eberhart,et al.  Fuzzy adaptive particle swarm optimization , 2001, Proceedings of the 2001 Congress on Evolutionary Computation (IEEE Cat. No.01TH8546).

[33]  Xinghua Wu,et al.  A density adjustment based particle swarm optimization learning algorithm for neural network design , 2011, 2011 International Conference on Electrical and Control Engineering.