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

High performance genetic programming on GPU

Published:19 June 2009Publication 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.Google ScholarGoogle Scholar
  2. W. Banzhaf, P. Nordin, R. Keller, and F. Francone. Genetic Programming An Introduction. Morgan Kaufmann, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Brameier and W. Banzhaf. Linear Genetic Programming. Number XVI in Genetic and Evolutionary Computation. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. L. Davis, editor. Handbook of Genetic Algorithms. Van Nostrand Reinhold, 1991.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison Wesley, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. H. Holland. Adaptation in Natural and Artificial Systems. Michigan Press University, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  15. J. Koza. Genetic Programming: On the Programming of Computers by Means of Natural Selection. The MIT Press, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. Koza. Genetic Programming II: Automatic Discovery of Reusable Programs. The MIT Press, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. Koza, M. Keane, M. Streeter, W. Mydlowec, J. Yu, and G. Lanza. Routine Human-Competitive Machine Intelligence. Kluwer Academic Publishers, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • 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

    Copyright © 2009 ACM

    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 19 June 2009

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader