Parallel Implementation of MOPSO on GPU Using OpenCL and CUDA


GPUs have brought supercomputing-at-desk by offering hundreds of processing cores at a very cheap cost. This has motivated researchers to implement and test parallel solutions to compute-intensive problems on GPU. Most real-world optimization problems are NP-hard and therefore compute intensive. Meta-heuristics are frequently used to solve these optimization problems. Multi-Objective particle swarm optimization (MOPSO) is one of the Meta-heuristic that has attracted many researchers due to its accuracy and simplicity. In last couple of years, many parallel implementations of MOPSO have been proposed in literature. However none of the researchers have implemented and tested performance of MOPSO on GPU. In this paper, we describe our implementation of MOPSO on GPU using CUDA and OpenCL, two of the most popular GPU frameworks for writing parallel applications. The performance of both implementations has been compared with sequential implementation of MOPSO through simulations. Results show that performance can be improved by 90 percent using these parallel implementations. We then present a parallel archiving technique and implement MOPSO in GPU with the proposed archiving technique using CUDA. Simulation results show that the parallel archiving technique further improves the speedup.