A SIMD Interpreter for Genetic Programming on GPU Graphics Cards

Mackey-Glass chaotic time series prediction and nuclear protein classification show the feasibility of evaluating genetic programming populations directly on parallel consumer gaming graphics processing units. Using a Linux KDE computer equipped with an nVidia GeForce 8800 GTX graphics processing unit card the C++ SPMD interpretter evolves programs at Giga GP operations per second (895 million GPops). We use the RapidMind general processing on GPU (GPGPU) framework to evaluate an entire population of a quarter of a million individual programs on a non-trivial problem in 4 seconds. An efficient reverse polish notation (RPN) tree based GP is given.

[1]  S.E. Eklund,et al.  Time series forecasting using massively parallel genetic programming , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[2]  Riccardo Poli,et al.  On the Limiting Distribution of Program Sizes in Tree-Based Genetic Programming , 2007, EuroGP.

[3]  Wolfgang Banzhaf,et al.  Evolving Chess Playing Programs , 2002, GECCO.

[4]  W. B. Langdon,et al.  Genetic Programming and Data Structures , 1998, The Springer International Series in Engineering and Computer Science.

[5]  William B. Langdon,et al.  Java based Distributed Genetic Programming on the Internet , 1999, GECCO.

[6]  Jordan B. Pollack,et al.  Massively parallel genetic programming , 1996 .

[7]  William B. Langdon,et al.  Repeated patterns in genetic programming , 2008, Natural Computing.

[8]  Riccardo Poli,et al.  Smooth Uniform Crossover with Smooth Point Mutation in Genetic Programming: A Preliminary Study , 1999, EuroGP.

[9]  John D. Owens,et al.  Glift: Generic, efficient, random-access GPU data structures , 2006, TOGS.

[10]  William B. Langdon,et al.  Repeated Patterns in Tree Genetic Programming , 2005, EuroGP.

[11]  John R. Koza,et al.  Building a Parallel Computer System for $18, 000 that Performs a Half Peta-Flop per Day , 1999, GECCO.

[12]  Naga K. Govindaraju,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007 .

[13]  Darren M. Chitty,et al.  A data parallel approach to genetic programming using programmable graphics hardware , 2007, GECCO '07.

[14]  Marc Ebner,et al.  Evolution of Vertex and Pixel Shaders , 2005, EuroGP.

[15]  W. Langdon An Analysis of the MAX Problem in Genetic Programming , 1997 .

[16]  William B. Langdon,et al.  Genetic Programming in Data Mining for Drug Discovery , 2005 .

[17]  Tien-Tsin Wong,et al.  Evolutionary Computing on Consumer Graphics Hardware , 2007, IEEE Intelligent Systems.

[18]  Stan Openshaw,et al.  Some Geographical Applications of Genetic Programming on the Cray T3D Supercomputer , 1996, UK Parallel.

[19]  William B. Langdon,et al.  Repeated Sequences in Linear Genetic Programming Genomes , 2005, Complex Syst..

[20]  Günther Greiner,et al.  Stack Implementation on Programmable Graphics Hardware , 2004, VMV.

[21]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[22]  William B. Langdon,et al.  Global Distributed Evolution of L-Systems Fractals , 2004, EuroGP.

[23]  Michael D. McCool,et al.  Metaprogramming GPUs with Sh , 2004 .

[24]  Wolfgang Banzhaf,et al.  Fast Genetic Programming on GPUs , 2007, EuroGP.

[25]  John R. Koza,et al.  A Parallel Implementation of Genetic Programming that Achieves Super-Linear Performance , 1998, Inf. Sci..