Advertisement

Evolving AVX512 Parallel C Code Using GP

  • William B. LangdonEmail author
  • Ronny Lorenz
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11451)

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.

Keywords

RNA secondary structure prediction Genetic programming GGGP SIMD parallel computing Software engineering RCS SBSE 

Notes

Acknowledgements

Funded by EPSRC grant EP/M025853/1.

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

References

  1. 1.
    Lorenz, R., et al.: ViennaRNA Package 2.0. AMB 6(1) (2011).  https://doi.org/10.1186/1748-7188-6-26
  2. 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. 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. 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. 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.2281544CrossRefGoogle Scholar
  6. 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_14CrossRefGoogle Scholar
  7. 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-340CrossRefGoogle Scholar
  8. 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. 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.2693219CrossRefGoogle Scholar
  10. 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_8CrossRefGoogle Scholar
  11. 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. 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.2702606CrossRefGoogle Scholar
  13. 13.
    Koza, J.R.: Genetic Programming: On the Programming of Computers by Natural Selection. MIT Press, Cambridge (1992)zbMATHGoogle Scholar
  14. 14.
    Banzhaf, W., Nordin, P., Keller, R.E., Francone, F.D.: Genetic Programming - An Introduction. Morgan Kaufmann, San Francisco (1998)CrossRefGoogle Scholar
  15. 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. 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_2CrossRefGoogle Scholar
  17. 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. 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. 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-9CrossRefGoogle Scholar
  20. 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. 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. 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. 23.
    Goldberg, D.E.: Genetic Algorithms in Search Optimization and Machine Learning. Addison-Wesley, Boston (1989)zbMATHGoogle Scholar
  24. 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. 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.996017CrossRefGoogle Scholar
  26. 26.
    Langdon, W.B.: Genetic Programming and Data Structures. Kluwer, Boston (1998).  https://doi.org/10.1007/978-1-4615-5731-9CrossRefzbMATHGoogle Scholar
  27. 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_19CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Computer Science, CRESTUCLLondonUK
  2. 2.Institute for Theoretical ChemistryUniversity of ViennaViennaAustria

Personalised recommendations