A SIMD Interpreter for Genetic Programming on GPU Graphics Cards

  • W. B. Langdon
  • Wolfgang Banzhaf
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4971)


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.


Genetic Programming Graphic Hardware Single Instruction Multiple Data Linear Genetic Program Cartesian Genetic Programming 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Andre and Koza, 1996]
    Andre, Koza: A parallel implementation of genetic programming that achieves super-linear performance. In: Arabnia, H.R. (ed.) Proc. of Int. Conf. on Parallel and Distributed Processing Techniques and Apps. CSREA, pp. 1163–1174 (1996)Google Scholar
  2. [Bennett III et al., 1999]
    Bennett III, et al.: Building a parallel computer system for $18,000 that performs a half peta-flop per day. In: Banzhaf, et al. (eds.) GECCO 1999, pp. 1484–1490 (1999)Google Scholar
  3. [Chitty, 2007]
    Chitty: A data parallel approach to genetic programming using programmable graphics hardware. In: Thierens, D., et al. (eds.) GECCO 2007, pp. 1566–1573. ACM, New York (2007)CrossRefGoogle Scholar
  4. [Chong and Langdon, 1999]
    Chong, Langdon: Java based distributed genetic programming on the internet. In: Banzhaf, et al. (eds.) GECCO 1999, Full text in CSRP-99-7, p. 1229 (1999)Google Scholar
  5. [Ebner et al., 2005]
    Ebner, M., Albert, J., Reinhardt, M.: Evolution of Vertex and Pixel Shaders. In: Keijzer, M., Tettamanzi, A.G.B., Collet, P., van Hemert, J.I., Tomassini, M. (eds.) EuroGP 2005. LNCS, vol. 3447, pp. 261–270. Springer, Heidelberg (2005)Google Scholar
  6. [Eklund, 2003]
    Eklund: Time series forecasting using massively parallel genetic programming. In: Proc. of Parallel and Distributed Processing Int. Symposium, pp. 143–147 (2003)Google Scholar
  7. [Ernst et al., 2004]
    Ernst, et al.: Stack implementation on programmable graphics hardware. In: Girod, B., et al. (eds.) Proc. Vision, Modeling, and Visualization Conference, pp. 255–262 (2003)Google Scholar
  8. [Fernando and Kilgard, 2003]
    Fernando, Kilgard: The Cg Tutorial. Addison-Wesley, Reading (2003)Google Scholar
  9. [Fok et al., 2007]
    Fok, et al.: Evolutionary computing on consumer graphics hardware. IEEE Intelligent Systems 22(2), 69–78 (2007)CrossRefGoogle Scholar
  10. [Gross et al., 2002]
    Gross, et al.: Evolving chess playing programs. In: Langdon, W.B., et al. (eds.) GECCO 2002, pp. 740–747 (2002)Google Scholar
  11. [Harding and Banzhaf, 2007]
    Banzhaf, W., Harding, S.: Fast Genetic Programming on GPUs. In: Ebner, M., O’Neill, M., Ekárt, A., Vanneschi, L., Esparcia-Alcázar, A.I. (eds.) EuroGP 2007. LNCS, vol. 4445, pp. 90–101. Springer, Heidelberg (2007)Google Scholar
  12. [Juille and Pollack, 1996]
    Juille, Pollack: Massively parallel genetic programming. In: Angeline, P.J., Kinnear, J.K.E. (eds.) Advances in GP, vol. 2, pp. 339–358. MIT Press, Cambridge (1996)Google Scholar
  13. [Koza, 1992]
    Koza, J.R.: Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge (1992)zbMATHGoogle Scholar
  14. [Langdon and Banzhaf, 2005a]
    Banzhaf, W., Langdon, W.B.: Repeated Patterns in Tree Genetic Programming. In: Keijzer, M., Tettamanzi, A.G.B., Collet, P., van Hemert, J.I., Tomassini, M. (eds.) EuroGP 2005. LNCS, vol. 3447, pp. 190–202. Springer, Heidelberg (2005)Google Scholar
  15. [Langdon and Banzhaf, 2005b]
    Langdon, Banzhaf: Repeated sequences in linear genetic programming genomes. Complex Systems 15(4), 285–306 (2005)MathSciNetGoogle Scholar
  16. [Langdon and Banzhaf, -]
    Langdon, Banzhaf: Repeated patterns in genetic programming. Natural Computation (2005), doi:10.1007/s11047-007-9038-8Google Scholar
  17. [Langdon and Barrett, 2004]
    Langdon, Barrett: Genetic programming in data mining for drug discovery. In: Ghosh, A., Jain, L.C. (eds.) Evolutionary Computing in Data Mining, pp. 211–235 (2004)Google Scholar
  18. [Langdon, 1998]
    Langdon: Genetic Programming and Data Structures. Kluwer, Dordrecht (1998)zbMATHGoogle Scholar
  19. [Langdon, 2004]
    Langdon, W.B.: Global Distributed Evolution of L-Systems Fractals. In: Keijzer, M., O’Reilly, U.-M., Lucas, S.M., Costa, E., Soule, T. (eds.) EuroGP 2004. LNCS, vol. 3003, pp. 349–358. Springer, Heidelberg (2004)Google Scholar
  20. [Lefohn et al., 2006]
    Lefohn, et al.: Glift: Generic, efficient, random-access GPU data structures. ACM Transactions on Graphics 25(1), 60–99 (2006)CrossRefGoogle Scholar
  21. [McCool and Du Toit, 2004]
    McCool, Du Toit: Metaprogramming GPUs with Sh. AK Peters (2004)Google Scholar
  22. [Owens et al., 2007]
    Owens, et al.: A survey of general-purpose computation on graphics hardware. Computer Graphics Forum 26(1), 80–113 (2007)CrossRefGoogle Scholar
  23. [Page et al., 1999]
    Poli, R., Langdon, W.B., Page, J.: Smooth Uniform Crossover with Smooth Point Mutation in Genetic Programming: A Preliminary Study. In: Langdon, W.B., Fogarty, T.C., Nordin, P., Poli, R. (eds.) EuroGP 1999. LNCS, vol. 1598, Springer, Heidelberg (1999)Google Scholar
  24. [Poli et al., 2007]
    Poli, R., Langdon, W.B., Dignum, S.: On the Limiting Distribution of Program Sizes in Tree-Based Genetic Programming. In: Ebner, M., O’Neill, M., Ekárt, A., Vanneschi, L., Esparcia-Alcázar, A.I. (eds.) EuroGP 2007. LNCS, vol. 4445, pp. 193–204. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  25. [Turton et al., 1996]
    Turton, et al.: Some geographic applications of genetic programming on the Cray T3D supercomputer. In: Jesshope, C., Shafarenko, A. (eds.) UK Parallel 1996, Springer, Heidelberg (1996)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • W. B. Langdon
    • 1
  • Wolfgang Banzhaf
    • 2
  1. 1.Mathematical and Biological SciencesUniversity of EssexUK
  2. 2.Computer ScienceMemorial University of NewfoundlandCanada

Personalised recommendations