Abstract
Genetic Programming (GP) may dramatically increase the performance of software written by domain experts. GP and autotuning are used to optimise and refactor legacy GPGPU C code for modern parallel graphics hardware and software. Speed ups of more than six times on recent nVidia GPU cards are reported compared to the original kernel on the same hardware.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Poli, R., Langdon, W.B., McPhee, N.F.: A field guide to genetic programming, http://www.gp-field-guide.org.uk
Harman, M., Langdon, W.B., Weimer, W.: Genetic programming for reverse engineering. In: WCRE 2013, Koblenz, Germany. IEEE (2013) (Invited Keynote)
Harman, M., Langdon, W.B., Jia, Y., White, D.R., Arcuri, A., Clark, J.A.: The GISMOE challenge. In: ASE 2012, Essen, Germany, pp. 1–14. ACM (2012)
Langdon, W.B., Harman, M.: Evolving a CUDA kernel from an nVidia template. In: WCCI 2010, Barcelona, pp. 2376–2383. IEEE (2010)
Archanjo, G.A., Von Zuben, F.J.: Genetic programming for automating the development of data management algorithms in information technology systems. Advances in Software Engineering (2012)
Le Goues, C., Nguyen, T., Forrest, S., Weimer, W.: GenProg: A generic method for automatic software repair. IEEE Trans. on Soft. Eng. 38(1), 54–72 (2012)
Sitthi-amorn, P., Modly, N., Weimer, W., Lawrence, J.: Genetic programming for shader simplification. ACM Trans. on Graphics 30(6), article:152 (2011)
White, D.R., Arcuri, A., Clark, J.A.: Evolutionary improvement of programs. IEEE Trans. on EC 15(4), 515–538 (2011)
Orlov, M., Sipper, M.: Flight of the FINCH through the Java wilderness. IEEE Trans. on EC 15(2), 166–182 (2011)
Langdon, W.B., Harman, M.: Optimising existing software with genetic programming. IEEE Trans. on EC (accepted)
Petke, J., Harman, M., Langdon, W.B., Weimer, W.: Using genetic improvement and code transplants to specialise a C++ program to a problem class. In: Nicolau, M., Krawiec, K., Heywood, M.I., Castelli, M., García-Sánchez, P., Merelo, J.J., Santos, V.M.R., Sim, K. (eds.) EuroGP 2014. LNCS, vol. 8599, pp. 137–149. Springer, Heidelberg (2014)
Cotillon, A., Valencia, P., Jurdak, R.: Android genetic programming framework. In: Moraglio, A., Silva, S., Krawiec, K., Machado, P., Cotta, C. (eds.) EuroGP 2012. LNCS, vol. 7244, pp. 13–24. Springer, Heidelberg (2012)
Cody-Kenny, B., Barrett, S.: The emergence of useful bias in self-focusing genetic programming for software optimisation. In: Ruhe, G., Zhang, Y. (eds.) SSBSE 2013. LNCS, vol. 8084, pp. 306–311. Springer, Heidelberg (2013)
Tiwari, V., Malik, S., Wolfe, A.: Power analysis of embedded software: A first step towards software power minimization. IEEE Trans. on VLSI 2(4), 437–445 (1994)
Owens, J.D., Houston, M., Luebke, D., Green, S., Stone, J.E., Phillips, J.C.: GPU computing. Proceedings of the IEEE 96(5), 879–899 (2008) (Invited paper)
Merrill, D., Garland, M., Grimshaw, A.: Policy-based tuning for performance portability and library co-optimization. In: InPar. IEEE (2012)
Langdon, W.B.: Graphics processing units and genetic programming: An overview. Soft Computing 15, 1657–1669 (2011)
Stam, J.: Stereo imaging with CUDA. Technical report, nVidia (2008)
Moore, G.E.: Cramming more components onto integrated circuits. Electronics 38(8), 114–117 (1965)
Syswerda, G.: Uniform crossover in genetic algorithms. In: ICGA 1989, pp. 2–9 (1989)
Koza, J.R.: Genetic Programming. MIT Press (1992)
Langdon, W.B.: A many threaded CUDA interpreter for genetic programming. In: Esparcia-Alcázar, A.I., Ekárt, A., Silva, S., Dignum, S., Uyar, A.Ş. (eds.) EuroGP 2010. LNCS, vol. 6021, pp. 146–158. Springer, Heidelberg (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Langdon, W.B., Harman, M. (2014). Genetically Improved CUDA C++ Software. In: Nicolau, M., et al. Genetic Programming. EuroGP 2014. Lecture Notes in Computer Science, vol 8599. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-44303-3_8
Download citation
DOI: https://doi.org/10.1007/978-3-662-44303-3_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-44302-6
Online ISBN: 978-3-662-44303-3
eBook Packages: Computer ScienceComputer Science (R0)