Evolutionary Computing on Consumer-Level Graphics Hardware

Ka-Ling Fok , Tien-Tsin Wong , and Man-Leung Wong
IEEE Intelligent Systems, Vol. 22, No. 2, March/April 2007, pp. 69-78.
(Submitted 2004; revised April 2005; accepted July 2005)


Evolutionary Algorithms (EAs) are effective and robust methods for solving many practical problems such as feature selection, electrical circuits synthesis, and data mining. Genetic algorithm is a well-known example of evolutionary algorithms. However, they may execute for a long time for some difficult problems, because several fitness evaluations must be performed. A promising approach to overcome this limitation is to parallelize these algorithms. In this paper, we propose to implement a parallel EA on consumer-level graphics cards. We perform experiments to compare our parallel EA with an ordinary EA and demonstrate that the former is much more effective than the latter. Since consumer-level graphics cards are available in ubiquitous personal computers and these computers are easy to use and manage, more people will be able to use our parallel algorithm to solve their problems encountered in real-world applications.

Download Paper

Demo and Source Code

    Click Here. Check this page to see why the current generation of GPU cannot generate high-quality random numbers which are critical to evolutionary computing.

Related Publications

  1. "Parallel Evolutionary Algorithms on Graphics Processing Unit",
    M. L. Wong, T. T. Wong and K. L. Fok,
    in Proceedings of IEEE Congress on Evolutionary Computation 2005 (CEC 2005), Vol. 3, Edinburgh, UK, September 2005, pp. 2286-2293.