Abstract
In this paper, we present a parallel implementation of the particle swarm optimization (PSO) on graphical processing units (GPU) using CUDA. By fully utilizing the processing power of graphic processors, our implementation (CUDA-PSO) provides a speedup of 167× compared to a sequential implementation on CPU. This speedup is significantly superior to what has been reported in recent papers and is achieved by four optimizations we made to better adapt the parallel algorithm to the specific architecture of the NVIDIA GPU. However, because today's personal computers are usually equipped with a multicore CPU, it may be unfair to compare our CUDA implementation to a sequential one. For this reason, we implemented a parallel PSO for multicore CPUs using MPI (MPI-PSO) and compared its performance against our CUDA-PSO. The execution time of our CUDA-PSO remains 15.8× faster than our MPI-PSO which ran on a high-end 12-core workstation. Moreover, we show with statistical significance that the results obtained using our CUDA-PSO are of equal quality as the results obtained by the sequential PSO or the MPI-PSO. Finally, we use our parallel PSO for real-time harmonic minimization of multilevel power inverters with 20 DC sources while considering the first 100 harmonics and show that our CUDA-PSO is 294× faster than the sequential PSO and 32.5× faster than our parallel MPI-PSO.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
More From: International Journal of Computational Intelligence and Applications
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.