Parallelization of Binary and Real-Coded Genetic Algorithms on CUDA
Department of Mathematics and Scientific Computing, Indian Institute of Technology Kanpur, Kanpur, India
IEEE Congress on Evolutionary Computation (CEC) 2010
@article{aroraparallelization,
title={Parallelization of Binary and Real-Coded Genetic Algorithms on CUDA},
author={Arora, R. and Tulshyan, R. and Deb, K.},
booktitle={IEEE Congress on Evolutionary Computation (CEC) 2010},
year={2010}
}
It is a well-known fact that genetic algorithms (GAs) are ideal for parallel computers due to their ability to parallely evaluate population members. Most past parallel GA studies have exploited this aspect. Besides resorting to completely different algorithms, such as island models etc., a GA involves a number of other operations which, if parallelized properly, may also end up with a better parallelization to an existing serial GA implementation. In this paper, we parallelize binary and real-coded genetic algorithms for the CUDA platform using its C API extensions. Although, objective and constraint violations are embarassingly parallel, other algorithmic and code optimizations have been tested and suggested. The bottlenecks in the GA algorithms for a parallel implementation are identified and modified suitably. The results are compared with the serial algorithm on accuracy and clock time for varying problems by studying the effect of a number of parameters: (i) differing population sizes, (ii) differing number of threads, (iii) differing problem sizes, and (iv) problems having differing complexities, such as evaluation time and interactions among variables. The results indicate that proposed methods are more than 40 times faster than their serial counterparts.
May 27, 2011 by hgpu