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.
- 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 Scholar
- W. Banzhaf, P. Nordin, R. Keller, and F. Francone. Genetic Programming An Introduction. Morgan Kaufmann, 1999. Google ScholarDigital Library
- M. Brameier and W. Banzhaf. Linear Genetic Programming. Number XVI in Genetic and Evolutionary Computation. Springer, 2007. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- L. Davis, editor. Handbook of Genetic Algorithms. Van Nostrand Reinhold, 1991.Google Scholar
- 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 ScholarDigital Library
- D. E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learning. Addison Wesley, 1989. Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- J. H. Holland. Adaptation in Natural and Artificial Systems. Michigan Press University, 1975. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- J. Koza. Genetic Programming: On the Programming of Computers by Means of Natural Selection. The MIT Press, 1992. Google ScholarDigital Library
- J. Koza. Genetic Programming II: Automatic Discovery of Reusable Programs. The MIT Press, 1994. Google ScholarDigital Library
- J. Koza, M. Keane, M. Streeter, W. Mydlowec, J. Yu, and G. Lanza. Routine Human-Competitive Machine Intelligence. Kluwer Academic Publishers, 2003. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
Recommendations
Genetic programming on graphics processing units
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. ...
Algorithmic performance studies on graphics processing units
We report on our experience with integrating and using graphics processing units (GPUs) as fast parallel floating-point co-processors to accelerate two fundamental computational scientific kernels on the GPU: sparse direct factorization and nonlinear ...
Faster GPU-based genetic programming using a two-dimensional stack
Genetic programming (GP) is a computationally intensive technique which also has a high degree of natural parallelism. Parallel computing architectures have become commonplace especially with regards to Graphics Processing Units (GPU). Hence, versions ...
Comments