Skip to main content

Evolving AVX512 Parallel C Code Using GP

  • Conference paper
  • First Online:
Genetic Programming (EuroGP 2019)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11451))

Included in the following conference series:

Abstract

Using 512 bit Advanced Vector Extensions, previous development history and Intel documentation, BNF grammar based genetic improvement automatically ports RNAfold to AVX, giving up to a 1.77 fold speed up. The evolved code pull request is an accepted GI software maintenance update to bioinformatics package ViennaRNA.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Lorenz, R., et al.: ViennaRNA Package 2.0. AMB 6(1) (2011). https://doi.org/10.1186/1748-7188-6-26

  2. Langdon, W.B., Harman, M.: Grow and graft a better CUDA pknotsRG for RNA pseudoknot free energy calculation. In: Langdon, W.B., et al. (eds.) Genetic Improvement 2015 Workshop, pp. 805–810. ACM, Madrid, 11–15 July 2015. https://doi.org/10.1145/2739482.2768418

  3. Langdon, W.B., Lorenz, R.: Improving SSE parallel code with grow and graft genetic programming. In: Petke, J., et al. (eds.) GI-2017, pp. 1537–1538. ACM, Berlin, 15–19 July 2017. https://doi.org/10.1145/3067695.3082524

  4. Langdon, W.B., Lorenz, R.: CUDA RNAfold. Technical report RN/18/02, Computer Science, University College, London, Gower Street, London, 27 March 2018. https://doi.org/10.1101/298885

  5. Langdon, W.B., Harman, M.: Optimising existing software with genetic programming. IEEE Trans. EC 19(1), 118–135 (2015). https://doi.org/10.1109/TEVC.2013.2281544

    Article  Google Scholar 

  6. Langdon, W.B., Petke, J., Lorenz, R.: Evolving better RNAfold structure prediction. In: Castelli, M., Sekanina, L., Zhang, M., Cagnoni, S., García-Sánchez, P. (eds.) EuroGP 2018. LNCS, vol. 10781, pp. 220–236. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-77553-1_14

    Chapter  Google Scholar 

  7. Andronescu, M., Bereg, V., Hoos, H.H., Condon, A.: RNA STRAND: the RNA secondary structure and statistical analysis database. BMC Bioinform. 9(1), 340 (2008). https://doi.org/10.1186/1471-2105-9-340

    Article  Google Scholar 

  8. Langdon, W.B.: Genetic improvement of programs. In: Matousek, R. (ed.) 18th International Conference on Soft Computing, MENDEL 2012. Brno University of Technology, Brno, 27–29 June 2012. Invited Keynote http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/papers/Langdon_2012_mendel.pdf

  9. Petke, J., Haraldsson, S.O., Harman, M., Langdon, W.B., White, D.R., Woodward, J.R.: Genetic improvement of software: a comprehensive survey. IEEE Trans. EC 22(3), 415–432 (2018). https://doi.org/10.1109/TEVC.2017.2693219

    Article  Google Scholar 

  10. Langdon, W.B.: Genetically improved software. In: Gandomi, A.H., Alavi, A.H., Ryan, C. (eds.) Handbook of Genetic Programming Applications, pp. 181–220. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-20883-1_8

    Chapter  Google Scholar 

  11. Langdon, W.B., Lam, Brian Y.H., Petke, J., Harman, M.: Improving CUDA DNA analysis software with genetic programming. In: Silva, S., et al. (eds.) GECCO 2015, pp. 1063–1070. ACM, Madrid, 11–15 July 2015. https://doi.org/10.1145/2739480.2754652

  12. Petke, J., Harman, M., Langdon, W.B., Weimer, W.: Specialising software for different downstream applications using genetic improvement and code transplantation. IEEE Trans. SE 44(6), 574–594 (2018). https://doi.org/10.1109/TSE.2017.2702606

    Article  Google Scholar 

  13. Koza, J.R.: Genetic Programming: On the Programming of Computers by Natural Selection. MIT Press, Cambridge (1992)

    MATH  Google Scholar 

  14. Banzhaf, W., Nordin, P., Keller, R.E., Francone, F.D.: Genetic Programming - An Introduction. Morgan Kaufmann, San Francisco (1998)

    Book  Google Scholar 

  15. Poli, R., Langdon, W.B., McPhee, N.F.: A field guide to genetic programming (2008), (With Contributions by J.R. Koza). Published via http://lulu.com and freely available at http://www.gp-field-guide.org.uk

  16. Langdon, W.B.: Genetic improvement of software for multiple objectives. In: Barros, M., Labiche, Y. (eds.) SSBSE 2015. LNCS, vol. 9275, pp. 12–28. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-22183-0_2

    Chapter  Google Scholar 

  17. Langdon, W.B.: Genetic improvement GISMOE blue software tool demo. Technical report RN/18/06, University College, London, 22 September 2018. http://www.cs.ucl.ac.uk/fileadmin/user_upload/blue.pdf

  18. Lopez-Lopez, V.R., Trujillo, L., Legrand, P.: Novelty search for software improvement of a SLAM system. In: Alexander, B., et al. (eds.) 5th Edition of GI @ GECCO 2018, pp. 1598–1605. ACM, Kyoto, 15–19 July 2018. https://doi.org/10.1145/3205651.3208237

  19. Langdon, W.B., Lam, B.Y.H., Modat, M., Petke, J., Harman, M.: Genetic improvement of GPU software. Genet. Program. Evol. Mach. 18(1), 5–44 (2017). https://doi.org/10.1007/s10710-016-9273-9

    Article  Google Scholar 

  20. Langdon, W.B.: Evolving better RNAfold C source code. Technical report RN/17/08, University College, London (2017). https://doi.org/10.1101/201640

  21. Langdon, W.B., Lam, B.Y.H.: Genetically improved BarraCUDA. BioData Min. 20(28) (2017). https://doi.org/10.1186/s13040-017-0149-1

  22. Schaffer, J.D.: Multiple objective optimization with vector evaluated genetic algorithms. In: Grefenstette, J.J. (ed.) Proceedings of an International Conference on Genetic Algorithms and the Applications, pp. 93–100. Carnegie-Mellon University, Pittsburgh, 24–26 July 1985. http://www.cs.ucl.ac.uk/staff/W.Langdon/ftp/papers/icga1985/icga85_schaffer.pdf

  23. Goldberg, D.E.: Genetic Algorithms in Search Optimization and Machine Learning. Addison-Wesley, Boston (1989)

    MATH  Google Scholar 

  24. De Jong, K.A.: An analysis of the behavior of a class of genetic adaptive systems. Ph.D. thesis, Computer and Communications Sciences, Michigan, USA (1975)

    Google Scholar 

  25. Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. EC 6(2), 182–197 (2002). https://doi.org/10.1109/4235.996017

    Article  Google Scholar 

  26. Langdon, W.B.: Genetic Programming and Data Structures. Kluwer, Boston (1998). https://doi.org/10.1007/978-1-4615-5731-9

    Book  MATH  Google Scholar 

  27. Knieper, T., Defo, B., Kaufmann, P., Platzner, M.: On robust evolution of digital hardware. In: Hinchey, M., Pagnoni, A., Rammig, F.J., Schmeck, H. (eds.) BICC 2008. ITIFIP, vol. 268, pp. 213–222. Springer, Boston (2008). https://doi.org/10.1007/978-0-387-09655-1_19

    Chapter  Google Scholar 

Download references

Acknowledgements

Funded by EPSRC grant EP/M025853/1.

GP code will be available via the author’s home page.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to William B. Langdon .

Editor information

Editors and Affiliations

Appendix

Appendix

Fig. 9.
figure 9

Starting point for evolution. C code derived from ViennaRNA (Figs. 2 and 3).Pairs of lines of code were manually added before the for loops to provide feed stock for evolution [2] but appear not to have been helpful. Instead successful changes (Fig. 4) come from the for loops themsleves.

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Langdon, W.B., Lorenz, R. (2019). Evolving AVX512 Parallel C Code Using GP. In: Sekanina, L., Hu, T., Lourenço, N., Richter, H., García-Sánchez, P. (eds) Genetic Programming. EuroGP 2019. Lecture Notes in Computer Science(), vol 11451. Springer, Cham. https://doi.org/10.1007/978-3-030-16670-0_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-16670-0_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-16669-4

  • Online ISBN: 978-3-030-16670-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics