Abstract
We survey genetic improvement (GI) of general purpose computing on graphics cards. We summarise several experiments which demonstrate four themes. Experiments with the gzip program show that genetic programming can automatically port sequential C code to parallel code. Experiments with the StereoCamera program show that GI can upgrade legacy parallel code for new hardware and software. Experiments with NiftyReg and BarraCUDA show that GI can make substantial improvements to current parallel CUDA applications. Finally, experiments with the pknotsRG program show that with semi-automated approaches, enormous speed ups can sometimes be had by growing and grafting new code with genetic programming in combination with human input.
Similar content being viewed by others
Notes
Single Instruction Multiple Threads, SIMT.
BarraCUDA is on SourceForge http://sourceforge.net/projects/seqbarracuda/.
http://iimcb.genesilico.pl/comparna/site_media/entire_datasets/rnastrand.zip 163.3 MB down loaded 3 April 2015.
References
P.J. Angeline, Genetic programming and emergent intelligence, in Advances in Genetic Programming, chapter 4, ed. by K.E. Kinnear Jr. (MIT Press, Cambridge, 1994), pp. 75–98
A. Arcuri, Xin Yao, A novel co-evolutionary approach to automatic software bug fixing. in ed by J. Wang. 2008 IEEE World Congress on Computational Intelligence, Hong Kong, 1–6 June 2008. IEEE Computational Intelligence Society, IEEE Press, pp. 162–168
W. Banzhaf, W.B. Langdon, Some considerations on the reason for bloat. Genet. Progr. Evolvable Mach. 3(1), 81–91 (2002)
E.T. Barr, M. Harman, Yue Jia, A. Marginean, J. Petke, Automated software transplantation. in ed. by T. Xie, M. Young International Symposium on Software Testing and Analysis, ISSTA 2015, Baltimore, Maryland, USA, 14–17 July 2015. ACM. ACM SIGSOFT Distinguished Paper Award, pp. 257–269
A. Brady, J. Lawrence, P. Peers, W. Weimer, genBRDF: discovering new analytic BRDFs with genetic programming. ACM Trans. Graph. 33(4), 114–11411 (2014)
B.R. Bruce, J. Petke, M. Harman, Reducing energy consumption using genetic improvement. in ed. by S. Silva et al. GECCO ’15: Proceedings of the 2015 on Genetic and Evolutionary Computation Conference, Madrid, Spain, 11-15 July 2015. ACM, ACM, pp. 1327–1334
B.R. Bruce, Energy optimisation via genetic improvement A SBSE technique for a new era in software development. in ed by W.B. Langdon et al. Genetic Improvement 2015 Workshop, Madrid, 11–15 July 2015. ACM, pp. 819–820
E.K. Burke, S. Gustafson, G. Kendall, Diversity in genetic programming: an analysis of measures and correlation with fitness. IEEE Trans. Evol. Comput. 8(1), 47–62 (2004)
N. Burles, E. Bowles, B.R. Bruce, K. Srivisut, Specialising Guava’s cache to reduce energy consumption. In Yvan Labiche and Marcio Barros, editors, SSBSE, vol. 9275 of LNCS, Bergamo, Italy, September 5–7 2015. (Springer, Berlin) pp. 276–281
N. Burles, J. Swan, E. Bowles, A.E.I. Brownlee, Z.A. Kocsis, N. Veerapen, Embedded dynamic improvement. in ed. by W.B. Langdon et al. Genetic Improvement 2015 Workshop, Madrid, 11–15 July 2015. ACM, pp. 831–832
D.J. Cavicchio, Jr., Adaptive search using simulated evolution. Ph.D. thesis, Department of Computer and Communication Sciences, University of Michigan, Ann Arbor, August (1970)
J.M. Daida, A.M. Hilss, D.J. Ward, S.L. Long, Visualizing tree structures in genetic programming. Genet. Progr. Evolvable Mach. 6(1), 79–110 (2005)
R.M. Durbin et al., A map of human genome variation from population-scale sequencing. Nature 467(7319), 1061–1073 (2010)
B. Foster, A. Somayaji, Object-level recombination of commodity applications. in ed. by J. Branke et al. GECCO ’10: Proceedings of the 12th annual conference on Genetic and evolutionary computation, Portland, Oregon, USA, 7-11 July 2010. ACM, pp. 957–964
J.A. Foster, Review: discipulus: a commercial genetic programming system. Genet. Progr. Evolvable Mach. 2(2), 201–203 (2001)
C. Gathercole, P. Ross, Dynamic training subset selection for supervised learning in genetic programming. in ed. by Y. Davidor et al. Parallel Problem Solving from Nature III, vol. 866 of LNCS, Jerusalem, 9-14 October 1994. (Springer, Berlin) pp. 312–321
S.L. Harding, W. Banzhaf, Distributed genetic programming on GPUs using CUDA. in ed. by I. Hidalgo et al. Workshop on Parallel Architectures and Bioinspired Algorithms, Raleigh, NC, USA, 13 September 2009. Universidad Complutense de Madrid, pp. 1–10
M. Harman, B.F. Jones, Search based software engineering. Inf. Softw. Technol. 43(14), 833–839 (2001)
M. Harman, W.B. Langdon, Yue Jia, D.R. White, A. Arcuri, J.A. Clark, The GISMOE challenge: constructing the Pareto program surface using genetic programming to find better programs. in The 27th IEEE/ACM International Conference on Automated Software Engineering (ASE 12), Essen, Germany, September 3–7 2012. ACM, pp. 1–14
M. Harman, A. Mansouri, Yuanyuan Zhang, Search based software engineering: trends, techniques and applications. ACM Comput. Surv. 45(1), 11:1–11:61 (2012)
M. Harman, Yue Jia, W.B. Langdon, Babel pidgin: SBSE can grow and graft entirely new functionality into a real world system. in ed. by C. Le Goues, S. Yoo Proceedings of the 6th International Symposium, on Search-Based Software Engineering, SSBSE 2014, vol. 8636 of LNCS, Fortaleza, Brazil, 26–29 August 2014. Springer. Winner SSBSE 2014 Challange Track, pp. 247–252
C. Harris, An investigation into the Application of Genetic Programming techniques to Signal Analysis and Feature Detection. Ph.D. thesis, University College, London, UK, 26 September (1997)
B. Harvey, J.A. Foster, D. Frincke, Byte code genetic programming. in ed. by J.R. Koza Late Breaking Papers at the Genetic Programming 1998 Conference, University of Wisconsin, Madison, Wisconsin, USA, 22–25 July 1998. Stanford University Bookstore, pp. 59–63
D. Hussain, S. Malliaris, Evolutionary techniques applied to hashing: an efficient data retrieval method. in ed. by D. Whitley et al. Proceedings of the Genetic and Evolutionary Computation Conference (GECCO-2000), Las Vegas, Nevada, USA, 10–12 July 2000. Morgan Kaufmann, p. 760
M. Hutchins, H. Foster, T. Goradia, T. Ostrand, Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria. in Proceedings of 16th International Conference on Software Engineering, ICSE-16, pp. 191–200, May (1994)
International Human Genome Sequencing Consortium. Initial sequencing and analysis of the human genome. Nature, 409(6822):860–921 (2001)
Yue Jia, M. Harman, W.B. Langdon, A. Marginean, Grow and serve: growing Django citation services using SBSE. In Shin Yoo and Leandro Minku, editors, SSBSE 2015 Challenge Track, vol. 9275 of LNCS, Bergamo, Italy, 5–7 September, pp. 269–275 (2015)
S. Klahold, S. Frank, R.E. Keller, W. Banzhaf, Exploring the possibilites and restrictions of genetic programming in Java bytecode. in ed. by J.R. Koza Late Breaking Papers at the Genetic Programming 1998 Conference, University of Wisconsin, Madison, Wisconsin, USA, 22–25 July 1998. Stanford University Bookstore, pp. 120–124
P. Klus, Simon Lam, D. Lyberg, M.S. Cheung, G. Pullan, I. McFarlane, G.S.H. Yeo, B.Y.H. Lam, BarraCUDA—a fast short read sequence aligner using graphics processing units. BMC Res. Notes (2012). doi:10.1186/1756-0500-5-27
J.R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection (MIT Press, Cambridge, 1992)
J. Landsborough, S. Harding, S. Fugate, Removing the kitchen sink from software. in ed. by W.B. Langdon et al. Genetic Improvement 2015 Workshop, Madrid, 11–15 July 2015. ACM, pp. 833–838
W.B. Langdon, M. Harman, Evolving a CUDA kernel from an nVidia template. in ed. by P. Sobrevilla 2010 IEEE World Congress on Computational Intelligence, Barcelona, 18–23 July 2010. IEEE, pp. 2376–2383
W.B. Langdon, M. Harman, Genetically improved CUDA kernels for stereocamera. Research Note RN/14/02, Department of Computer Science, University College London, Gower Street, London WC1E 6BT, UK, 20 February (2014)
W.B. Langdon, M. Harman, Genetically improved CUDA C++ software. In Miguel Nicolau et al., editors, 17th European Conference on Genetic Programming, vol. 8599 of LNCS, Granada, Spain, 23-25 April 2014. (Springer, Berlin, 2014) pp. 87–99
W.B. Langdon, M. Harman, Grow and graft a better CUDA pknotsRG for RNA pseudoknot free energy calculation. in ed, by W.B. Langdon et al. Genetic Improvement 2015 Workshop, Madrid, 11–15 July 2015. ACM, pp. 805–810
W.B. Langdon, M. Harman, Optimising existing software with genetic programming. IEEE Trans. Evol. Comput. 19(1), 118–135 (2015)
W.B. Langdon, A.P. Harrison, GP on SPMD parallel graphics hardware for mega bioinformatics data mining. Soft Comput., 12(12):1169–1183, October 2008. Special Issue on Distributed Bioinspired Algorithms
W.B. Langdon, B.Y.H. Lam, Genetically improved barraCUDA. Research Note RN/15/03, Department of Computer Science, University College London, Gower Street, London WC1E 6BT, UK, 28 May (2015)
W.B. Langdon, J. Petke, Genetic improvement. IEEE Software Blog, (2016)
W.B. Langdon, R. Poli, An analysis of the MAX problem in genetic programming. in ed. by J.R. Koza et al. Genetic Programming 1997: Proceedings of the Second Annual Conference, Stanford University, CA, USA, 13–16 July 1997. Morgan Kaufmann, pp. 222–230
W.B. Langdon, R. Poli, Fitness causes bloat. in ed. by P.K. Chawdhry et al. Soft Computing in Engineering Design and Manufacturing (Springer, London, 1997), 23–27 June, pp. 13–22
W.B. Langdon, R. Poli, Foundations of Genetic Programming (Springer, Berlin, 2002)
W.B. Langdon, M. Harman, Yue Jia, Efficient multi-objective higher order mutation testing with genetic programming. J. Syst. Softw. 83(12), 2416–2430 (2010)
W.B. Langdon, M. Modat, J. Petke, M. Harman, Improving 3D medical image registration CUDA software with genetic programming. in ed. by C. Igel et al. GECCO ’14: Proceeding of the sixteenth annual conference on genetic and evolutionary computation conference, Vancouver, BC, Canada, 12–15 July 2014. ACM, pp. 951–958
W.B. Langdon, B.Y.H. Lam, J. Petke, M. Harman, Improving CUDA DNA analysis software with genetic programming. in ed. by S. Silva et al. GECCO ’15: Proceedings of the 2015 on Genetic and Evolutionary Computation Conference, Madrid, 11–15 July 2015. ACM, pp. 1063–1070
W.B. Langdon, Directed crossover within genetic programming. Research Note RN/95/71, University College London, Gower Street, London WC1E 6BT, UK, September (1995)
W.B. Langdon, Genetic Programming and Data Structures: Genetic Programming + Data Structures = Automatic Programming! volume 1 of Genetic Programming, vol. 1 (Kluwer, Boston, 1998)
W.B. Langdon, A many threaded CUDA interpreter for genetic programming. in ed. by A. Isabel Esparcia-Alcazar et al. Proceedings of the 13th European Conference on Genetic Programming, EuroGP 2010, volume 6021 of LNCS, Istanbul, 7–9 April 2010. (Springer, Berlin) pp. 146–158
W.B. Langdon, Creating and debugging performance CUDA C. in ed. by F. Fernandez de Vega et al. Parallel Architectures and Bioinspired Algorithms, vol. 415 of Studies in Computational Intelligence, chapter 1. (Springer, Berlin, 2012) pp. 7–50
W.B. Langdon, Genetic improvement of software for multiple objectives. in ed. by Y. Labiche, M. Barros SSBSE, vol. 9275 of LNCS, Bergamo, Italy, September 5–7 2015. Springer. Invited keynote, pp. 12–28
W.B. Langdon, Genetically improved software, in Handbook of Genetic Programming Applications, chapter 8, ed. by A.H. Gandomi, et al. (Springer, Berlin, 2015), pp. 181–220
C. Le Goues, M. Dewey-Vogt, S. Forrest, W. Weimer, A systematic study of automated program repair: Fixing 55 out of 105 bugs for $8 each. in ed. by M. Glinz 34th International Conference on Software Engineering (ICSE 2012), Zurich, June 2–9, pp. 3–13, (2012)
C. Le Goues, W. Weimer, S. Forrest, Representations and operators for improving evolutionary software repair. in ed. by T. Soule et al. GECCO ’12: Proceedings of the fourteenth international conference on Genetic and evolutionary computation conference, Philadelphia, Pennsylvania, USA, 7–11 July 2012. ACM, pp. 959–966
Heng Li, R. Durbin, Fast and accurate long-read alignment with Burrows-Wheeler transform. Bioinformatics 26(5), 589–595 (2010)
Weiguo Liu, B. Schmidt, G. Voss, A. Schroder, W. Muller-Wittig, Bio-sequence database scanning on a GPU. in 20th International Parallel and Distributed Processing Symposium, IPDPS 2006, Rhodes, Greece, 25–29 April 2006. IEEE Press
R.E. Lopez-Herrejon, L. Linsbauer, Genetic improvement for software product lines: an overview and a roadmap. in W.B. Langdon et al. Genetic Improvement 2015 Workshop, Madrid, 11–15 July 2015. ACM, pp. 823–830
E. Lukschandl, M. Holmlund, E. Moden, Automatic evolution of Java bytecode: First experience with the Java virtual machine. in ed. by R. Poli et al. Late Breaking Papers at EuroGP’98: the First European Workshop on Genetic Programming, Paris, France, 14–15 April 1998. CSRP-98-10, The University of Birmingham, UK, pp. 14–16
Ruibang Luo, Thomas Wong, Jianqiao Zhu, Chi-Man Liu, Xiaoqian Zhu, Edward Wu, Lap-Kei Lee, Haoxiang Lin, Wenjuan Zhu, David W. Cheung, Hing-Fung Ting, Siu-Ming Yiu, Shaoliang Peng, Chang Yu, Yingrui Li, Ruiqiang Li, and Tak-Wah Lam, SOAP3-dp: Fast, accurate and sensitive GPU-based short read aligner. PLoS One 8(5), e65632 (2013)
S. Manavski, G. Valle, CUDA compatible GPU cards as efficient hardware accelerators for Smith-Waterman sequence alignment. BMC Bioinf. 9(Suppl 2), S10 (2008)
N.F. McPhee, N.J. Hopper, Analysis of genetic diversity through population history. in ed. by W. Banzhaf et al. Proceedings of the Genetic and Evolutionary Computation Conference, vol. 2, pp. 1112–1120, Orlando, Florida, USA, 13-17 July 1999. Morgan Kaufmann
D. Merrill, M. Garland, A. Grimshaw, Policy-based tuning for performance portability and library co-optimization. In Innovative Parallel Computing (InPar), 2012. IEEE, May (2012)
M. Modat, G.R. Ridgway, Z.A. Taylor, M. Lehmann, J. Barnes, D.J. Hawkes, N.C. Fox, S. Ourselin, Fast free-form deformation using graphics processing units. Comput. Methods Progr. Biomed. 98(3), 278–284 (2010)
V. Mrazek, Z. Vasicek, L. Sekanina, Evolutionary approximation of software for embedded systems: Median function. in ed. by W.B. Langdon et al. Genetic Improvement 2015 Workshop, Madrid, 11–15 July 2015. ACM, pp. 795–801
M. Orlov, M. Sipper, Flight of the FINCH through the Java wilderness. IEEE Trans. Evol. Comput. 15(2), 166–182 (2011)
J.D. Owens, M. Houston, D. Luebke, S. Green, J.E. Stone, J.C. Phillips, GPU computing. Proc. IEEE, 96(5):879–899, May 2008. Invited paper
N. Paterson, M. Livesey, Evolving caching algorithms in C by genetic programming. in ed. by J.R. Koza et al. Genetic Programming 1997: Proceedings of the Second Annual Conference, Stanford University, CA, USA, 13-16 July 1997. Morgan Kaufmann, pp. 262–267
J. Petke, M. Harman, W.B. Langdon, W. Weimer, Using genetic improvement & code transplants to specialise a C++ program to a problem class. 11th Annual Humies Awards 2014, 14 July 2014. Winner Silver
J. Petke, M. Harman, W.B. Langdon, W. Weimer, Using genetic improvement and code transplants to specialise a C++ program to a problem class. in ed. by M. Nicolau et al. 17th European Conference on Genetic Programming, vol. 8599 of LNCS, Granada, Spain, 23-25 April 2014. (Springer, Berlin) pp. 137–149
R. Poli, W.B. Langdon, S. Dignum, On the limiting distribution of program sizes in tree-based genetic programming. in ed. by M. Ebner et al. Proceedings of the 10th European Conference on Genetic Programming, vol. 4445 of Lecture Notes in Computer Science, Valencia, Spain, 11-13 April 2007. (Springer, Berlin) pp. 193–204
R. Poli, W.B. Langdon, N.F. McPhee, A field guide to genetic programming. Published via http://lulu.com and freely available at http://www.gp-field-guide.org.uk, 2008. (With contributions by J. R. Koza)
J. Reeder, R. Giegerich, Design, implementation and evaluation of a practical pseudoknot folding algorithm based on thermodynamics. BMC Bioinf. 5(1), 104 (2004)
J. Reeder, P. Steffen, R. Giegerich, pknotsRG: RNA pseudoknot folding including near-optimal structures and sliding windows. Nucleic Acids Res. 35(suppl 2), W320–W324 (2007)
I. Reguly, M. Giles, Efficient sparse matrix-vector multiplication on cache-based GPUs. in Innovative Parallel Computing (InPar), 2012, San Jose, USA, 13–14 May 2012. IEEE, pp. 230–241
J.L. Risco-Martin, D. Atienza, J.M. Colmenar, O. Garnica, A parallel evolutionary algorithm to optimize dynamic memory managers in embedded systems. Parallel Computing, 36(10-11):572–590 (2010). Parallel Architectures and Bioinspired Algorithms
P. Rodriguez-Mier, M. Mucientes, M. Lama, M.I. Couto, Composition of web services through genetic programming. Evol. Intel. 3(3–4), 171–186 (2010)
D. Schuler, A. Zeller, Javalanche: efficient mutation testing for java. in ed. by H. van Vliet, V. Issarny ESEC/SIGSOFT FSE, Amsterdam, Netherlands, 24–28 August 2009. ACM, pp. 297–298
E. Schulte, J. DiLorenzo, W. Weimer, S. Forrest, Automated repair of binary and assembly programs for cooperating embedded devices. in Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems, ASPLOS 2013, Houston, Texas, USA, March 16-20 2013. ACM, pp. 317–328
E. Schulte, J. Dorn, S. Harding, S. Forrest, W. Weimer, Post-compiler software optimization for reducing energy. in Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS’14, Salt Lake City, Utah, USA, 1–5 March 2014. ACM, pp. 639–652
E. Schulte, Z.P. Fry, E. Fast, W. Weimer, S. Forrest, Software mutational robustness. Genet. Progr. Evolvable Mach. 15(3), 281–312 (2014)
E. Schulte, W. Weimer, S. Forrest, Repairing COTS router firmware without access to source code or test suites: a case study in evolutionary software repair. in ed. by W.B. Langdon et al. Genetic Improvement 2015 Workshop, Madrid, 11-15 July 2015. ACM. Best Paper, pp. 847–854
P. Sitthi-amorn, N. Modly, W. Weimer, J. Lawrence, Genetic programming for shader simplification. ACM Transactions on Graphics, 30(6):article:152, December 2011. Proceedings of ACM SIGGRAPH Asia (2011)
T. Soule, R.B. Heckendorn, An analysis of the causes of code growth in genetic programming. Genet. Progr. Evolvable Mach. 3(3), 283–309 (2002)
J. Stam, Stereo imaging with CUDA. Technical report, nVidia, V 0.2 3 Jan 2008. StereoImaging.pdf distributed with StereoCamera_v1_1c.zip
P. Steffen, R. Giegerich, Table design in dynamic programming. Inf. Comput. 204(9), 1325–1345 (2006)
G. Syswerda, Uniform crossover in genetic algorithms. in ed. by J. David Schaffer Proceedings of the third international conference on Genetic Algorithms, George Mason University, 4–7 June 1989. Morgan Kaufmann, pp. 2–9
W.A. Tackett, Recombination, Selection, and the Genetic Construction of Computer Programs. Ph.D. thesis, University of Southern California, Department of Electrical Engineering Systems, USA (1994)
A. Teller, D. Andre, Automatically choosing the number of fitness cases: the rational allocation of trials. in ed. by J.R. Koza et al. Genetic Programming 1997: Proceedings of the Second Annual Conference, Stanford University, CA, USA, 13–16 July 1997. Morgan Kaufmann, pp. 321–328
R.H. Untch, A.J. Offutt, M.J. Harrold, Mutation analysis using mutant schemata. in Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis, Cambridge, Massachusetts, pp. 139–148 (1993)
W. Weimer, ThanhVu Nguyen, C. Le Goues, S. Forrest, Automatically finding patches using genetic programming. in ed. by S. Fickas International Conference on Software Engineering (ICSE) 2009, Vancouver, May 16–24, pp. 364–374 (2009)
W. Weimer, S. Forrest, C. Le Goues, ThanhVu Nguyen, Automatic program repair with evolutionary computation. Commun. ACM 53(5), 109–116 (2010)
D.R. White, J. Clark, J. Jacob, S.M. Poulding, Searching for resource-efficient programs: low-power pseudorandom number generators. in ed. by M. Keijzer et al. GECCO ’08: Proceedings of the 10th annual conference on Genetic and evolutionary computation, Atlanta, GA, USA, 12–16 July 2008. ACM, pp. 1775–1782
D.R. White, A. Arcuri, J.A. Clark, Evolutionary improvement of programs. IEEE Trans. Evol. Comput. 15(4), 515–538 (2011)
F. Wu, W. Weimer, M. Harman, Yue Jia, J. Krinke, Deep parameter optimisation. in ed. by S. Silva et al. GECCO ’15: Proceedings of the 2015 on Genetic and Evolutionary Computation Conference, Madrid, 11-15 July 2015. ACM, pp. 1375–1382
Xin Yao, M. Harman, Yue Jia, A study of equivalent and stubborn mutation operators using human analysis of equivalence. in Proceedings of the 36th International Conference on Software Engineering, ICSE 2014, Hyderabad, India, 2014. ACM, pp. 919–930
K. Yeboah-Antwi, B. Baudry, Embedding adaptivity in software systems using the ECSELR framework. in ed. by W.B. Langdon et al. Genetic Improvement 2015 Workshop, Madrid, 11-15 July 2015. ACM, pp. 839–844
Acknowledgments
I would like to thank Yue Jia and txbob. Teslas donated by nVidia.
Author information
Authors and Affiliations
Corresponding author
Electronic supplementary material
Below is the link to the electronic supplementary material.
Appendix: FTP kits
Appendix: FTP kits
1.1 StereoCamera
The grammar-based genetic programming system is available via ftp.cs.ucl.ac.uk file genetic/gp-code/StereoCamera_1_1.tar.gz and training images are in StereoImages.tar.gz The GI version of StereoCamera is in StereoCamera_v1_1c.zip [33].
1.2 NiftyReg
Code etc. in http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/gp-code/niftycuda.tar.gz.
The improved NiftyReg code is in http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/gp-code/nifty_reg-1.3.9_patch.tar.gz [44].
1.3 BarraCUDA
GI tools for BarraCUDA are available via FTP and http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/gp-code/barracuda_gp.tar.gz.
The latest release of BarraCUDA can be downloaded from http://sourceforge.net/projects/seqbarracuda/?source=typ_redirect [45].
1.4 pknotsRG
The Genetic Improvement system which evolved the better version of pknotsRG is available via http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/gp-code/pknotsGI.tar.gz [35].
1.5 Drawing Trees in a Circular Lattice (like Fig. 18)
http://www.cs.ucl.ac.uk/staff/W.Langdon/lisp2dot.html gives some code to display trees as circular lattices [12].
1.6 GenProg
Le Goues’ bug fixing system (Sect. 3) is available at http://genprog.cs.virginia.edu/ [90].
Rights and permissions
About this article
Cite this article
Langdon, W.B., Lam, B.Y.H., Modat, M. et al. Genetic improvement of GPU software. Genet Program Evolvable Mach 18, 5–44 (2017). https://doi.org/10.1007/s10710-016-9273-9
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10710-016-9273-9