Skip to main content

Fast Genetic Programming on GPUs

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4445))

Abstract

As is typical in evolutionary algorithms, fitness evaluation in GP takes the majority of the computational effort. In this paper we demonstrate the use of the Graphics Processing Unit (GPU) to accelerate the evaluation of individuals. We show that for both binary and floating point based data types, it is possible to get speed increases of several hundred times over a typical CPU implementation. This allows for evaluation of many thousands of fitness cases, and hence should enable more ambitious solutions to be evolved using GP.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Lasarczyk, C., Dittrich, P., Banzhaf, W.: Dynamic subset selection based on a fitness case topology. Evolutionary Computation 12, 223–242 (2004)

    Article  Google Scholar 

  2. Gathercole, C., Ross, P.: Dynamic training subset selection for supervised learning in genetic programming. Parallel Problem Solving from Nature III 866, 312–321 (1994)

    Google Scholar 

  3. Banzhaf, W., Nordin, P., Keller, R., Francone, F.: Genetic Programming - An Introduction. Morgan Kaufmann, San Francisco (1998)

    MATH  Google Scholar 

  4. Nordin, P., Banzhaf, W., Francone, F.: Efficient Evolution of Machine Code for CISC Architectures using Blocks and Homologous Crossover. In: Spector, L., Langdon, W., O’Reilly, U.M., Angeline, P. (eds.) Advances in Genetic Programming III, pp. 275–299. MIT Press, Cambridge (1999)

    Google Scholar 

  5. Brameier, M., Banzhaf, W.: Linear Genetic Programming. Springer, New York (2006)

    Google Scholar 

  6. Lau, W.S., et al.: Multi-logic-unit processor: A combinational logic circuit evaluation engine for genetic parallel programming. In: Keijzer, M., et al. (eds.) EuroGP 2005. LNCS, vol. 3447, pp. 167–177. Springer, Heidelberg (2005)

    Google Scholar 

  7. Thompson, C., Hahn, S., Oskin, M.: Using Modern Graphics Architectures for General-Purpose Computing: A Framework and Analysis. In: Proceedings of the 35th International Symposium on Microarchitecture, Istanbul, pp. 306–317. IEEE Computer Society Press, Washington (2002)

    Google Scholar 

  8. Owens, J., Luebke, D., Govindaraju, N., Harris, M., Kruger, J., Lefohn, A., Purcell, T.: A survey of general-purpose computation on graphics hardware. Eurographics 2005, State of the Art Reports, pp. 21–51 (2005)

    Google Scholar 

  9. Wang, J.T.T., Wong, P.A.H., Leung, C.S.: Discrete wavelet transform on gpu. In: Proceedings of ACM Workshop on General Purpose Computing on Graphics Processors, C-41 (2004)

    Google Scholar 

  10. Galoppo, N., et al.: Lu-gpu: Efficient algorithms for solving dense linear systems on graphics hardware. In: Proceedings of the ACM/IEEE SC 2005 Conference, Supercomputing 2005, p. 3. ACM, New York (2005)

    Chapter  Google Scholar 

  11. Hagen, T.R., Hjelmervik, J.M., Lie, K.A., Natvig, J.R., Henriksen, M.O.: Visual simulation of shallow-water waves. Simulation Modelling Practice and Theory 13, 716–726 (2005)

    Article  Google Scholar 

  12. Wong, M.L., Wong, T.T., Fok, K.L.: Parallel evolutionary algorithms on graphics processing unit. In: Proceedings of IEEE Congress on Evolutionary Computation 2005, vol. 3. CEC 2005, pp. 2286–2293. IEEE Press, Los Alamitos (2005)

    Chapter  Google Scholar 

  13. Fok, K.L., Wong, T.T., Wong, M.L.: Evolutionary computing on consumer-level graphics hardware. IEEE Intelligent Systems (to appear, 2005)

    Google Scholar 

  14. Yu, Q., Chen, C., Pan, Z.: Parallel Genetic Algorithms on Programmable Graphics Hardware. In: Wang, L., Chen, K., S. Ong, Y. (eds.) ICNC 2005. LNCS, vol. 3612, pp. 1051–1059. Springer, Heidelberg (2005)

    Google Scholar 

  15. Ebner, M., Reinhardt, M., Albert, J.: 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 

  16. Wikipedia: Flops — wikipedia, the free encyclopedia (2006), http://en.wikipedia.org/w/index.php?title=FLOPS&oldid=84987291 (Online accessed 1-November-2006)

  17. RapidMind Inc.: Libsh. http://libsh.org/

  18. LibSh Wiki: Libsh sample code. http://www.libsh.org/wiki/index.php/Sample_Code

  19. Stanford University Graphics Lab: Brook. http://graphics.stanford.edu/projects/brookgpu/

  20. Lejdfors, C., Ohlsson, L.: Implementing an embedded gpu language by combining translation and generation. In: SAC ’06: Proceedings of the ACM symposium on Applied computing, pp. 1610–1614. ACM Press, New York (2006)

    Chapter  Google Scholar 

  21. Tarditi, D., Puri, S., Oglesby, J.: Msr-tr-2005-184 accelerator: Using data parallelism to program gpus for general-purpose uses. Technical report, Microsoft Research (2006)

    Google Scholar 

  22. Miller, J.F., Thomson, P.: Cartesian genetic programming. In: Poli, R., Banzhaf, W., Langdon, W.B., Miller, J., Nordin, P., Fogarty, T.C. (eds.) EuroGP 2000. LNCS, vol. 1802, pp. 121–132. Springer, Heidelberg (2000)

    Google Scholar 

  23. Koza, J.: Genetic Programming: On the Programming of Computers by Natural Selection. MIT Press, Cambridge (1992)

    MATH  Google Scholar 

  24. Langdon, W.B., Banzhaf, W.: Repeated sequences in linear genetic programming genomes. Complex Systems 15, 285–306 (2005)

    MathSciNet  Google Scholar 

  25. Torresen, J.: Evolving multiplier circuits by training set and training vector partitioning. In: Tyrrell, A.M., Haddow, P.C., Torresen, J. (eds.) ICES 2003. LNCS, vol. 2606, pp. 228–237. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Marc Ebner Michael O’Neill Anikó Ekárt Leonardo Vanneschi Anna Isabel Esparcia-Alcázar

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this paper

Cite this paper

Harding, S., Banzhaf, W. (2007). Fast Genetic Programming on GPUs. In: Ebner, M., O’Neill, M., Ekárt, A., Vanneschi, L., Esparcia-Alcázar, A.I. (eds) Genetic Programming. EuroGP 2007. Lecture Notes in Computer Science, vol 4445. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71605-1_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-71605-1_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-71602-0

  • Online ISBN: 978-3-540-71605-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics