skip to main content
10.1145/1555284.1555299acmconferencesArticle/Chapter ViewAbstractPublication PagesicacConference Proceedingsconference-collections
research-article

High performance genetic programming on GPU

Published: 19 June 2009 Publication History

Abstract

The availability of low cost powerful parallel graphics cards has stimulated the port of Genetic Programming (GP) on Graphics Processing Units (GPUs). Our work focuses on the possibilities offered by Nvidia G80 GPUs when programmed in the CUDA language. We compare two parallelization schemes that evaluate several GP programs in parallel. We show that the fine grain distribution of computations over the elementary processors greatly impacts performances. We also present memory and representation optimizations that further enhance computation speed, up to 2.8 billion GP operations per second. The code has been developed with the well known ECJ library.

References

[1]
D. T. Anderson, R. H. Luke, and J. M. Keller. Speedup of fuzzy clustering through stream processing on graphics processing units. In J. Wang, editor, 2008 IEEE World Congress on Computational Intelligence, pages 1101--1106, Hong Kong, 2008. IEEE Press.
[2]
W. Banzhaf, P. Nordin, R. Keller, and F. Francone. Genetic Programming An Introduction. Morgan Kaufmann, 1999.
[3]
M. Brameier and W. Banzhaf. Linear Genetic Programming. Number XVI in Genetic and Evolutionary Computation. Springer, 2007.
[4]
S. M. Cheang, K. S. Leung, and K. H. Lee. Genetic parallel programming: Design and implementation. Evolutionary Computation, 14(2):129--156, Summer 2006.
[5]
D. M. Chitty. A data parallel approach to genetic programming using programmable graphics hardware. In Proceedings of the 2007 Genetic and Evolutionary Computing Conference (GECCO'07), pages 1566--1573, London, UK, July 2007. ACM Press.
[6]
L. Davis, editor. Handbook of Genetic Algorithms. Van Nostrand Reinhold, 1991.
[7]
F. Fernandez, M. Tomassini, and L. Vanneschi. An empirical study of multipopulation genetic programming. Genetic Programming and Evolvable Machines, 4(1):21--51, Mar. 2003.
[8]
D. E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison Wesley, 1989.
[9]
S. Harding. Evolution of image filters on graphics processor units using cartesian genetic programming. In J. Wang., editor, 2008 IEEE World Congress on Computational Intelligence, Hong Kong, 1--6 June 2008. IEEE Computational Intelligence Society, IEEE Press.
[10]
S. Harding and W. Banzhaf. Fast genetic programming and artificial developmental systems on GPUs. In proceedings of the 2007 High Performance Computing and Simulation (HPCS'07) Conference, page 2. IEEE Computer Society, 2007.
[11]
S. Harding and W. Banzhaf. Fast genetic programming on GPUs. In proceedings of the 10th European Conference on Genetic Programming, EuroGP 2007, volume 4445 of Lecture Notes in Computer Science, pages 90--101. Springer, 2007.
[12]
J. H. Holland. Adaptation in Natural and Artificial Systems. Michigan Press University, 1975.
[13]
H. Juill'e and J. B. Pollack. Massively parallel genetic programming. In Advances in Genetic Programming 2, chapter 17, pages 339--358. MIT Press, 1996.
[14]
K. Kaul and C.-A. Bohn. A genetic texture packing algorithm on a graphical processing unit. In Proceedings of the 9th International Conference on Computer Graphics and Artificial Intelligence, 2006.
[15]
J. Koza. Genetic Programming: On the Programming of Computers by Means of Natural Selection. The MIT Press, 1992.
[16]
J. Koza. Genetic Programming II: Automatic Discovery of Reusable Programs. The MIT Press, 1994.
[17]
J. Koza, M. Keane, M. Streeter, W. Mydlowec, J. Yu, and G. Lanza. Routine Human-Competitive Machine Intelligence. Kluwer Academic Publishers, 2003.
[18]
W. B. Langdon. Evolving programs on graphics cards - C++ code. Available at http://www.cs.ucl.ac.uk/external/W.Langdon/ftp/gpcode/gpu gp 1.tar.gz, 2008.
[19]
W. B. Langdon and W. Banzhaf. A SIMD interpreter for genetic programming on GPU graphics cards. In M. O'Neill, L. Vanneschi, S. Gustafson, A. I. Esparcia Alcazar, I. De Falco, A. Della Cioppa, and E. Tarantino, editors, Proceedings of the 11th European Conference on Genetic Programming, EuroGP 2008, volume 4971 of Lecture Notes in Computer Science, pages 73--85, Naples, 26-28 Mar. 2008. Springer.
[20]
W. B. Langdon and A. P. Harrison. GP on SPMD parallel graphics hardware for mega bioinformatics data mining. Soft Computing, 2008. Special Issue. On line first.
[21]
S. Luke, L. Panait, G. Balan, S. Paus, Z. Skolicki, E. Popovici, K. Sullivan, J. Harrison, J. Bassett, R. Hubley, and A. Chircop. ECJ 18 - a Java-based evolutionary computation research system. Available at http://cs.gmu.edu/~eclab/projects/ecj/, 2008.
[22]
Z. Luo and H. Liu. Cellular genetic algorithms and local search for 3-sat problem on graphic hardware. In IEEE Congress on Evolutionary Computation - CEC 2006., pages 988--2992, 2006.
[23]
D. Robilliard, V. Marion-Poty, and C. Fonlupt. Population parallel GP on the G80 GPU. In M. O'Neill, L. Vanneschi, S. Gustafson, A. I. Esparcia Alcazar, I. De Falco, A. Della Cioppa, and E. Tarantino, editors, Proceedings of the 11th European Conference on Genetic Programming, EuroGP 2008, volume 4971 of Lecture Notes in Computer Science, pages 98--109, Naples, 26--28 Mar. 2008. Springer.
[24]
P. Tufts. Parallel case evaluation for genetic programming. In 1993 Lectures in Complex Systems, volume VI of Santa Fe Institute Studies in the Science of Complexity, pages 591--596. Addison-Wesley, 1995.
[25]
M. L. Wong, T. T. Wong, and K. L. Fok. Parallel evolutionary algorithms on graphics processing unit. In Proceedings of IEEE Congress on Evolutionary Computation 2005 (CEC 2005), volume 3, pages 2286--2293, Edinburgh, UK, 2005. IEEE.
[26]
Q. Yu, C. Chen, and Z. Pan. Parallel genetic algorithms on programmable graphics hardware. In Advances in Natural Computation, volume 3162 of LNCS, pages 1051--1059. Springer, 2005.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
BADS '09: Proceedings of the 2009 workshop on Bio-inspired algorithms for distributed systems
June 2009
114 pages
ISBN:9781605585840
DOI:10.1145/1555284
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 June 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. genetic algorithms
  2. genetic programming
  3. graphics processing units
  4. parallel processing

Qualifiers

  • Research-article

Conference

ICAC '09
Sponsor:

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)2
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media