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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Lasarczyk, C., Dittrich, P., Banzhaf, W.: Dynamic subset selection based on a fitness case topology. Evolutionary Computation 12, 223–242 (2004)
Gathercole, C., Ross, P.: Dynamic training subset selection for supervised learning in genetic programming. Parallel Problem Solving from Nature III 866, 312–321 (1994)
Banzhaf, W., Nordin, P., Keller, R., Francone, F.: Genetic Programming - An Introduction. Morgan Kaufmann, San Francisco (1998)
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)
Brameier, M., Banzhaf, W.: Linear Genetic Programming. Springer, New York (2006)
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)
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)
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)
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)
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)
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)
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)
Fok, K.L., Wong, T.T., Wong, M.L.: Evolutionary computing on consumer-level graphics hardware. IEEE Intelligent Systems (to appear, 2005)
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)
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)
Wikipedia: Flops — wikipedia, the free encyclopedia (2006), http://en.wikipedia.org/w/index.php?title=FLOPS&oldid=84987291 (Online accessed 1-November-2006)
RapidMind Inc.: Libsh. http://libsh.org/
LibSh Wiki: Libsh sample code. http://www.libsh.org/wiki/index.php/Sample_Code
Stanford University Graphics Lab: Brook. http://graphics.stanford.edu/projects/brookgpu/
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)
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)
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)
Koza, J.: Genetic Programming: On the Programming of Computers by Natural Selection. MIT Press, Cambridge (1992)
Langdon, W.B., Banzhaf, W.: Repeated sequences in linear genetic programming genomes. Complex Systems 15, 285–306 (2005)
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)
Author information
Authors and Affiliations
Editor information
Rights 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)