skip to main content
10.1145/2576768.2598272acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
research-article

GPU-parallel subtree interpreter for genetic programming

Published:12 July 2014Publication History

ABSTRACT

Genetic Programming (GP) is a computationally intensive technique but its nature is embarrassingly parallel. Graphic Processing Units (GPUs) are many-core architectures which have been widely employed to speed up the evaluation of GP. In recent years, many works have shown the high performance and efficiency of GPUs on evaluating both the individuals and the fitness cases in parallel. These approaches are known as population parallel and data parallel. This paper presents a parallel GP interpreter which extends these approaches and adds a new parallelization level based on the concurrent evaluation of the individual's subtrees. A GP individual defined by a tree structure with nodes and branches comprises different depth levels in which there are independent subtrees which can be evaluated concurrently. Threads can cooperate to evaluate different subtrees and share the results via GPU's shared memory. The experimental results show the better performance of the proposal in terms of the GP operations per second (GPops/s) that the GP interpreter is capable of processing, achieving up to 21 billion GPops/s using a NVIDIA 480 GPU. However, some issues raised due to limitations of currently available hardware are to be overcomed by the dynamic parallelization capabilities of the next generation of GPUs.

References

  1. D. Andre and J. R. Koza. A parallel implementation of genetic programming that achieves super-linear performance. Information Sciences, 106(3--4):201--218, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. D. A. Augusto and H. J. Barbosa. Accelerated parallel genetic programming tree evaluation with OpenCL. Journal of Parallel and Distributed Computing, 73(1):86--100, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. W. Banzhaf and S. Harding. Accelerating evolutionary computation with graphics processing units. In Proceedings of the 14th Annual Conference Companion on Genetic and Evolutionary Computation, GECCO '09, pages 3237--3286, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. W. Banzhaf, S. Harding, W. B. Langdon, and G. Wilson. Accelerating genetic programming through graphics processing units. In Genetic Programming Theory and Practice VI, Genetic and Evolutionary Computation, pages 1--19. Springer US, 2009.Google ScholarGoogle Scholar
  5. A. Cano, A. Zafra, and S. Ventura. Speeding up the evaluation phase of GP classification algorithms on GPUs. Soft Computing, 16(2):187--202, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Cano, A. Zafra, and S. Ventura. Parallel evaluation of pittsburgh rule-based classifiers on GPUs. Neurocomputing, 126:45--57, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. M. Chitty. A data parallel approach to genetic programming using programmable graphics hardware. In Proceedings of the 12th Annual Conference Companion on Genetic and Evolutionary Computation, GECCO '07, pages 1566--1573, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. M. Chitty. Fast parallel genetic programming: multi-core cpu versus many-core GPU. Soft Computing, 16(10):1795--1814, 2012.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. P. G. Espejo, S. Ventura, and F. Herrera. A Survey on the Application of Genetic Programming to Classification. IEEE Transactions on Systems, Man, and Cybernetics, Part C Applications and Reviews, 40:121--144, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. A. Franco, N. Krasnogor, and J. Bacardit. Speeding up the evaluation of evolutionary learning systems using GPGPUs. In Proceedings of the 15th Annual Conference Companion on Genetic and Evolutionary Computation, GECCO '10, pages 103--110, 2010. 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, pages 90--101, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. L. Harding and W. Banzhaf. Distributed genetic programming on GPUs using CUDA. In Workshop on Parallel Architectures and Bioinspired Algorithms, pages 1--10, 2009.Google ScholarGoogle Scholar
  13. J. R. Koza. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. W. B. Langdon. Large scale bioinformatics data mining with parallel genetic programming on graphics processing units. In Parallel and Distributed Computational Intelligence, pages 113--141. 2010.Google ScholarGoogle ScholarCross RefCross Ref
  15. W. B. Langdon. A many threaded CUDA interpreter for genetic programming. In Proceedings of the 13th European Conference on Genetic Programming, volume 6021 of Lecture Notes in Computer Science, pages 146--158, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. W. B. Langdon. Graphics processing units and genetic programming: an overview. Soft Computing, 15(8):1657--1669, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. W. B. Langdon and W. Banzhaf. A SIMD interpreter for genetic programming on GPU graphics cards. In Proceedings of the 11th European Conference on Genetic Programming, volume 4971 of Lecture Notes in Computer Science, pages 73--85, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. W. B. Langdon and S. M. Gustafson. Genetic programming and evolvable machines: Ten years of reviews. Genetic Programming and Evolvable Machines, 11(3--4):321--338, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. O. Maitre, N. Lachiche, and P. Collet. Fast evaluation of GP trees on GPGPU by optimizing hardware scheduling. In Proceedings of the 13th European Conference on Genetic Programming, volume 6021 of Lecture Notes in Computer Science, pages 301--312, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. F. Neumann. Computational complexity analysis of multi-objective genetic programming. In Proceedings of the 17th Annual Conference Companion on Genetic and Evolutionary Computation, GECCO '12, pages 799--806, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. J. Newman and A. Asuncion. UCI Machine Learning Repository, University of California, Irvine, School of Information and Computer Sciences, 2007.Google ScholarGoogle Scholar
  22. NVIDIA Corporation. NVIDIA CUDA Programming and Best Practices Guide, 2013.Google ScholarGoogle Scholar
  23. D. Robilliard, V. Marion, and C. Fonlupt. High performance genetic programming on GPU. In Proceedings of the Workshop on Bio-inspired Algorithms for Distributed Systems, BADS '09, pages 85--94, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. D. Robilliard, V. Marion-Poty, and C. Fonlupt. Population parallel GP on the G80 GPU. In Proceedings of the 11th European Conference on Genetic Programming, volume 4971 of Lecture Notes in Computer Science, pages 98--109, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. D. Robilliard, V. Marion-Poty, and C. Fonlupt. Genetic programming on graphics processing units. Genetic Programming and Evolvable Machines, 10(4):447--471, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. G. Wilson and W. Banzhaf. Deployment of CPU and GPU-based genetic programming on heterogeneous devices. In Proceedings of the 14th Annual Conference Companion on Genetic and Evolutionary Computation, GECCO '09, pages 2531--2538, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. GPU-parallel subtree interpreter for genetic programming

      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
        GECCO '14: Proceedings of the 2014 Annual Conference on Genetic and Evolutionary Computation
        July 2014
        1478 pages
        ISBN:9781450326629
        DOI:10.1145/2576768

        Copyright © 2014 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 the author(s) 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: 12 July 2014

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        GECCO '14 Paper Acceptance Rate180of544submissions,33%Overall Acceptance Rate1,669of4,410submissions,38%

        Upcoming Conference

        GECCO '24
        Genetic and Evolutionary Computation Conference
        July 14 - 18, 2024
        Melbourne , VIC , Australia

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader