Thursday 25 May 2017: Optimizing Bioinformatics Software With Genetic Programming
William Langdon - UCL
LSI Seminar Room A 14:30-15:30
Genetic Improvement (GI) uses modern search based software engineering (SBSE) techniques, often Genetic Programming (GP), to optimise existing programs. I plan to start with a very short introduction to genetic programming and then move rapidly onto modern applications of GP to improve human written code. In particular using GP to speed-up parallel applications of DNA sequence alignment written in C/C++ and nVidia's CUDA.
The current issue of "Genetic Programming and Evolvable Machines” is devoted to Genetic Improvement. It includes a survey of genetic improvement for general purpose computing on graphics cards DOI:10.1007/s10710-016-9273-9. It shows existing GI for GPGPU work falls into four themes. Experiments with growing and grafting new code with genetic programming (GGGP) in combination with human input on existing CUDA GPU code show that semi-automated approaches can give useful speed ups. In the case of BarraCUDA http://dx.doi.org/doi:10.1145/2739480.2754652 these have been adopted and the GI version, 0.7.107x, exceeds 2000 sourceforge downloads. http://seqbarracuda.sourceforge.net/