ABSTRACT
In this paper, we describe our work to investigate how much cyclic graph based Genetic Programming (GP) can be accelerated on one machine using currently available mid-range Graphics Processing Units (GPUs).
Cyclic graphs pose different problems for evaluation than do trees and we describe how our CUDA based, "population parallel" evaluator tackles these problems.
Previous similar work has focused on the evaluation alone. Unfortunately large reductions in the evaluation time do not necessarily translate to similar reductions in the total run time because the time spent on other tasks becomes more significant. We show that this problem can be tackled by having the GPU execute in parallel with the Central Processing Unit (CPU) and with memory transfers. We also demonstrate that it is possible to use a second graphics card to further improve the acceleration of one machine.
These additional techniques are able to reduce the total run time of the GPU system by up to 2.83 times. The combined architecture completes a full cyclic GP run 434.61 times faster than the single-core CPU equivalent. This involves evaluating at an average rate of 3.85 billion GP operations per second over the course of the whole run.
- 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 ScholarDigital Library
- D.M. Chitty. A data parallel approach to genetic programming using programmable graphics hardware. In D. Thierens, H.-G. Beyer, J. Bongard, J. Branke, J.A. Clark, D. Cliff, C.B. Congdon, K. Deb, B. Doerr, T. Kovacs, S. Kumar, J.F. Miller, J. Moore, F. Neumann, M. Pelikan, R. Poli, K. Sastry, K.O. Stanley, T. Stutzle, R.A. Watson, and I. Wegener, editors, GECCO '07: Proceedings of the 9th annual conference on Genetic and evolutionary computation, volume 2, pages 1566--1573, London, 7-11 July 2007. ACM Press. Google ScholarDigital Library
- 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
- O. Garnica, J.L. Risco-Martin, J. Hidalgo, and J. Lanchares. Speeding-up resolution of deceptive problems on a parallel gpu-cpu architecture. In Parallel Architectures and Bioinspired Algorithms (at PACT), 2008.Google Scholar
- 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 HPCS '07: Proceedings of the 21st International Symposium on High Performance Computing Systems and Applications, page 2, Washington, DC, USA, 2007. IEEE Computer Society. Google ScholarDigital Library
- W.B. Langdon and W. Banzhaf. A SIMD interpreter for genetic programming on GPU graphics cards. In EuroGP, LNCS, Naples, 26-28 Mar. 2008. Springer. Forthcoming.Google Scholar
- J. Miller. What bloat? cartesian genetic programming on boolean problems. In E. D. Goodman, editor, 2001 Genetic and Evolutionary Computation Conference Late Breaking Papers, pages 295--302, San Francisco, California, USA, 9-11 July 2001.Google Scholar
- J.F. Miller and P. Thomson. Cartesian genetic programming. In R. Poli, W. Banzhaf, W.B. Langdon, J.F. Miller, P. Nordin, and T.C. Fogarty, editors, Genetic Programming, Proceedings of EuroGP'2000, volume 1802 of LNCS, pages 121--132, Edinburgh, 15-16 Apr. 2000. Springer-Verlag. Google ScholarDigital Library
- R. Poli. Parallel distributed genetic programming. Technical Report CSRP-96-15, School of Computer Science, University of Birmingham, B15 2TT, UK, Sept. 1996.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
- A. Teller. Algorithm Evolution with Internal Reinforcement for Signal Understanding. PhD thesis, School of Computer Science, Carnegie Mellon University, Pittsburgh, USA, 5 Dec. 1998. Google ScholarDigital Library
- Z. Vasicek and L. Sekanina. Hardware accelerators for cartesian genetic programming. 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 230--241, Naples, 26-28 Mar. 2008. Springer. Google ScholarDigital Library
- G. Wilson and W. Banzhaf. Linear genetic programming GPGPU on microsoft's xbox 360. 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
Recommendations
TMBL kernels for CUDA GPUs compile faster using PTX: computational intelligence on consumer games and graphics hardware
GECCO '11: Proceedings of the 13th annual conference companion on Genetic and evolutionary computationMany of the most effective attempts to harness the power of the Graphics Processing Unit (GPU) to accelerate Genetic Programming (GP) have dynamically compiled code for individuals as they are to be evaluated. This approach executes very quickly on the ...
Deployment of CPU and GPU-based genetic programming on heterogeneous devices
GECCO '09: Proceedings of the 11th Annual Conference Companion on Genetic and Evolutionary Computation Conference: Late Breaking PapersA widely available and economic means of increasing the computing power applied to a problem is to use modern graphics processing units (GPUs) for parallel processing. We present a new, optimized general methodology for deploying genetic programming (GP)...
Evolving CUDA PTX programs by quantum inspired linear genetic programming
GECCO '11: Proceedings of the 13th annual conference companion on Genetic and evolutionary computationThe tremendous computing power of Graphics Processing Units (GPUs) can be used to accelerate the evolution process in Genetic Programming (GP). The automatic generation of code using the GPU usually follows two different approaches: compiling each ...
Comments