Particle Swarm Optimization with CUDA

  • somayeh taherian dehkordi Department of Computer Engineering, Kerman Branch, Islamic Azad University, Kerman, Iran


In recent years, particles’ optimization algorithm has highly been used as an effective method in solving complex and difficult optimization problems. Since particles algorithm is based on recurring population and it can be very inefficient in terms of the time required for implementation and speed to solve optimization problems with large-scale including ones which need a very large population to search in problem solution space. The main reason for this issue is that this algorithm optimization process requires a large number of function evaluations which are usually run serially. This article aims to implement particles’ optimization algorithm in parallel on graphics processing unit and to improve running efficiency and speed. The implementation results on the graphics processor show that the performance of this algorithm has greatly increased as to its implementation in parallel and with change in kernel implementation. In fact, in this study, implementation and velocity evaluation of particles algorithm implementation in parallel and based on CUDA framework has been investigated and compared. Then, there have been efforts to improve acceleration in this method in part and a new method will be proposed in CUDA framework to improve acceleration in particles algorithm and graphic processor setting.


Download data is not yet available.


[1] Zang, H., Zhang, S., & Hapeshi, K. (2010). A review of nature-inspired algorithms. Journal of Bionic Engineering, 7, S232-S237.
[2] Tsai, H. C., & Lin, Y. H. (2011). Modification of the fish swarm algorithm with particle swarm optimization formulation and communication behavior.Applied Soft Computing, 11(8), 5367-5374.
[3] Wang, G. G., Gandomi, A. H., & Alavi, A. H. (2014). Stud krill herd algorithm. Neurocomputing, 128, 363-370.
[4] James, J. Q., & Li, V. O. (2015). A social spider algorithm for global optimization. Applied Soft Computing, 30, 614-627.
[5] Emary, E., Yamany, W., Hassanien, A. E., & Snasel, V. (2015). Multi-Objective Gray-Wolf Optimization for Attribute Reduction. Procedia Computer Science, 65, 623-632.
[6] Li, X., Zhang, J., & Yin, M. (2014). Animal migration optimization: an optimization algorithm inspired by animal migration behavior. Neural Computing and Applications, 24(7-8), 1867-1877.
[7] Abdullah, A., Deris, S., Mohamad, M. S., & Hashim, S. Z. M. (2012). A new hybrid firefly algorithm for complex and nonlinear problem. In Distributed Computing and Artificial Intelligence (pp. 673-680). Springer Berlin Heidelberg.
[8] Łukasik, S., & Kowalski, P. A. (2015). Study of flower pollination algorithm for continuous optimization. In Intelligent Systems' 2014 (pp. 451-459). Springer International Publishing.
[9] Ahmadi, M., & Mojallali, H. (2012). Chaotic invasive weed optimization algorithm with application to parameter estimation of chaotic systems.Chaos, Solitons & Fractals, 45(9), 1108-1120.
[10] Wang, G. G., Hossein Gandomi, A., Yang, X. S., & Hossein Alavi, A. (2014). A novel improved accelerated particle swarm optimization algorithm for global numerical optimization. Engineering Computations, 31(7), 1198-1220.
[11] Harish, P., & Narayanan, P. J. (2007). Accelerating large graph algorithms on the GPU using CUDA. In High performance computing–HiPC 2007 (pp. 197-208). Springer Berlin Heidelberg.
[12] Chunming; D. Simon; Aug.2005, “A new particle swarm optimization technique”, 18th International Confereces System Engineering,2 .ICSEng 2005 ,pp.164-169.
[13] Alam, S., Dobbie, G., Koh, Y. S., Riddle, P., & Rehman, S. U. (2014). Research on particle swarm optimization based clustering: a systematic review of literature and techniques. Swarm and Evolutionary Computation,17, 1-13.
[14] Cheng, J., Grossman, M., & McKercher, T. (2014). Professional Cuda C Programming. John Wiley & Sons.
[15] Nvidia, C. U. D. A. (2013). CUDA C Programming Guide 5.5. NVIDIA Corporation, Jul.
[16] Verdonck, S., Meers, K., & Tuerlinckx, F. (2015). Efficient simulation of diffusion-based choice RT models on CPU and GPU. Behavior research methods, 1-15.
[17] Manconi, A., Manca, E., Moscatelli, M., Gnocchi, M., Orro, A., Armano, G., & Milanesi, L. (2015). G-CNV: a GPU-based tool for preparing data to detect CNVs with read-depth methods. Frontiers in bioengineering and biotechnology, 3.
[18] Kasim, H., March, V., Zhang, R., & See, S. (2008). Survey on parallel programming model. In Network and Parallel Computing (pp. 266-275). Springer Berlin Heidelberg.
[19] Mejía-Roa, E., Tabas-Madrid, D., Setoain, J., García, C., Tirado, F., & Pascual-Montano, A. (2015). NMF-mGPU: non-negative matrix factorization on multi-GP
How to Cite
TAHERIAN DEHKORDI, somayeh. Particle Swarm Optimization with CUDA. International Journal of Research and Engineering, [S.l.], v. 4, n. 6, p. 177-183, aug. 2017. ISSN 2348-7860. Available at: <>. Date accessed: 28 mar. 2020.