Implementation of Particle Swarm Optimization Method Using CUDA

CUDA를 이용한 Particle Swarm Optimization 구현

  • Published : 2009.05.01


In this paper, particle swarm optimization(PSO) is newly implemented by CUDA(Compute Unified Device Architecture) and is applied to function optimization with several benchmark functions. CUDA is not CPU but GPU(Graphic Processing Unit) that resolves complex computing problems using parallel processing capacities. In addition, CUDA helps one to develop GPU softwares conveniently. Compared with the optimization result of PSO executed on a general CPU, CUDA saves about 38% of PSO running time as average, which implies that CUDA is a promising frame for real-time optimization and control.


PSO;Heuristics;Global Optimization;GPU;Parallel Processing;CUDA


  1. J. Kennedy and R. Eberhart, 'Particle swarm optimization,' IEEE International Conference on Neural Network, Vol. 1, IV, Perth, Australia, Nov./Dec. 1995
  2. 이중상, 이상욱, 장석철, 석상문, 안병하, 'Particle swarm optimization을 이용한 블랙 슐츠 옵션가격 결정모형', 한국경영과학회 춘계학술대회, pp.745-747, April 2005
  3. 유명련, 'Particle swarm optimization 탐색과정의 가시화를 위한 툴 설계', 멀티미디어학회논문지, 제6권, 제2호, pp.332-339, May 2003
  4. J. -W. KIM and S. W. KIM, 'A fast computational optimization method: univariate dynamic encoding algorithm for searches (uDEAS),' IEICE Trans. Fundamentals of Electronics, Vol. E90-A, pp.1679-1689, Aug. 2007
  5. Y. Shi and R Eberhart, 'Parameter selection in particle swarm optimization,' Annual Conference on Evolutionary Programming, San Diego, USA, 1998
  6. 염용진, 조용국 'GPU용 연산 라이브러리 CUDA를 이용한 블록암호 고속 구현', 정보보호학회논문지, 제18권, 제3호, pp.23-32, June 2008
  7. A. Torn and A. Zilinskas, Global Optimization, Springer-Verlag, Berlin, 1989
  8. NVDIA CUDA Programming Guide V2.0,, accessed on 13 April 2009
  9. L. Chuan and F. Quanyuan, 'The standard particle swarm optimization algorithm convergence analysis and parameter selection,' Natural Computation, Vol. 3, pp.823-826, Aug. 2007
  10. 장홍훈, 정기철, 'CUDA와 OpenMP를 이용한 신경망 구현', 한국정보과학회 종합학술대회, 제35권, 제1호, pp.289-290, June 2008