Parallel Implementation of Particle Swarm Optimization Variants Using Graphics Processing Unit Platform

There are different variants of Particle Swarm Optimization (PSO) algorithm such as Adaptive Particle Swarm Optimization (APSO) and Particle Swarm Optimization with an Aging Leader and Challengers (ALC-PSO). These algorithms improve the performance of PSO in terms of finding the best solution and accelerating the convergence speed. However, these algorithms are computationally intensive. The goal of this paper is high performance implementations of Traditional PSO (TPSO), APSO and ALC-PSO using CUDA technology. We have implemented these three algorithms on both central processing unit (CPU) and graphics processing unit (GPU) in order to analyze and improve their performance and reduce their computational times. We have achieved speedups up to 14.5x, 31x, and 152x, for GPU-TPSO , GPU-ALCPSO , and GPU-APSO, respectively. In addition, different number of threads has been chosen in order to find an appropriate number of threads per block for both APSO and ALC-PSO algorithms. Our experimental results show that the best choice for number of threads per block depends on the number of existing variables and constants in each algorithm and the number of registers per multiprocessor.

[1]  Shinn-Ying Ho,et al.  OPSO: Orthogonal Particle Swarm Optimization and Its Application to Task Assignment Problems , 2008, IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans.

[2]  Naren Ramakrishnan,et al.  Parallel Mining of Neuronal Spike Streams on Graphics Processing Units , 2011, International Journal of Parallel Programming.

[3]  Kevin D. Seppi,et al.  Parallel PSO using MapReduce , 2007, 2007 IEEE Congress on Evolutionary Computation.

[4]  Hwa-Seok Lee,et al.  PC Cluster based Parallel PSO Algorithm for Optimal Power Flow , 2007, 2007 International Conference on Intelligent Systems Applications to Power Systems.

[5]  Ying Tan,et al.  Particle swarm optimization with triggered mutation and its implementation based on GPU , 2010, GECCO '10.

[6]  Jing J. Liang,et al.  Comprehensive learning particle swarm optimizer for global optimization of multimodal functions , 2006, IEEE Transactions on Evolutionary Computation.

[7]  Jean-Luc Gaudiot,et al.  Boosting CUDA Applications with CPU–GPU Hybrid Computing , 2013, International Journal of Parallel Programming.

[8]  Wei-Ping Lee,et al.  Dynamic and adjustable particle swarm optimization , 2007 .

[9]  Václav Snásel,et al.  Nature-Inspired Meta-Heuristics on Modern GPUs: State of the Art and Brief Survey of Selected Algorithms , 2013, International Journal of Parallel Programming.

[10]  Bo Liu,et al.  An Effective PSO-Based Memetic Algorithm for Flow Shop Scheduling , 2007, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics).

[11]  João Marcelo X. N. Teixeira,et al.  Understanding the Efficiency of kD-tree Ray-Traversal Techniques over a GPGPU Architecture , 2012, International Journal of Parallel Programming.

[12]  Asadollah Shahbahrami,et al.  High performance implementation of APSO algorithm using GPU platform , 2015, 2015 The International Symposium on Artificial Intelligence and Signal Processing (AISP).

[13]  Sadok Bouamama,et al.  GPU-PSO: Parallel Particle Swarm Optimization Approaches on Graphical Processing Unit for Constraint Reasoning: Case of Max-CSPs , 2015, KES.

[14]  Jaspreet Kaur,et al.  Parallel Implementation of PSO Algorithm Using GPGPU , 2016, 2016 Second International Conference on Computational Intelligence & Communication Technology (CICT).

[15]  Jun Zhang,et al.  Adaptive Particle Swarm Optimization , 2008, ANTS Conference.

[16]  Haicheng Wu,et al.  Relational Learning with GPUs: Accelerating Rule Coverage , 2015, International Journal of Parallel Programming.

[17]  Carmelo J. A. Bastos Filho,et al.  PSO Efficient Implementation on GPUs Using Low Latency Memory , 2015, IEEE Latin America Transactions.

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

[19]  José Neves,et al.  The fully informed particle swarm: simpler, maybe better , 2004, IEEE Transactions on Evolutionary Computation.

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

[21]  Asim Egemen Yilmaz,et al.  Particle Swarm Optimization with Parameter Dependency Walls and its sample application to the microstrip-like interconnect line design , 2012 .

[22]  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.

[23]  N. Nedjah,et al.  Parallel GPU-based implementation of high dimension Particle Swarm Optimizations , 2013, 2013 IEEE 4th Latin American Symposium on Circuits and Systems (LASCAS).

[24]  Ching Y. Suen,et al.  A Genetic Binary Particle Swarm Optimization Model , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[25]  Gabriela Ciuprina,et al.  Use of intelligent-particle swarm optimization in electromagnetics. IEEE Trans Mag , 2002 .

[26]  Gabriel Rodríguez,et al.  Locality-Aware Automatic Parallelization for GPGPU with OpenHMPP Directives , 2016, International Journal of Parallel Programming.

[27]  David R. Kaeli,et al.  Aggressive Value Prediction on a GPU , 2011, SBAC-PAD.

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

[29]  Ying Lin,et al.  Particle Swarm Optimization With an Aging Leader and Challengers , 2013, IEEE Transactions on Evolutionary Computation.

[30]  Xipeng Shen,et al.  An Infrastructure for Tackling Input-Sensitivity of GPU Program Optimizations , 2012, International Journal of Parallel Programming.

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

[32]  Ruppa K. Thulasiram,et al.  Collaborative multi-swarm PSO for task matching using graphics processing units , 2011, GECCO '11.

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

[34]  Russell C. Eberhart,et al.  A discrete binary version of the particle swarm algorithm , 1997, 1997 IEEE International Conference on Systems, Man, and Cybernetics. Computational Cybernetics and Simulation.

[35]  Singiresu S. Rao Engineering Optimization : Theory and Practice , 2010 .

[36]  Jirí Jaros,et al.  Solving the Multidimensional Knapsack Problem using a CUDA accelerated PSO , 2014, 2014 IEEE Congress on Evolutionary Computation (CEC).