Performance investigations of genetic algorithms on graphics cards

Abstract Genetic algorithms are one of the most adaptable optimization algorithms. Due to their inherent parallelism they seem well suited for the execution on massively parallel hardware such as graphics processing units. In this paper we put this claim to the test by performing comprehensive experiments. We try to find out how well graphics processing units are suited for the task and what parts of genetic algorithms should be executed on them. We focus especially on the new Fermi generation of Nvidia graphics chips. While it is imperative the fitness function be effectively parallelizable on the GPU, because it is the most computational expensive task of the algorithm, results indicate that if this is the case, speedups of several orders of magnitude are possible compared to conventional multi-core CPUs. Our findings also suggest that, starting with the Fermi architecture, all parts of a genetic algorithm should be carried out on the graphics card instead of only part of it.

[1]  Zhongwen Luo,et al.  Cellular Genetic Algorithms and Local Search for 3-SAT problem on Graphic Hardware , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[2]  Enrique Alba,et al.  Parallelism and evolutionary algorithms , 2002, IEEE Trans. Evol. Comput..

[3]  Asim Munawar,et al.  Advanced genetic algorithm to solve MINLP problems over GPU , 2011, 2011 IEEE Congress of Evolutionary Computation (CEC).

[4]  John H. Holland,et al.  Distributed genetic algorithms for function optimization , 1989 .

[5]  Jirí Jaros,et al.  Parallel Genetic Algorithm on the CUDA Architecture , 2010, EvoApplications.

[6]  Paul Bryant Grosso,et al.  Computer Simulations of Genetic Adaptation: Parallel Subcomponent Interaction in a Multilocus Model , 1985 .

[7]  Bernard Angéniol,et al.  Self-organizing feature maps and the travelling salesman problem , 1988, Neural Networks.

[8]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[9]  Rohit Chandra,et al.  Parallel programming in openMP , 2000 .

[10]  Nicolas Lachiche,et al.  Coarse grain parallelization of evolutionary algorithms on GPGPU cards with EASEA , 2009, GECCO.

[11]  G. Croes A Method for Solving Traveling-Salesman Problems , 1958 .

[12]  Enrique Alba,et al.  A survey of parallel distributed genetic algorithms , 1999 .

[13]  Jason Wittenberg,et al.  Clarify: Software for Interpreting and Presenting Statistical Results , 2003 .

[14]  Shigeyoshi Tsutsui,et al.  Solving quadratic assignment problems by genetic algorithms with GPU computation: a case study , 2009, GECCO '09.

[15]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[16]  Theodore C. Belding,et al.  The Distributed Genetic Algorithm Revisited , 1995, ICGA.

[17]  M. E. Muller,et al.  A Note on the Generation of Random Normal Deviates , 1958 .

[18]  Guohua Zhou,et al.  A parallel Ant Colony Optimization algorithm with GPU-acceleration based on All-In-Roulette selection , 2010, Third International Workshop on Advanced Computational Intelligence.

[19]  Tien-Tsin Wong,et al.  Parallel Evolutionary Algorithms on Consumer-Level Graphics Processing Unit , 2006, Parallel Evolutionary Computations.

[20]  El-Ghazali Talbi,et al.  ParadisEO: a framework for parallel and distributed biologically inspired heuristics , 2003, Proceedings International Parallel and Distributed Processing Symposium.