Papers
Topics
Authors
Recent
Search
2000 character limit reached

cuPSO: GPU Parallelization for Particle Swarm Optimization Algorithms

Published 3 May 2022 in cs.DC and cs.PF | (2205.01313v2)

Abstract: Particle Swarm Optimization (PSO) is a stochastic technique for solving the optimization problem. Attempts have been made to shorten the computation times of PSO based algorithms with massive threads on GPUs (graphic processing units), where thread groups are formed to calculate the information of particles and the computed outputs for the particles are aggregated and analyzed to find the best solution. In particular, the reduction-based method is considered as a common approach to handle the data aggregation and analysis for the calculated particle information. Nevertheless, based on our analysis, the reduction-based method would suffer from excessive memory accesses and thread synchronization overheads. In this paper, we propose a novel algorithm to alleviate the above overheads with the atomic functions. The threads within a thread group update the calculated results atomically to the intra-group data queue conditionally, which prevents the frequent accesses to the memory as done by the parallel reduction operations. Furthermore, we develop an enhanced version of the algorithm to alleviate the synchronization barrier among the thread groups, which is achieved by allowing the thread groups to run asynchronously and updating to the global, lock-protected variables occasionally if necessary. Our experimental results show that our proposed algorithm running on the Nvidia GPU is about 200 times faster than the serial version executed by the Intel Xeon CPU. Moreover, the novel algorithm outperforms the state-of-the-art method (the parallel reduction approach) by a factor of 2.2.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (13)
  1. 2001. Appendix A - Statistics for Swarmers. In Swarm Intelligence, James Kennedy, Russell C. Eberhart, and Yuhui Shi (Eds.). Morgan Kaufmann, San Francisco, 429–449. https://doi.org/10.1016/B978-155860595-4/50012-7
  2. YANG M in CHEN Feng, TIAN Yu-bo. 2014. Research and Design of Parallel Particle Swarm Optimization Algorithm Based on CUDA. (2014). http://www.jsjkx.com/CN/article/openArticlePDF.jsp?id=1649
  3. NVIDIA Corporation. 2010. NVIDIA. CUDA CURAND Library. (2010). https://www.cs.cmu.edu/afs/cs/academic/class/15668-s11/www/cuda-doc/CURAND_Library.pdf
  4. Mark Harris. [n. d.]. Optimizing Parallel Reduction in CUDA. ([n. d.]). https://developer.download.nvidia.com/assets/cuda/files/reduction.pdf
  5. J. Kennedy and R. Eberhart. 1995. Particle swarm optimization. In Proceedings of ICNN’95 - International Conference on Neural Networks, Vol. 4. 1942–1948 vol.4. https://doi.org/10.1109/ICNN.1995.488968
  6. Thiemo Krink and Morten Løvbjerg. 2002. The LifeCycle Model: Combining Particle Swarm Optimisation, Genetic Algorithms and HillClimbers. In Parallel Problem Solving from Nature — PPSN VII, Juan Julián Merelo Guervós, Panagiotis Adamidis, Hans-Georg Beyer, Hans-Paul Schwefel, and José-Luis Fernández-Villacañas (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 621–630.
  7. Taher Niknam and Babak Amiri. 2010. An efficient hybrid approach based on PSO, ACO and k-means for cluster analysis. Applied Soft Computing 10, 1 (2010), 183–197. https://doi.org/10.1016/j.asoc.2009.07.001
  8. Riccardo Poli. 2008. Analysis of the Publications on the Applications of Particle Swarm Optimisation. Journal of Artificial Evolution and Applications 2008 (02 2008), 10. https://doi.org/10.1155/2008/685175
  9. Ganesh Venayagamoorthy and V.G. Gudise. 2004. Swarm intelligence for digital circuits implementation on field programmable gate arrays platforms. 83– 86. https://doi.org/10.1109/EH.2004.1310813
  10. Lucas de P. Veronese and Renato A. Krohling. 2009. Swarm’s flight: Accelerating the particles using C-CUDA. In 2009 IEEE Congress on Evolutionary Computation. 3264–3270. https://doi.org/10.1109/CEC.2009.4983358
  11. Parallel multi-population Particle Swarm Optimization Algorithm for the Uncapacitated Facility Location problem using OpenMP. In 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence). 1214–1218. https://doi.org/10.1109/CEC.2008.4630951
  12. Simultaneous perturbation particle swarm optimization and FPGA realization. In Proceedings of SICE Annual Conference 2010. 1462–1465.
  13. Wen-Jun Zhang and Xiao-Feng Xie. 2003. DEPSO: hybrid particle swarm with differential evolution operator. In SMC’03 Conference Proceedings. 2003 IEEE International Conference on Systems, Man and Cybernetics. Conference Theme - System Security and Assurance (Cat. No.03CH37483), Vol. 4. 3816–3821 vol.4. https://doi.org/10.1109/ICSMC.2003.1244483
Citations (5)

Summary

Paper to Video (Beta)

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Collections

Sign up for free to add this paper to one or more collections.